mirror of
https://github.com/chenasraf/nextcloud-pantry.git
synced 2026-05-17 17:28:01 +00:00
feat: rename files/contents
This commit is contained in:
@@ -71,8 +71,8 @@ jobs:
|
||||
- name: Upload Artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: nextcloudapptemplate.tar.gz
|
||||
path: build/artifacts/appstore/nextcloudapptemplate.tar.gz
|
||||
name: pantry.tar.gz
|
||||
path: build/artifacts/appstore/pantry.tar.gz
|
||||
|
||||
upload:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -86,18 +86,18 @@ jobs:
|
||||
- name: Download Artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: nextcloudapptemplate.tar.gz
|
||||
name: pantry.tar.gz
|
||||
|
||||
- name: Prepare Artifact Upload
|
||||
run: test -f "$PWD/nextcloudapptemplate.tar.gz"
|
||||
run: test -f "$PWD/pantry.tar.gz"
|
||||
|
||||
- name: Upload to Release
|
||||
if: ${{ needs.release.outputs.release_created }}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
mv nextcloudapptemplate.tar.gz "nextcloudapptemplate-${{ needs.release.outputs.tag_name }}.tar.gz"
|
||||
gh release upload ${{ needs.release.outputs.tag_name }} nextcloudapptemplate-${{ needs.release.outputs.tag_name }}.tar.gz
|
||||
mv pantry.tar.gz "pantry-${{ needs.release.outputs.tag_name }}.tar.gz"
|
||||
gh release upload ${{ needs.release.outputs.tag_name }} pantry-${{ needs.release.outputs.tag_name }}.tar.gz
|
||||
|
||||
release-nextcloud:
|
||||
name: Release to Nextcloud Apps
|
||||
@@ -115,7 +115,7 @@ jobs:
|
||||
echo "Private key not provided"
|
||||
exit 1
|
||||
fi
|
||||
echo -n "${{ secrets.NEXTCLOUD_APP_PRIVATE_KEY }}" > ~/.nextcloud/certificates/nextcloudapptemplate.key
|
||||
echo -n "${{ secrets.NEXTCLOUD_APP_PRIVATE_KEY }}" > ~/.nextcloud/certificates/pantry.key
|
||||
|
||||
- name: Release to Nextcloud Apps
|
||||
if: ${{ needs.release.outputs.release_created }}
|
||||
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: Your Name <your@email.com>
|
||||
# SPDX-FileCopyrightText: Chen Asraf <contact@casraf.dev>
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
name: Vitest
|
||||
@@ -2,8 +2,8 @@
|
||||
host = https://www.transifex.com
|
||||
lang_map = hu_HU: hu, nb_NO: nb, sk_SK: sk, th_TH: th, ja_JP: ja, bg_BG: bg, cs_CZ: cs, fi_FI: fi, he_IL: he, ar_AR: ar
|
||||
|
||||
[o:nextcloud:p:nextcloud:r:nextcloudapptemplate]
|
||||
file_filter = translationfiles/<lang>/nextcloudapptemplate.po
|
||||
source_file = translationfiles/templates/nextcloudapptemplate.pot
|
||||
[o:nextcloud:p:nextcloud:r:pantry]
|
||||
file_filter = translationfiles/<lang>/pantry.po
|
||||
source_file = translationfiles/templates/pantry.pot
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
name: Bug Report
|
||||
description: Report a bug or issue with the NextcloudAppTemplate app
|
||||
description: Report a bug or issue with the Pantry app
|
||||
labels: ["bug"]
|
||||
body:
|
||||
- type: markdown
|
||||
@@ -59,8 +59,8 @@ body:
|
||||
- type: input
|
||||
id: app-version
|
||||
attributes:
|
||||
label: NextcloudAppTemplate App Version
|
||||
description: What version of the NextcloudAppTemplate app are you using?
|
||||
label: Pantry App Version
|
||||
description: What version of the Pantry app are you using?
|
||||
placeholder: e.g., 1.0.0
|
||||
validations:
|
||||
required: true
|
||||
@@ -108,21 +108,21 @@ body:
|
||||
description: |
|
||||
**How to check migration status:**
|
||||
|
||||
This shows which database migrations have been executed for the NextcloudAppTemplate app.
|
||||
This shows which database migrations have been executed for the Pantry app.
|
||||
|
||||
**For Docker installations:**
|
||||
```bash
|
||||
docker exec --user www-data -i nextcloud-aio-nextcloud php occ migrations:status nextcloudapptemplate
|
||||
docker exec --user www-data -i nextcloud-aio-nextcloud php occ migrations:status pantry
|
||||
```
|
||||
|
||||
**For standard installations:**
|
||||
```bash
|
||||
php occ migrations:status nextcloudapptemplate
|
||||
php occ migrations:status pantry
|
||||
```
|
||||
|
||||
Or from the Nextcloud directory:
|
||||
```bash
|
||||
sudo -u www-data php occ migrations:status nextcloudapptemplate
|
||||
sudo -u www-data php occ migrations:status pantry
|
||||
```
|
||||
placeholder: Paste the migration status output here...
|
||||
render: shell
|
||||
@@ -134,25 +134,25 @@ body:
|
||||
description: |
|
||||
**How to get server logs:**
|
||||
|
||||
Look for errors related to the NextcloudAppTemplate app (last 20-50 lines recommended).
|
||||
Look for errors related to the Pantry app (last 20-50 lines recommended).
|
||||
|
||||
**Via Web UI:**
|
||||
- Go to Nextcloud Settings → Administration → Logging (or `/settings/admin/logging`)
|
||||
- Look for entries containing "nextcloudapptemplate"
|
||||
- Look for entries containing "pantry"
|
||||
|
||||
**For Docker installations:**
|
||||
```bash
|
||||
docker exec --user www-data -i nextcloud-aio-nextcloud tail -100 /var/www/html/data/nextcloud.log | grep -i nextcloudapptemplate
|
||||
docker exec --user www-data -i nextcloud-aio-nextcloud tail -100 /var/www/html/data/nextcloud.log | grep -i pantry
|
||||
```
|
||||
|
||||
**For standard installations:**
|
||||
```bash
|
||||
tail -100 /path/to/nextcloud/data/nextcloud.log | grep -i nextcloudapptemplate
|
||||
tail -100 /path/to/nextcloud/data/nextcloud.log | grep -i pantry
|
||||
```
|
||||
|
||||
Or from the Nextcloud directory:
|
||||
```bash
|
||||
sudo -u www-data tail -100 data/nextcloud.log | grep -i nextcloudapptemplate
|
||||
sudo -u www-data tail -100 data/nextcloud.log | grep -i pantry
|
||||
```
|
||||
placeholder: Paste Nextcloud server logs here...
|
||||
render: shell
|
||||
@@ -166,7 +166,7 @@ body:
|
||||
1. Open the page where the issue occurs
|
||||
2. Press **F12** (or right-click → Inspect → Console tab)
|
||||
3. Look for red error messages
|
||||
4. Copy any errors related to the NextcloudAppTemplate app
|
||||
4. Copy any errors related to the Pantry app
|
||||
|
||||
**Tip:** You can right-click on an error and select "Copy message" or "Copy stack trace"
|
||||
placeholder: Paste browser console errors here...
|
||||
@@ -184,13 +184,13 @@ body:
|
||||
4. Look for failed requests (shown in red or with 4xx/5xx status codes)
|
||||
5. Click on the failed request
|
||||
6. Copy the following information:
|
||||
- **Request URL** (e.g., `/apps/nextcloudapptemplate/api/...`)
|
||||
- **Request URL** (e.g., `/apps/pantry/api/...`)
|
||||
- **Status Code** (e.g., 500, 404, 403)
|
||||
- **Response** tab content (the error message/data returned)
|
||||
|
||||
**Example format:**
|
||||
```
|
||||
Request: POST /apps/nextcloudapptemplate/api/...
|
||||
Request: POST /apps/pantry/api/...
|
||||
Status: 500 Internal Server Error
|
||||
Response: {"error": "Database connection failed"}
|
||||
```
|
||||
|
||||
@@ -4,5 +4,5 @@ contact_links:
|
||||
url: https://help.nextcloud.com
|
||||
about: Ask questions and get help from the Nextcloud community
|
||||
- name: Security Issue
|
||||
url: https://github.com/chenasraf/nextcloud-nextcloudapptemplate/security/advisories/new
|
||||
url: https://github.com/chenasraf/nextcloud-pantry/security/advisories/new
|
||||
about: Report a security vulnerability privately
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
name: Feature Request
|
||||
description: Suggest a new feature or enhancement for the NextcloudAppTemplate app
|
||||
description: Suggest a new feature or enhancement for the Pantry app
|
||||
labels: ["enhancement"]
|
||||
body:
|
||||
- type: markdown
|
||||
|
||||
6
Makefile
6
Makefile
@@ -1,7 +1,7 @@
|
||||
# SPDX-FileCopyrightText: Bernhard Posselt <dev@bernhard-posselt.com>
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
#
|
||||
# NextcloudAppTemplate — Makefile
|
||||
# Pantry — Makefile
|
||||
# ---------------------------------
|
||||
# A friendly, batteries-included Makefile for building and packaging a Nextcloud app
|
||||
# that uses pnpm (JS) and Composer (PHP).
|
||||
@@ -26,8 +26,8 @@
|
||||
# make release → upload release to Nextcloud App Store
|
||||
#
|
||||
|
||||
app_name=nextcloudapptemplate
|
||||
repo_path=your-user/nextcloud-$(app_name)
|
||||
app_name=pantry
|
||||
repo_path=chenasraf/nextcloud-$(app_name)
|
||||
build_tools_directory=$(CURDIR)/build/tools
|
||||
source_build_directory=$(CURDIR)/build/artifacts/source
|
||||
source_intermediate_directory=$(CURDIR)/build/artifacts/intermediate-source/$(app_name)
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Your Name <your@email.com>
|
||||
SPDX-FileCopyrightText: Chen Asraf <contact@casraf.dev>
|
||||
SPDX-License-Identifier: CC0-1.0
|
||||
-->
|
||||
|
||||
# Nextcloud App Template
|
||||
# Pantry
|
||||
|
||||
This is a starter template for a Nextcloud app, using Vue 3 with Vite as frontend.
|
||||
|
||||
|
||||
@@ -1,41 +1,41 @@
|
||||
<?xml version="1.0"?>
|
||||
<info xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://apps.nextcloud.com/schema/apps/info.xsd">
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Your Name <your@email.com>
|
||||
SPDX-FileCopyrightText: Chen Asraf <contact@casraf.dev>
|
||||
SPDX-License-Identifier: CC0-1.0
|
||||
-->
|
||||
<id>nextcloudapptemplate</id>
|
||||
<name>Nextcloud App Template</name>
|
||||
<id>pantry</id>
|
||||
<name>Pantry</name>
|
||||
<summary>Enter your app summary here.</summary>
|
||||
<description><![CDATA[
|
||||
Enter your app description here.
|
||||
]]></description>
|
||||
<version>1.0.0</version>
|
||||
<licence>agpl</licence>
|
||||
<author mail="your@email.com" homepage="https://your.website">Your Name</author>
|
||||
<namespace>NextcloudAppTemplate</namespace>
|
||||
<author mail="contact@casraf.dev" homepage="https://github.com/chenasraf/nextcloud-pantry">Chen Asraf</author>
|
||||
<namespace>Pantry</namespace>
|
||||
<documentation>
|
||||
<user>https://github.com/your-user/nextcloud-nextcloudapptemplate/blob/master/README.md</user>
|
||||
<admin>https://github.com/your-user/nextcloud-nextcloudapptemplate#installation</admin>
|
||||
<developer>https://github.com/your-user/nextcloud-nextcloudapptemplate#development</developer>
|
||||
<user>https://github.com/chenasraf/nextcloud-pantry/blob/master/README.md</user>
|
||||
<admin>https://github.com/chenasraf/nextcloud-pantry#installation</admin>
|
||||
<developer>https://github.com/chenasraf/nextcloud-pantry#development</developer>
|
||||
</documentation>
|
||||
<category>organization</category>
|
||||
<category>tools</category>
|
||||
<website>https://github.com/your-user/nextcloud-nextcloudapptemplate</website>
|
||||
<bugs>https://github.com/your-user/nextcloud-nextcloudapptemplate/issues</bugs>
|
||||
<repository>https://github.com/your-user/nextcloud-nextcloudapptemplate</repository>
|
||||
<screenshot>https://raw.githubusercontent.com/your-user/nextcloud-nextcloudapptemplate/refs/heads/master/promo.png</screenshot>
|
||||
<website>https://github.com/chenasraf/nextcloud-pantry</website>
|
||||
<bugs>https://github.com/chenasraf/nextcloud-pantry/issues</bugs>
|
||||
<repository>https://github.com/chenasraf/nextcloud-pantry</repository>
|
||||
<screenshot>https://raw.githubusercontent.com/chenasraf/nextcloud-pantry/refs/heads/master/promo.png</screenshot>
|
||||
<dependencies>
|
||||
<nextcloud min-version="29" max-version="32"/>
|
||||
</dependencies>
|
||||
<settings>
|
||||
<admin>OCA\NextcloudAppTemplate\Settings\Admin</admin>
|
||||
<admin-section>OCA\NextcloudAppTemplate\Sections\Admin</admin-section>
|
||||
<admin>OCA\Pantry\Settings\Admin</admin>
|
||||
<admin-section>OCA\Pantry\Sections\Admin</admin-section>
|
||||
</settings>
|
||||
<navigations>
|
||||
<navigation role="all">
|
||||
<name>Nextcloud App Template</name>
|
||||
<route>nextcloudapptemplate.page.index</route>
|
||||
<name>Pantry</name>
|
||||
<route>pantry.page.index</route>
|
||||
<icon>app.svg</icon>
|
||||
<order>6</order>
|
||||
</navigation>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
// SPDX-FileCopyrightText: Your Name <your@email.com>
|
||||
// SPDX-FileCopyrightText: Chen Asraf <contact@casraf.dev>
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
//
|
||||
declare(strict_types=1);
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
// SPDX-FileCopyrightText: Your Name <your@email.com>
|
||||
// SPDX-FileCopyrightText: Chen Asraf <contact@casraf.dev>
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
namespace OCA\NextcloudAppTemplate\Controller;
|
||||
namespace OCA\Pantry\Controller;
|
||||
|
||||
use OCP\AppFramework\Http;
|
||||
use OCP\AppFramework\Http\Attribute\ApiRoute;
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
// SPDX-FileCopyrightText: Your Name <your@email.com>
|
||||
// SPDX-FileCopyrightText: Chen Asraf <contact@casraf.dev>
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
namespace OCA\NextcloudAppTemplate\Command;
|
||||
namespace OCA\Pantry\Command;
|
||||
|
||||
use Symfony\Component\Console\Command\Command;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: Your Name <your@email.com>
|
||||
// SPDX-FileCopyrightText: Chen Asraf <contact@casraf.dev>
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Your Name <your@email.com>
|
||||
SPDX-FileCopyrightText: Chen Asraf <contact@casraf.dev>
|
||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
-->
|
||||
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
// SPDX-FileCopyrightText: Your Name <your@email.com>
|
||||
// SPDX-FileCopyrightText: Chen Asraf <contact@casraf.dev>
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
namespace OCA\NextcloudAppTemplate\Migration;
|
||||
namespace OCA\Pantry\Migration;
|
||||
|
||||
use Closure;
|
||||
use OCP\DB\ISchemaWrapper;
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
// SPDX-FileCopyrightText: Your Name <your@email.com>
|
||||
// SPDX-FileCopyrightText: Chen Asraf <contact@casraf.dev>
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
namespace OCA\NextcloudAppTemplate\Db;
|
||||
namespace OCA\Pantry\Db;
|
||||
|
||||
use JsonSerializable;
|
||||
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
// SPDX-FileCopyrightText: Your Name <your@email.com>
|
||||
// SPDX-FileCopyrightText: Chen Asraf <contact@casraf.dev>
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
namespace OCA\NextcloudAppTemplate\Db;
|
||||
namespace OCA\Pantry\Db;
|
||||
|
||||
use OCA\NextcloudAppTemplate\AppInfo\Application;
|
||||
use OCA\Pantry\AppInfo\Application;
|
||||
use OCP\AppFramework\Db\DoesNotExistException;
|
||||
use OCP\AppFramework\Db\QBMapper;
|
||||
use OCP\DB\QueryBuilder\IQueryBuilder;
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
// SPDX-FileCopyrightText: Your Name <your@email.com>
|
||||
// SPDX-FileCopyrightText: Chen Asraf <contact@casraf.dev>
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
namespace OCA\NextcloudAppTemplate\Service;
|
||||
namespace OCA\Pantry\Service;
|
||||
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
// SPDX-FileCopyrightText: Your Name <your@email.com>
|
||||
// SPDX-FileCopyrightText: Chen Asraf <contact@casraf.dev>
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
namespace OCA\NextcloudAppTemplate\Cron;
|
||||
namespace OCA\Pantry\Cron;
|
||||
|
||||
use OCP\AppFramework\Utility\ITimeFactory;
|
||||
use OCP\BackgroundJob\QueuedJob;
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
// SPDX-FileCopyrightText: Your Name <your@email.com>
|
||||
// SPDX-FileCopyrightText: Chen Asraf <contact@casraf.dev>
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
namespace OCA\NextcloudAppTemplate\Cron;
|
||||
namespace OCA\Pantry\Cron;
|
||||
|
||||
use OCP\AppFramework\Utility\ITimeFactory;
|
||||
use OCP\BackgroundJob\TimedJob;
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
// SPDX-FileCopyrightText: Your Name <your@email.com>
|
||||
// SPDX-FileCopyrightText: Chen Asraf <contact@casraf.dev>
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
namespace OCA\NextcloudAppTemplate\Util;
|
||||
namespace OCA\Pantry\Util;
|
||||
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: Your Name <your@email.com>
|
||||
SPDX-FileCopyrightText: Chen Asraf <contact@casraf.dev>
|
||||
SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
-->
|
||||
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
// SPDX-FileCopyrightText: Your Name <your@email.com>
|
||||
// SPDX-FileCopyrightText: Chen Asraf <contact@casraf.dev>
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
namespace OCA\NextcloudAppTemplate\AppInfo;
|
||||
namespace OCA\Pantry\AppInfo;
|
||||
|
||||
use OCP\AppFramework\App;
|
||||
use OCP\AppFramework\Bootstrap\IBootContext;
|
||||
@@ -13,7 +13,7 @@ use OCP\AppFramework\Bootstrap\IBootstrap;
|
||||
use OCP\AppFramework\Bootstrap\IRegistrationContext;
|
||||
|
||||
class Application extends App implements IBootstrap {
|
||||
public const APP_ID = 'nextcloudapptemplate';
|
||||
public const APP_ID = 'pantry';
|
||||
public const DIST_DIR = '../dist';
|
||||
public const JS_DIR = self::DIST_DIR . '/js';
|
||||
public const CSS_DIR = self::DIST_DIR . '/css';
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
// SPDX-FileCopyrightText: Your Name <your@email.com>
|
||||
// SPDX-FileCopyrightText: Chen Asraf <contact@casraf.dev>
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
namespace OCA\NextcloudAppTemplate\Controller;
|
||||
namespace OCA\Pantry\Controller;
|
||||
|
||||
use OCA\NextcloudAppTemplate\AppInfo;
|
||||
use OCA\Pantry\AppInfo;
|
||||
use OCP\AppFramework\Http;
|
||||
use OCP\AppFramework\Http\Attribute\ApiRoute;
|
||||
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OCA\NextcloudAppTemplate\Controller;
|
||||
namespace OCA\Pantry\Controller;
|
||||
|
||||
use OCA\NextcloudAppTemplate\AppInfo\Application;
|
||||
use OCA\Pantry\AppInfo\Application;
|
||||
use OCP\AppFramework\Controller;
|
||||
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
|
||||
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
// SPDX-FileCopyrightText: Your Name <your@email.com>
|
||||
// SPDX-FileCopyrightText: Chen Asraf <contact@casraf.dev>
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
namespace OCA\NextcloudAppTemplate\Sections;
|
||||
namespace OCA\Pantry\Sections;
|
||||
|
||||
use OCA\NextcloudAppTemplate\AppInfo;
|
||||
use OCA\Pantry\AppInfo;
|
||||
use OCP\IL10N;
|
||||
use OCP\IURLGenerator;
|
||||
use OCP\Settings\IIconSection;
|
||||
@@ -30,7 +30,7 @@ class Admin implements IIconSection {
|
||||
}
|
||||
|
||||
public function getName(): string {
|
||||
return $this->l->t('Nextcloud App Template');
|
||||
return $this->l->t('Pantry');
|
||||
}
|
||||
|
||||
public function getPriority(): int {
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
// SPDX-FileCopyrightText: Your Name <your@email.com>
|
||||
// SPDX-FileCopyrightText: Chen Asraf <contact@casraf.dev>
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
namespace OCA\NextcloudAppTemplate\Settings;
|
||||
namespace OCA\Pantry\Settings;
|
||||
|
||||
use OCA\NextcloudAppTemplate\AppInfo\Application;
|
||||
use OCA\Pantry\AppInfo\Application;
|
||||
use OCP\AppFramework\Http\TemplateResponse;
|
||||
use OCP\IAppConfig;
|
||||
use OCP\IL10N;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"openapi": "3.0.3",
|
||||
"info": {
|
||||
"title": "nextcloudapptemplate",
|
||||
"title": "pantry",
|
||||
"version": "0.0.1",
|
||||
"description": "Enter your app summary here.",
|
||||
"license": {
|
||||
@@ -47,7 +47,7 @@
|
||||
}
|
||||
},
|
||||
"paths": {
|
||||
"/ocs/v2.php/apps/nextcloudapptemplate/api/hello": {
|
||||
"/ocs/v2.php/apps/pantry/api/hello": {
|
||||
"get": {
|
||||
"operationId": "api-get-hello",
|
||||
"summary": "GET /api/hello",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "nextcloudapptemplate",
|
||||
"name": "pantry",
|
||||
"version": "0.0.0",
|
||||
"license": "AGPL-3.0-or-later",
|
||||
"type": "module",
|
||||
|
||||
@@ -1,144 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# Replace template names in all text files under the current directory.
|
||||
# Prompts for target names and replaces these sources:
|
||||
# $SOURCE_PACKAGE -> <kebab-case input>
|
||||
# $SOURCE_PASCAL -> <PascalCase input>
|
||||
# $SOURCE_USER -> <username input> (default: your-user)
|
||||
# $SOURCE_FULL -> <full-name input> (default: Your Name)
|
||||
#
|
||||
# Defaults (override via env before running):
|
||||
# SOURCE_PACKAGE=nextcloudapptemplate
|
||||
# SOURCE_PASCAL=NextcloudAppTemplate
|
||||
# SOURCE_USER=your-user
|
||||
# SOURCE_FULL=Your Name
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# --- Resolve absolute path to this script (portable) ---
|
||||
abs_path() { perl -MCwd=abs_path -e 'print abs_path(shift)' "$1"; }
|
||||
SCRIPT_ABS="$(abs_path "$0")"
|
||||
|
||||
SOURCE_PACKAGE="${SOURCE_PACKAGE:-nextcloudapptemplate}"
|
||||
SOURCE_APPNAME="${SOURCE_APPNAME:-Nextcloud App Template}"
|
||||
SOURCE_PASCAL="${SOURCE_PASCAL:-NextcloudAppTemplate}"
|
||||
SOURCE_USER="${SOURCE_USER:-your-user}"
|
||||
SOURCE_FULL="${SOURCE_FULL:-Your Name}"
|
||||
SOURCE_EMAIL="${SOURCE_EMAIL:-your@email.com}"
|
||||
SOURCE_WEBSITE="${SOURCE_WEBSITE:-https://your.website}"
|
||||
|
||||
printf "Enter package name (e.g., mynextcloudapp): "
|
||||
IFS= read PACKAGE
|
||||
printf "Enter app name (e.g., My Nextcloud App): "
|
||||
IFS= read APPNAME
|
||||
printf "Enter PascalCase name (e.g., MyNextcloudApp): "
|
||||
IFS= read PASCAL
|
||||
printf "Enter GitHub username (e.g., myUsername): "
|
||||
IFS= read DEST_USER
|
||||
printf "Enter full name (e.g., My Full Name): "
|
||||
IFS= read DEST_FULL
|
||||
printf "Enter email (e.g., myemail@example.com): "
|
||||
IFS= read DEST_EMAIL
|
||||
printf "Enter website (e.g., https://mywebsite.com): "
|
||||
IFS= read DEST_WEBSITE
|
||||
|
||||
if [[ -z "${PACKAGE}" || -z "${APPNAME}" || -z "${PASCAL}" || -z "${DEST_USER}" || -z "${DEST_FULL}" || -z "${DEST_EMAIL}" || -z "${DEST_WEBSITE}" ]]; then
|
||||
echo "All values are required." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Replacing:"
|
||||
echo " ${SOURCE_PACKAGE} -> ${PACKAGE}"
|
||||
echo " ${SOURCE_APPNAME} -> ${APPNAME}"
|
||||
echo " ${SOURCE_PASCAL} -> ${PASCAL}"
|
||||
echo " ${SOURCE_USER} -> ${DEST_USER}"
|
||||
echo " ${SOURCE_FULL} -> ${DEST_FULL}"
|
||||
echo " ${SOURCE_EMAIL} -> ${DEST_EMAIL}"
|
||||
echo " ${SOURCE_WEBSITE} -> ${DEST_WEBSITE}"
|
||||
echo
|
||||
|
||||
changed=0
|
||||
checked=0
|
||||
|
||||
# Folders to skip
|
||||
SKIP_DIRS=(
|
||||
"*/.git/*"
|
||||
"*/node_modules/*"
|
||||
"*/vendor/*"
|
||||
"*/dist/*"
|
||||
"*/build/*"
|
||||
"*/.next/*"
|
||||
"*/.pnpm-store/*"
|
||||
"*/.cache/*"
|
||||
)
|
||||
|
||||
# Build the find prune expression
|
||||
PRUNE_EXPR=()
|
||||
for d in "${SKIP_DIRS[@]}"; do
|
||||
PRUNE_EXPR+=(-path "$d" -o)
|
||||
done
|
||||
unset 'PRUNE_EXPR[${#PRUNE_EXPR[@]}-1]'
|
||||
|
||||
# Export for Perl
|
||||
export PACKAGE PASCAL DEST_USER DEST_FULL SOURCE_PACKAGE SOURCE_PASCAL SOURCE_USER SOURCE_FULL SOURCE_EMAIL DEST_EMAIL SOURCE_WEBSITE DEST_WEBSITE SOURCE_APPNAME APPNAME
|
||||
|
||||
# Iterate files safely (null-delimited), skip binaries, replace in place with perl
|
||||
while IFS= read -r -d '' file; do
|
||||
[[ -f "$file" ]] || continue
|
||||
|
||||
# Skip this script itself
|
||||
FILE_ABS="$(abs_path "$file")"
|
||||
if [[ "$FILE_ABS" == "$SCRIPT_ABS" ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
# Skip binary files
|
||||
if ! LC_ALL=C grep -Iq . "$file"; then
|
||||
continue
|
||||
fi
|
||||
|
||||
checked=$((checked + 1))
|
||||
|
||||
perl -0777 -i.bak -pe '
|
||||
BEGIN {
|
||||
$src_k = $ENV{SOURCE_PACKAGE};
|
||||
$src_a = $ENV{SOURCE_APPNAME};
|
||||
$src_p = $ENV{SOURCE_PASCAL};
|
||||
$src_u = $ENV{SOURCE_USER};
|
||||
$src_f = $ENV{SOURCE_FULL};
|
||||
$src_e = $ENV{SOURCE_EMAIL};
|
||||
$src_w = $ENV{SOURCE_WEBSITE};
|
||||
|
||||
$dst_k = $ENV{PACKAGE};
|
||||
$dst_a = $ENV{APPNAME};
|
||||
$dst_p = $ENV{PASCAL};
|
||||
$dst_u = $ENV{DEST_USER};
|
||||
$dst_f = $ENV{DEST_FULL};
|
||||
$dst_e = $ENV{DEST_EMAIL};
|
||||
$dst_w = $ENV{DEST_WEBSITE};
|
||||
}
|
||||
s/\Q$src_k\E/$dst_k/g;
|
||||
s/\Q$src_a\E/$dst_a/g;
|
||||
s/\Q$src_p\E/$dst_p/g;
|
||||
s/\Q$src_u\E/$dst_u/g;
|
||||
s/\Q$src_f\E/$dst_f/g;
|
||||
s/\Q$src_e\E/$dst_e/g;
|
||||
s/\Q$src_w\E/$dst_w/g;
|
||||
' -- "$file"
|
||||
|
||||
if ! cmp -s "$file" "$file.bak"; then
|
||||
changed=$((changed + 1))
|
||||
echo "Updated: $file"
|
||||
fi
|
||||
|
||||
rm -f -- "$file.bak"
|
||||
done < <(find . \( "${PRUNE_EXPR[@]}" \) -prune -o -type f -print0)
|
||||
|
||||
echo
|
||||
echo "Checked $checked text file(s). Updated $changed file(s). ✅"
|
||||
|
||||
if [ -d ".github/workflows.template" ]; then
|
||||
echo "Moving .github/workflows.template to .github/workflows"
|
||||
mkdir -p .github/workflows
|
||||
git mv .github/workflows.template/* .github/workflows/ 2>/dev/null || mv .github/workflows.template/* .github/workflows/
|
||||
rmdir .github/workflows.template 2>/dev/null || true
|
||||
fi
|
||||
18
src/App.vue
18
src/App.vue
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<NcContent app-name="nextcloudapptemplate">
|
||||
<NcContent app-name="pantry">
|
||||
<!-- Left sidebar -->
|
||||
<NcAppNavigation>
|
||||
<template #search>
|
||||
@@ -98,21 +98,21 @@ export default {
|
||||
searchValue: '',
|
||||
isRouterLoading: false,
|
||||
// Mount path for this app section; adjust to your mount.
|
||||
basePath: '/apps/nextcloudapptemplate',
|
||||
basePath: '/apps/pantry',
|
||||
strings: {
|
||||
title: t('nextcloudapptemplate', 'Hello World — App'),
|
||||
title: t('pantry', 'Hello World — App'),
|
||||
subtitle: t(
|
||||
'nextcloudapptemplate',
|
||||
'pantry',
|
||||
'Use the sidebar to navigate between views. Backend calls use {cStart}axios{cEnd} and OCS responses.',
|
||||
{ cStart: '<code>', cEnd: '</code>' },
|
||||
undefined,
|
||||
{ escape: false },
|
||||
),
|
||||
searchLabel: t('nextcloudapptemplate', 'Search'),
|
||||
searchPlaceholder: t('nextcloudapptemplate', 'Type to filter…'),
|
||||
navHome: t('nextcloudapptemplate', 'Home'),
|
||||
navExamples: t('nextcloudapptemplate', 'Examples'),
|
||||
navAbout: t('nextcloudapptemplate', 'About'),
|
||||
searchLabel: t('pantry', 'Search'),
|
||||
searchPlaceholder: t('pantry', 'Type to filter…'),
|
||||
navHome: t('pantry', 'Home'),
|
||||
navExamples: t('pantry', 'Examples'),
|
||||
navAbout: t('pantry', 'About'),
|
||||
},
|
||||
_removeBeforeEach: null,
|
||||
_removeAfterEach: null,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div id="nextcloudapptemplate-content" class="section">
|
||||
<div id="pantry-content" class="section">
|
||||
<h2>{{ strings.title }}</h2>
|
||||
|
||||
<!-- Information / quick start -->
|
||||
@@ -161,10 +161,10 @@ export default {
|
||||
// Example: select with label <-> value mapping (like your intervals)
|
||||
themeLabel: null,
|
||||
themeOptions: [
|
||||
{ label: t('nextcloudapptemplate', 'Light'), value: 'light' },
|
||||
{ label: t('nextcloudapptemplate', 'Dark'), value: 'dark' },
|
||||
{ label: t('pantry', 'Light'), value: 'light' },
|
||||
{ label: t('pantry', 'Dark'), value: 'dark' },
|
||||
{
|
||||
label: n('nextcloudapptemplate', 'System (1 option)', 'System (%n options)', 2),
|
||||
label: n('pantry', 'System (1 option)', 'System (%n options)', 2),
|
||||
value: 'system',
|
||||
},
|
||||
],
|
||||
@@ -183,15 +183,15 @@ export default {
|
||||
// All user-visible strings go here
|
||||
strings: {
|
||||
// Titles / headers
|
||||
title: t('nextcloudapptemplate', 'Hello World — App Template'),
|
||||
infoTitle: t('nextcloudapptemplate', 'Information'),
|
||||
examplesHeader: t('nextcloudapptemplate', 'Quick Examples'),
|
||||
itemsHeader: t('nextcloudapptemplate', 'Editable List'),
|
||||
backendHeader: t('nextcloudapptemplate', 'Backend Calls'),
|
||||
title: t('pantry', 'Hello World — App Template'),
|
||||
infoTitle: t('pantry', 'Information'),
|
||||
examplesHeader: t('pantry', 'Quick Examples'),
|
||||
itemsHeader: t('pantry', 'Editable List'),
|
||||
backendHeader: t('pantry', 'Backend Calls'),
|
||||
|
||||
// Info
|
||||
infoIntro: t(
|
||||
'nextcloudapptemplate',
|
||||
'pantry',
|
||||
'This view shows {bStart}small, focused examples{bEnd} for inputs, lists, selections, and backend calls.',
|
||||
{ bStart: '<b>', bEnd: '</b>' },
|
||||
undefined,
|
||||
@@ -200,21 +200,21 @@ export default {
|
||||
|
||||
gettingStartedList: [
|
||||
t(
|
||||
'nextcloudapptemplate',
|
||||
'pantry',
|
||||
'Import UI parts from {cStart}@nextcloud/vue{cEnd} and wire them with {cStart}v-model{cEnd}.',
|
||||
{ cStart: '<code>', cEnd: '</code>' },
|
||||
undefined,
|
||||
{ escape: false },
|
||||
),
|
||||
t(
|
||||
'nextcloudapptemplate',
|
||||
'pantry',
|
||||
'Use {cStart}axios{cEnd} for API calls; return OCS data as needed.',
|
||||
{ cStart: '<code>', cEnd: '</code>' },
|
||||
undefined,
|
||||
{ escape: false },
|
||||
),
|
||||
t(
|
||||
'nextcloudapptemplate',
|
||||
'pantry',
|
||||
'Keep user-facing text in a central {cStart}strings{cEnd} object with {cStart}t/n{cEnd}.',
|
||||
{ cStart: '<code>', cEnd: '</code>' },
|
||||
undefined,
|
||||
@@ -223,7 +223,7 @@ export default {
|
||||
],
|
||||
|
||||
tipsNote: t(
|
||||
'nextcloudapptemplate',
|
||||
'pantry',
|
||||
'Pro tip: keep labels in {cStart}label{cEnd} and values in {cStart}value{cEnd} to simplify mapping.',
|
||||
{ cStart: '<code>', cEnd: '</code>' },
|
||||
undefined,
|
||||
@@ -231,40 +231,40 @@ export default {
|
||||
),
|
||||
|
||||
// Name example
|
||||
nameInputHeader: t('nextcloudapptemplate', 'Your Name'),
|
||||
nameInputLabel: t('nextcloudapptemplate', 'Name'),
|
||||
nameInputPlaceholder: t('nextcloudapptemplate', 'e.g. Ada Lovelace'),
|
||||
livePreview: t('nextcloudapptemplate', 'Live preview:'),
|
||||
nameInputHeader: t('pantry', 'Chen Asraf'),
|
||||
nameInputLabel: t('pantry', 'Name'),
|
||||
nameInputPlaceholder: t('pantry', 'e.g. Ada Lovelace'),
|
||||
livePreview: t('pantry', 'Live preview:'),
|
||||
|
||||
// Theme example
|
||||
themeHeader: t('nextcloudapptemplate', 'Theme'),
|
||||
themeLabel: t('nextcloudapptemplate', 'Choose a theme'),
|
||||
themePreview: t('nextcloudapptemplate', 'Active value:'),
|
||||
themeHeader: t('pantry', 'Theme'),
|
||||
themeLabel: t('pantry', 'Choose a theme'),
|
||||
themePreview: t('pantry', 'Active value:'),
|
||||
|
||||
// Counter example
|
||||
counterHeader: t('nextcloudapptemplate', 'Counter'),
|
||||
plus: t('nextcloudapptemplate', '+1'),
|
||||
minus: t('nextcloudapptemplate', '-1'),
|
||||
counterHeader: t('pantry', 'Counter'),
|
||||
plus: t('pantry', '+1'),
|
||||
minus: t('pantry', '-1'),
|
||||
|
||||
// Items table
|
||||
newItemLabel: t('nextcloudapptemplate', 'New item'),
|
||||
newItemPlaceholder: t('nextcloudapptemplate', 'e.g. Hello item'),
|
||||
add: t('nextcloudapptemplate', 'Add'),
|
||||
clear: t('nextcloudapptemplate', 'Clear'),
|
||||
tableItem: t('nextcloudapptemplate', 'Item'),
|
||||
tableActions: t('nextcloudapptemplate', 'Actions'),
|
||||
editItemAria: t('nextcloudapptemplate', 'Edit item'),
|
||||
duplicate: t('nextcloudapptemplate', 'Duplicate'),
|
||||
remove: t('nextcloudapptemplate', 'Remove'),
|
||||
noItems: t('nextcloudapptemplate', 'No items yet'),
|
||||
newItemLabel: t('pantry', 'New item'),
|
||||
newItemPlaceholder: t('pantry', 'e.g. Hello item'),
|
||||
add: t('pantry', 'Add'),
|
||||
clear: t('pantry', 'Clear'),
|
||||
tableItem: t('pantry', 'Item'),
|
||||
tableActions: t('pantry', 'Actions'),
|
||||
editItemAria: t('pantry', 'Edit item'),
|
||||
duplicate: t('pantry', 'Duplicate'),
|
||||
remove: t('pantry', 'Remove'),
|
||||
noItems: t('pantry', 'No items yet'),
|
||||
|
||||
// Backend
|
||||
fetchHello: t('nextcloudapptemplate', 'Fetch Hello'),
|
||||
save: t('nextcloudapptemplate', 'Save'),
|
||||
loading: t('nextcloudapptemplate', 'Loading…'),
|
||||
lastHelloAt: t('nextcloudapptemplate', 'Last hello at:'),
|
||||
never: t('nextcloudapptemplate', 'Never'),
|
||||
serverSaid: t('nextcloudapptemplate', 'Server said:'),
|
||||
fetchHello: t('pantry', 'Fetch Hello'),
|
||||
save: t('pantry', 'Save'),
|
||||
loading: t('pantry', 'Loading…'),
|
||||
lastHelloAt: t('pantry', 'Last hello at:'),
|
||||
never: t('pantry', 'Never'),
|
||||
serverSaid: t('pantry', 'Server said:'),
|
||||
},
|
||||
}
|
||||
},
|
||||
@@ -359,7 +359,7 @@ function cryptoRandom() {
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
#nextcloudapptemplate-content {
|
||||
#pantry-content {
|
||||
h2:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
@@ -4,6 +4,6 @@ import { createApp } from 'vue'
|
||||
import { http } from './axios'
|
||||
import router from './router'
|
||||
|
||||
console.log('[DEBUG] Mounting NextcloudAppTemplate app')
|
||||
console.log('[DEBUG] Mounting Pantry app')
|
||||
console.log('[DEBUG] Base URL:', http.defaults.baseURL)
|
||||
createApp(App).use(router).mount('#nextcloudapptemplate-app')
|
||||
createApp(App).use(router).mount('#pantry-app')
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { generateOcsUrl } from '@nextcloud/router'
|
||||
import _axios from '@nextcloud/axios'
|
||||
|
||||
const baseURL = generateOcsUrl('/apps/nextcloudapptemplate/api')
|
||||
const baseURL = generateOcsUrl('/apps/pantry/api')
|
||||
export const http = _axios.create({ baseURL })
|
||||
export const ocs = _axios.create({ baseURL })
|
||||
ocs.interceptors.response.use(
|
||||
|
||||
@@ -69,10 +69,10 @@ export default defineComponent({
|
||||
},
|
||||
tooltipText(): string {
|
||||
const statusLabels: Record<StatusType, string> = {
|
||||
success: t('nextcloudapptemplate', 'Completed successfully'),
|
||||
warning: t('nextcloudapptemplate', 'Completed with warnings'),
|
||||
pending: t('nextcloudapptemplate', 'In progress'),
|
||||
error: t('nextcloudapptemplate', 'Failed'),
|
||||
success: t('pantry', 'Completed successfully'),
|
||||
warning: t('pantry', 'Completed with warnings'),
|
||||
pending: t('pantry', 'In progress'),
|
||||
error: t('pantry', 'Failed'),
|
||||
}
|
||||
return statusLabels[this.status] || ''
|
||||
},
|
||||
|
||||
@@ -4,7 +4,7 @@ import { generateUrl } from '@nextcloud/router'
|
||||
const routes: RouteRecordRaw[] = [{ path: '/', component: () => import('@/views/AppView.vue') }]
|
||||
|
||||
const router = createRouter({
|
||||
history: createWebHistory(generateUrl('/apps/nextcloudapptemplate')),
|
||||
history: createWebHistory(generateUrl('/apps/pantry')),
|
||||
routes,
|
||||
})
|
||||
|
||||
|
||||
@@ -3,6 +3,6 @@ import Settings from './Settings.vue'
|
||||
import './style.scss'
|
||||
import { createApp } from 'vue'
|
||||
|
||||
console.log('[DEBUG] Mounting NextcloudAppTemplate Settings')
|
||||
console.log('[DEBUG] Mounting Pantry Settings')
|
||||
console.log('[DEBUG] Base URL:', http.defaults.baseURL)
|
||||
createApp(Settings).mount('#nextcloudapptemplate-settings')
|
||||
createApp(Settings).mount('#pantry-settings')
|
||||
|
||||
@@ -171,10 +171,10 @@ export default {
|
||||
name: '',
|
||||
themeLabel: null,
|
||||
themeOptions: [
|
||||
{ label: t('nextcloudapptemplate', 'Light'), value: 'light' },
|
||||
{ label: t('nextcloudapptemplate', 'Dark'), value: 'dark' },
|
||||
{ label: t('pantry', 'Light'), value: 'light' },
|
||||
{ label: t('pantry', 'Dark'), value: 'dark' },
|
||||
{
|
||||
label: n('nextcloudapptemplate', 'System (1 option)', 'System (%n options)', 2),
|
||||
label: n('pantry', 'System (1 option)', 'System (%n options)', 2),
|
||||
value: 'system',
|
||||
},
|
||||
],
|
||||
@@ -184,15 +184,15 @@ export default {
|
||||
|
||||
strings: {
|
||||
// Toolbar
|
||||
searchLabel: t('nextcloudapptemplate', 'Search'),
|
||||
searchPlaceholder: t('nextcloudapptemplate', 'Filter messages…'),
|
||||
refresh: t('nextcloudapptemplate', 'Refresh'),
|
||||
showForm: t('nextcloudapptemplate', 'Show form'),
|
||||
hideForm: t('nextcloudapptemplate', 'Hide form'),
|
||||
searchLabel: t('pantry', 'Search'),
|
||||
searchPlaceholder: t('pantry', 'Filter messages…'),
|
||||
refresh: t('pantry', 'Refresh'),
|
||||
showForm: t('pantry', 'Show form'),
|
||||
hideForm: t('pantry', 'Hide form'),
|
||||
|
||||
// Info
|
||||
quickHelp: t(
|
||||
'nextcloudapptemplate',
|
||||
'pantry',
|
||||
'Use the form to post a hello. The list shows recent hellos fetched from the server. All user-visible text is centralized in {cStart}strings{cEnd}.',
|
||||
{ cStart: '<code>', cEnd: '</code>' },
|
||||
undefined,
|
||||
@@ -200,29 +200,29 @@ export default {
|
||||
),
|
||||
|
||||
// Form
|
||||
formHeader: t('nextcloudapptemplate', 'Say hello'),
|
||||
nameInputLabel: t('nextcloudapptemplate', 'Name'),
|
||||
nameInputPlaceholder: t('nextcloudapptemplate', 'e.g. Ada'),
|
||||
themeLabel: t('nextcloudapptemplate', 'Theme'),
|
||||
add: t('nextcloudapptemplate', 'Add'),
|
||||
clear: t('nextcloudapptemplate', 'Clear'),
|
||||
livePreview: t('nextcloudapptemplate', 'Preview:'),
|
||||
formHeader: t('pantry', 'Say hello'),
|
||||
nameInputLabel: t('pantry', 'Name'),
|
||||
nameInputPlaceholder: t('pantry', 'e.g. Ada'),
|
||||
themeLabel: t('pantry', 'Theme'),
|
||||
add: t('pantry', 'Add'),
|
||||
clear: t('pantry', 'Clear'),
|
||||
livePreview: t('pantry', 'Preview:'),
|
||||
|
||||
// List
|
||||
loading: t('nextcloudapptemplate', 'Loading…'),
|
||||
emptyTitle: t('nextcloudapptemplate', 'No hellos yet'),
|
||||
emptyDesc: t('nextcloudapptemplate', 'Try adding one using the form above.'),
|
||||
addExample: t('nextcloudapptemplate', 'Add example'),
|
||||
colMessage: t('nextcloudapptemplate', 'Message'),
|
||||
colStatus: t('nextcloudapptemplate', 'Status'),
|
||||
colAt: t('nextcloudapptemplate', 'Time'),
|
||||
colActions: t('nextcloudapptemplate', 'Actions'),
|
||||
statusSynced: t('nextcloudapptemplate', 'Synced'),
|
||||
statusLocal: t('nextcloudapptemplate', 'Local'),
|
||||
duplicate: t('nextcloudapptemplate', 'Duplicate'),
|
||||
remove: t('nextcloudapptemplate', 'Remove'),
|
||||
clearAll: t('nextcloudapptemplate', 'Clear all'),
|
||||
never: t('nextcloudapptemplate', 'Never'),
|
||||
loading: t('pantry', 'Loading…'),
|
||||
emptyTitle: t('pantry', 'No hellos yet'),
|
||||
emptyDesc: t('pantry', 'Try adding one using the form above.'),
|
||||
addExample: t('pantry', 'Add example'),
|
||||
colMessage: t('pantry', 'Message'),
|
||||
colStatus: t('pantry', 'Status'),
|
||||
colAt: t('pantry', 'Time'),
|
||||
colActions: t('pantry', 'Actions'),
|
||||
statusSynced: t('pantry', 'Synced'),
|
||||
statusLocal: t('pantry', 'Local'),
|
||||
duplicate: t('pantry', 'Duplicate'),
|
||||
remove: t('pantry', 'Remove'),
|
||||
clearAll: t('pantry', 'Clear all'),
|
||||
never: t('pantry', 'Never'),
|
||||
},
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
use OCA\NextcloudAppTemplate\AppInfo\Application;
|
||||
use OCA\Pantry\AppInfo\Application;
|
||||
use OCP\Util;
|
||||
|
||||
/* @var array $_ */
|
||||
@@ -9,4 +9,4 @@ $style = $_['style'];
|
||||
Util::addScript(Application::APP_ID, Application::JS_DIR . "/$script");
|
||||
Util::addStyle(Application::APP_ID, Application::CSS_DIR . "/$style");
|
||||
?>
|
||||
<div id="nextcloudapptemplate-app"></div>
|
||||
<div id="pantry-app"></div>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
use OCA\NextcloudAppTemplate\AppInfo\Application;
|
||||
use OCA\Pantry\AppInfo\Application;
|
||||
use OCP\Util;
|
||||
|
||||
/* @var array $_ */
|
||||
@@ -9,4 +9,4 @@ $style = $_['style'];
|
||||
Util::addScript(Application::APP_ID, Application::JS_DIR . "/$script");
|
||||
Util::addStyle(Application::APP_ID, Application::CSS_DIR . "/$style");
|
||||
?>
|
||||
<div id="nextcloudapptemplate-settings"></div>
|
||||
<div id="pantry-settings"></div>
|
||||
|
||||
@@ -25,7 +25,7 @@ if ($nextcloudBootstrap && file_exists($nextcloudBootstrap)) {
|
||||
}
|
||||
require_once $nextcloudBootstrap;
|
||||
require_once __DIR__ . '/../vendor/autoload.php';
|
||||
\OC_App::loadApp(OCA\NextcloudAppTemplate\AppInfo\Application::APP_ID);
|
||||
\OC_App::loadApp(OCA\Pantry\AppInfo\Application::APP_ID);
|
||||
OC_Hook::clear();
|
||||
} else {
|
||||
// Cannot find Nextcloud bootstrap
|
||||
|
||||
@@ -4,8 +4,8 @@ declare(strict_types=1);
|
||||
|
||||
namespace Controller;
|
||||
|
||||
use OCA\NextcloudAppTemplate\AppInfo\Application;
|
||||
use OCA\NextcloudAppTemplate\Controller\ApiController;
|
||||
use OCA\Pantry\AppInfo\Application;
|
||||
use OCA\Pantry\Controller\ApiController;
|
||||
use OCP\IAppConfig;
|
||||
use OCP\IL10N;
|
||||
use OCP\IRequest;
|
||||
|
||||
Reference in New Issue
Block a user