From e2a357fea7785be1dad5eae810bf7dfbbd754c1b Mon Sep 17 00:00:00 2001 From: web Date: Sun, 14 Sep 2025 23:09:59 -0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix:=20Add=20copy=20subscription?= =?UTF-8?q?=20functionality=20to=20user=20subscription=20dashboard=20and?= =?UTF-8?q?=20improve=20localization=20for=20new=20features?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 113 +++++++++--------- .../user/user-subscription/index.tsx | 12 ++ apps/admin/config/use-global.tsx | 21 +++- apps/admin/locales/cs-CZ/user.json | 2 + apps/admin/locales/de-DE/user.json | 2 + apps/admin/locales/en-US/user.json | 2 + apps/admin/locales/es-ES/user.json | 2 + apps/admin/locales/es-MX/user.json | 2 + apps/admin/locales/fa-IR/user.json | 2 + apps/admin/locales/fi-FI/user.json | 2 + apps/admin/locales/fr-FR/user.json | 2 + apps/admin/locales/hi-IN/user.json | 2 + apps/admin/locales/hu-HU/user.json | 2 + apps/admin/locales/ja-JP/user.json | 2 + apps/admin/locales/ko-KR/user.json | 2 + apps/admin/locales/no-NO/user.json | 2 + apps/admin/locales/pl-PL/user.json | 2 + apps/admin/locales/pt-BR/user.json | 2 + apps/admin/locales/ro-RO/user.json | 2 + apps/admin/locales/ru-RU/user.json | 2 + apps/admin/locales/th-TH/user.json | 2 + apps/admin/locales/tr-TR/user.json | 2 + apps/admin/locales/uk-UA/user.json | 2 + apps/admin/locales/vi-VN/user.json | 2 + apps/admin/locales/zh-CN/user.json | 2 + apps/admin/locales/zh-HK/user.json | 2 + apps/admin/services/admin/index.ts | 2 +- apps/admin/services/common/index.ts | 2 +- apps/user/services/common/index.ts | 2 +- apps/user/services/user/index.ts | 2 +- 30 files changed, 137 insertions(+), 63 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a0eec86..6d13986 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,77 +1,74 @@ + # Changelog # [1.4.0](https://github.com/perfect-panel/ppanel-web/compare/v1.3.0...v1.4.0) (2025-09-14) - ### ♻ Code Refactoring -* **logs**: Add localization files and update existing translations for multiple languages ([2f20ac9](https://github.com/perfect-panel/ppanel-web/commit/2f20ac9)) -* **subscribe-form**: Replace server_group and server with node_tags and nodes in default values and form schema ([38dda84](https://github.com/perfect-panel/ppanel-web/commit/38dda84)) -* Add localization updates for log and server files across multiple languages ([2bcd4cf](https://github.com/perfect-panel/ppanel-web/commit/2bcd4cf)) -* Clean up NodeForm and ServerForm components by removing unused functions and optimizing state management ([10250d9](https://github.com/perfect-panel/ppanel-web/commit/10250d9)) -* Enhance log pages with Badge component and update translations ([a4de9df](https://github.com/perfect-panel/ppanel-web/commit/a4de9df)) -* Make 'scheme' field optional in client form schema ([f4a1237](https://github.com/perfect-panel/ppanel-web/commit/f4a1237)) -* Refactor server management API endpoints and typings ([4f7cc80](https://github.com/perfect-panel/ppanel-web/commit/4f7cc80)) -* Remove application management forms and related configurations ([0c43844](https://github.com/perfect-panel/ppanel-web/commit/0c43844)) -* Remove default options from TagInput component for improved flexibility ([6a3bb70](https://github.com/perfect-panel/ppanel-web/commit/6a3bb70)) -* Remove unused preview state variables and add sort order to node properties ([e63f823](https://github.com/perfect-panel/ppanel-web/commit/e63f823)) -* Rename buildScheme to buildSchema and update imports in server form components ([ee98e7e](https://github.com/perfect-panel/ppanel-web/commit/ee98e7e)) -* Simplify node display in subscribe form and remove unused Badge import ([551135d](https://github.com/perfect-panel/ppanel-web/commit/551135d)) -* Update bun.lockb to reflect dependency changes ([ba2b50e](https://github.com/perfect-panel/ppanel-web/commit/ba2b50e)) -* Update component imports and improve code consistency ([59faeab](https://github.com/perfect-panel/ppanel-web/commit/59faeab)) -* Update dependencies and improve code consistency across multiple files ([e37ae49](https://github.com/perfect-panel/ppanel-web/commit/e37ae49)) -* Update localization files and service imports ([d4b37e4](https://github.com/perfect-panel/ppanel-web/commit/d4b37e4)) - +- **logs**: Add localization files and update existing translations for multiple languages ([2f20ac9](https://github.com/perfect-panel/ppanel-web/commit/2f20ac9)) +- **subscribe-form**: Replace server_group and server with node_tags and nodes in default values and form schema ([38dda84](https://github.com/perfect-panel/ppanel-web/commit/38dda84)) +- Add localization updates for log and server files across multiple languages ([2bcd4cf](https://github.com/perfect-panel/ppanel-web/commit/2bcd4cf)) +- Clean up NodeForm and ServerForm components by removing unused functions and optimizing state management ([10250d9](https://github.com/perfect-panel/ppanel-web/commit/10250d9)) +- Enhance log pages with Badge component and update translations ([a4de9df](https://github.com/perfect-panel/ppanel-web/commit/a4de9df)) +- Make 'scheme' field optional in client form schema ([f4a1237](https://github.com/perfect-panel/ppanel-web/commit/f4a1237)) +- Refactor server management API endpoints and typings ([4f7cc80](https://github.com/perfect-panel/ppanel-web/commit/4f7cc80)) +- Remove application management forms and related configurations ([0c43844](https://github.com/perfect-panel/ppanel-web/commit/0c43844)) +- Remove default options from TagInput component for improved flexibility ([6a3bb70](https://github.com/perfect-panel/ppanel-web/commit/6a3bb70)) +- Remove unused preview state variables and add sort order to node properties ([e63f823](https://github.com/perfect-panel/ppanel-web/commit/e63f823)) +- Rename buildScheme to buildSchema and update imports in server form components ([ee98e7e](https://github.com/perfect-panel/ppanel-web/commit/ee98e7e)) +- Simplify node display in subscribe form and remove unused Badge import ([551135d](https://github.com/perfect-panel/ppanel-web/commit/551135d)) +- Update bun.lockb to reflect dependency changes ([ba2b50e](https://github.com/perfect-panel/ppanel-web/commit/ba2b50e)) +- Update component imports and improve code consistency ([59faeab](https://github.com/perfect-panel/ppanel-web/commit/59faeab)) +- Update dependencies and improve code consistency across multiple files ([e37ae49](https://github.com/perfect-panel/ppanel-web/commit/e37ae49)) +- Update localization files and service imports ([d4b37e4](https://github.com/perfect-panel/ppanel-web/commit/d4b37e4)) ### ✨ Features -* **config**: Add translations for server configuration in multiple languages ([f9a7ece](https://github.com/perfect-panel/ppanel-web/commit/f9a7ece)) -* **logs**: Add various log pages for tracking user activities and system events ([d85af49](https://github.com/perfect-panel/ppanel-web/commit/d85af49)) -* Add bandwidth fields and placeholders for upload and download in server configuration forms; update localization files for multiple languages ([3e5402f](https://github.com/perfect-panel/ppanel-web/commit/3e5402f)) -* Add batch delete functionality and enhance chart tooltips in statistics cards ([c4f536e](https://github.com/perfect-panel/ppanel-web/commit/c4f536e)) -* Add language support and descriptions in product localization files ([fd48856](https://github.com/perfect-panel/ppanel-web/commit/fd48856)) -* Add log cleanup settings and update localization files ([6ccf9b8](https://github.com/perfect-panel/ppanel-web/commit/6ccf9b8)) -* Add queryNodeTag function and integrate tag retrieval in NodeForm and SubscribeForm components ([4563c57](https://github.com/perfect-panel/ppanel-web/commit/4563c57)) -* Add quota management features and localization updates ([fce627b](https://github.com/perfect-panel/ppanel-web/commit/fce627b)) -* Add server form component with protocol configuration and localization support ([217ddce](https://github.com/perfect-panel/ppanel-web/commit/217ddce)) -* Enhance TagInput component with option handling and improved tag addition logic ([b6e778d](https://github.com/perfect-panel/ppanel-web/commit/b6e778d)) -* Implement data migration functionality and update localization files ([6d81bfd](https://github.com/perfect-panel/ppanel-web/commit/6d81bfd)) -* Refactor user detail and subscription management components ([973c06f](https://github.com/perfect-panel/ppanel-web/commit/973c06f)) -* Update server list fetching logic and adjust query parameters ([5272360](https://github.com/perfect-panel/ppanel-web/commit/5272360)) - +- **config**: Add translations for server configuration in multiple languages ([f9a7ece](https://github.com/perfect-panel/ppanel-web/commit/f9a7ece)) +- **logs**: Add various log pages for tracking user activities and system events ([d85af49](https://github.com/perfect-panel/ppanel-web/commit/d85af49)) +- Add bandwidth fields and placeholders for upload and download in server configuration forms; update localization files for multiple languages ([3e5402f](https://github.com/perfect-panel/ppanel-web/commit/3e5402f)) +- Add batch delete functionality and enhance chart tooltips in statistics cards ([c4f536e](https://github.com/perfect-panel/ppanel-web/commit/c4f536e)) +- Add language support and descriptions in product localization files ([fd48856](https://github.com/perfect-panel/ppanel-web/commit/fd48856)) +- Add log cleanup settings and update localization files ([6ccf9b8](https://github.com/perfect-panel/ppanel-web/commit/6ccf9b8)) +- Add queryNodeTag function and integrate tag retrieval in NodeForm and SubscribeForm components ([4563c57](https://github.com/perfect-panel/ppanel-web/commit/4563c57)) +- Add quota management features and localization updates ([fce627b](https://github.com/perfect-panel/ppanel-web/commit/fce627b)) +- Add server form component with protocol configuration and localization support ([217ddce](https://github.com/perfect-panel/ppanel-web/commit/217ddce)) +- Enhance TagInput component with option handling and improved tag addition logic ([b6e778d](https://github.com/perfect-panel/ppanel-web/commit/b6e778d)) +- Implement data migration functionality and update localization files ([6d81bfd](https://github.com/perfect-panel/ppanel-web/commit/6d81bfd)) +- Refactor user detail and subscription management components ([973c06f](https://github.com/perfect-panel/ppanel-web/commit/973c06f)) +- Update server list fetching logic and adjust query parameters ([5272360](https://github.com/perfect-panel/ppanel-web/commit/5272360)) ### 🐛 Bug Fixes -* **page**: Refine version checking logic and remove unnecessary comments for clarity ([26176a7](https://github.com/perfect-panel/ppanel-web/commit/26176a7)) -* Add localization updates and new utility functions ([4da5960](https://github.com/perfect-panel/ppanel-web/commit/4da5960)) -* Add user_subscribe_id filter to SubscribeLogPage and update typings; disable eslint in service index files ([ab6f6a6](https://github.com/perfect-panel/ppanel-web/commit/ab6f6a6)) -* Added system version card and system log dialog components; updated statistics page to include total server and user statistics ([fe69980](https://github.com/perfect-panel/ppanel-web/commit/fe69980)) -* Adjust timestamp calculations to use milliseconds instead of seconds in quota broadcast form submission ([8dffd69](https://github.com/perfect-panel/ppanel-web/commit/8dffd69)) -* Correct cookie key format for sidebar state retrieval ([9e01f4f](https://github.com/perfect-panel/ppanel-web/commit/9e01f4f)) -* Improve UI for protocol status display in server form component ([461fdb1](https://github.com/perfect-panel/ppanel-web/commit/461fdb1)) -* Increase pagination size limit for server and node lists to improve data retrieval ([7c0a312](https://github.com/perfect-panel/ppanel-web/commit/7c0a312)) -* Optimize Task Manager to use milliseconds to calculate timers, and simplify import statements ([d8fa13b](https://github.com/perfect-panel/ppanel-web/commit/d8fa13b)) -* Refactor protocol status display for improved readability in server form component ([f700be0](https://github.com/perfect-panel/ppanel-web/commit/f700be0)) -* Remove GroupTable and related components, simplify SubscribeTable and update language handling in subscription forms ([1ab9b39](https://github.com/perfect-panel/ppanel-web/commit/1ab9b39)) -* Remove redundant transport label from localization files ([88ce8d7](https://github.com/perfect-panel/ppanel-web/commit/88ce8d7)) -* Remove unnecessary comments and improve variable handling in GoTemplateEditor; ensure zero value displays as empty in EnhancedInput ([c4a47a4](https://github.com/perfect-panel/ppanel-web/commit/c4a47a4)) -* Remove unnecessary comments to simplify code readability ([a988cb3](https://github.com/perfect-panel/ppanel-web/commit/a988cb3)) -* Replace MarkdownEditor with HTMLEditor in EmailBroadcastForm; simplify content rendering in EmailTaskManager; disable eslint in service index files ([e2d83ec](https://github.com/perfect-panel/ppanel-web/commit/e2d83ec)) -* Replace redundant icon rendering with a single instance in system version card component ([e4429a5](https://github.com/perfect-panel/ppanel-web/commit/e4429a5)) -* Update billing URL fetching logic and improve version handling in system version card component ([1c8d4af](https://github.com/perfect-panel/ppanel-web/commit/1c8d4af)) -* Update condition for plugin field in PROTOCOL_FIELDS to include specific plugins ([6376ec1](https://github.com/perfect-panel/ppanel-web/commit/6376ec1)) -* Update getAppSubLink function to improve URL handling and encoding logic ([351fffc](https://github.com/perfect-panel/ppanel-web/commit/351fffc)) -* Update order_id to order_no in BalanceLogPage and related typings; enhance timezone switch component with additional features and localization updates ([ac36075](https://github.com/perfect-panel/ppanel-web/commit/ac36075)) -* Update protocol plugin handling and add new options in typings ([6ca2433](https://github.com/perfect-panel/ppanel-web/commit/6ca2433)) -* Update release URLs to include 'v' prefix for versioning in system version card component ([1d526b5](https://github.com/perfect-panel/ppanel-web/commit/1d526b5)) -* Update SidebarLeft component styles to enhance hover effects ([e4fbd5c](https://github.com/perfect-panel/ppanel-web/commit/e4fbd5c)) -* Update validation for days and gift_value fields in QuotaBroadcastForm; set default values to avoid errors ([39d746f](https://github.com/perfect-panel/ppanel-web/commit/39d746f)) - +- **page**: Refine version checking logic and remove unnecessary comments for clarity ([26176a7](https://github.com/perfect-panel/ppanel-web/commit/26176a7)) +- Add localization updates and new utility functions ([4da5960](https://github.com/perfect-panel/ppanel-web/commit/4da5960)) +- Add user_subscribe_id filter to SubscribeLogPage and update typings; disable eslint in service index files ([ab6f6a6](https://github.com/perfect-panel/ppanel-web/commit/ab6f6a6)) +- Added system version card and system log dialog components; updated statistics page to include total server and user statistics ([fe69980](https://github.com/perfect-panel/ppanel-web/commit/fe69980)) +- Adjust timestamp calculations to use milliseconds instead of seconds in quota broadcast form submission ([8dffd69](https://github.com/perfect-panel/ppanel-web/commit/8dffd69)) +- Correct cookie key format for sidebar state retrieval ([9e01f4f](https://github.com/perfect-panel/ppanel-web/commit/9e01f4f)) +- Improve UI for protocol status display in server form component ([461fdb1](https://github.com/perfect-panel/ppanel-web/commit/461fdb1)) +- Increase pagination size limit for server and node lists to improve data retrieval ([7c0a312](https://github.com/perfect-panel/ppanel-web/commit/7c0a312)) +- Optimize Task Manager to use milliseconds to calculate timers, and simplify import statements ([d8fa13b](https://github.com/perfect-panel/ppanel-web/commit/d8fa13b)) +- Refactor protocol status display for improved readability in server form component ([f700be0](https://github.com/perfect-panel/ppanel-web/commit/f700be0)) +- Remove GroupTable and related components, simplify SubscribeTable and update language handling in subscription forms ([1ab9b39](https://github.com/perfect-panel/ppanel-web/commit/1ab9b39)) +- Remove redundant transport label from localization files ([88ce8d7](https://github.com/perfect-panel/ppanel-web/commit/88ce8d7)) +- Remove unnecessary comments and improve variable handling in GoTemplateEditor; ensure zero value displays as empty in EnhancedInput ([c4a47a4](https://github.com/perfect-panel/ppanel-web/commit/c4a47a4)) +- Remove unnecessary comments to simplify code readability ([a988cb3](https://github.com/perfect-panel/ppanel-web/commit/a988cb3)) +- Replace MarkdownEditor with HTMLEditor in EmailBroadcastForm; simplify content rendering in EmailTaskManager; disable eslint in service index files ([e2d83ec](https://github.com/perfect-panel/ppanel-web/commit/e2d83ec)) +- Replace redundant icon rendering with a single instance in system version card component ([e4429a5](https://github.com/perfect-panel/ppanel-web/commit/e4429a5)) +- Update billing URL fetching logic and improve version handling in system version card component ([1c8d4af](https://github.com/perfect-panel/ppanel-web/commit/1c8d4af)) +- Update condition for plugin field in PROTOCOL_FIELDS to include specific plugins ([6376ec1](https://github.com/perfect-panel/ppanel-web/commit/6376ec1)) +- Update getAppSubLink function to improve URL handling and encoding logic ([351fffc](https://github.com/perfect-panel/ppanel-web/commit/351fffc)) +- Update order_id to order_no in BalanceLogPage and related typings; enhance timezone switch component with additional features and localization updates ([ac36075](https://github.com/perfect-panel/ppanel-web/commit/ac36075)) +- Update protocol plugin handling and add new options in typings ([6ca2433](https://github.com/perfect-panel/ppanel-web/commit/6ca2433)) +- Update release URLs to include 'v' prefix for versioning in system version card component ([1d526b5](https://github.com/perfect-panel/ppanel-web/commit/1d526b5)) +- Update SidebarLeft component styles to enhance hover effects ([e4fbd5c](https://github.com/perfect-panel/ppanel-web/commit/e4fbd5c)) +- Update validation for days and gift_value fields in QuotaBroadcastForm; set default values to avoid errors ([39d746f](https://github.com/perfect-panel/ppanel-web/commit/39d746f)) ### 📝 Documentation -* Merge branch 'main' into develop ([d7f8b3b](https://github.com/perfect-panel/ppanel-web/commit/d7f8b3b)) +- Merge branch 'main' into develop ([d7f8b3b](https://github.com/perfect-panel/ppanel-web/commit/d7f8b3b)) diff --git a/apps/admin/app/dashboard/user/user-subscription/index.tsx b/apps/admin/app/dashboard/user/user-subscription/index.tsx index 12cef2e..8e20b8a 100644 --- a/apps/admin/app/dashboard/user/user-subscription/index.tsx +++ b/apps/admin/app/dashboard/user/user-subscription/index.tsx @@ -2,6 +2,7 @@ import { Display } from '@/components/display'; import { ProTable, ProTableActions } from '@/components/pro-table'; +import useGlobalStore from '@/config/use-global'; import { createUserSubscribe, deleteUserSubscribe, @@ -28,6 +29,7 @@ export default function UserSubscription({ userId }: { userId: number }) { const t = useTranslations('user'); const [loading, setLoading] = useState(false); const ref = useRef(null); + const { getUserSubscribeUrls } = useGlobalStore(); return ( > @@ -146,6 +148,16 @@ export default function UserSubscription({ userId }: { userId: number }) { return true; }} />, + , {t('delete')}} diff --git a/apps/admin/config/use-global.tsx b/apps/admin/config/use-global.tsx index e0d07b4..1b8cca5 100644 --- a/apps/admin/config/use-global.tsx +++ b/apps/admin/config/use-global.tsx @@ -1,3 +1,5 @@ +import { NEXT_PUBLIC_API_URL, NEXT_PUBLIC_SITE_URL } from '@/config/constants'; +import { extractDomain } from '@workspace/ui/utils'; import { create } from 'zustand'; export interface GlobalStore { @@ -5,9 +7,10 @@ export interface GlobalStore { user?: API.User; setCommon: (common: Partial) => void; setUser: (user?: API.User) => void; + getUserSubscribeUrls: (uuid: string, type?: string) => string[]; } -export const useGlobalStore = create((set) => ({ +export const useGlobalStore = create((set, get) => ({ common: { site: { host: '', @@ -77,6 +80,22 @@ export const useGlobalStore = create((set) => ({ }, })), setUser: (user) => set({ user }), + getUserSubscribeUrls: (uuid: string, type?: string) => { + const { pan_domain, subscribe_domain, subscribe_path } = get().common.subscribe || {}; + const domains = subscribe_domain + ? subscribe_domain.split('\n') + : [extractDomain(NEXT_PUBLIC_API_URL || NEXT_PUBLIC_SITE_URL || '', pan_domain)]; + + return domains.map((domain) => { + if (pan_domain) { + if (type) return `https://${uuid}.${type}.${domain}`; + return `https://${uuid}.${domain}`; + } else { + if (type) return `https://${domain}${subscribe_path}?token=${uuid}&type=${type}`; + return `https://${domain}${subscribe_path}?token=${uuid}`; + } + }); + }, })); export default useGlobalStore; diff --git a/apps/admin/locales/cs-CZ/user.json b/apps/admin/locales/cs-CZ/user.json index 0a70aaf..f44d350 100644 --- a/apps/admin/locales/cs-CZ/user.json +++ b/apps/admin/locales/cs-CZ/user.json @@ -17,6 +17,8 @@ "confirm": "Potvrdit", "confirmDelete": "Opravdu chcete smazat?", "confirmOffline": "Potvrdit offline", + "copySubscription": "Kopírovat předplatné", + "copySuccess": "Kopírování bylo úspěšné", "create": "Vytvořit", "createSubscription": "Vytvořit předplatné", "createSuccess": "Vytvoření úspěšné", diff --git a/apps/admin/locales/de-DE/user.json b/apps/admin/locales/de-DE/user.json index 084861e..4a1aa13 100644 --- a/apps/admin/locales/de-DE/user.json +++ b/apps/admin/locales/de-DE/user.json @@ -17,6 +17,8 @@ "confirm": "Bestätigen", "confirmDelete": "Sind Sie sicher, dass Sie löschen möchten?", "confirmOffline": "Offline bestätigen", + "copySubscription": "Abonnement kopieren", + "copySuccess": "Kopie erfolgreich", "create": "Erstellen", "createSubscription": "Abonnement erstellen", "createSuccess": "Erstellung erfolgreich", diff --git a/apps/admin/locales/en-US/user.json b/apps/admin/locales/en-US/user.json index 3ece483..e2b82b1 100644 --- a/apps/admin/locales/en-US/user.json +++ b/apps/admin/locales/en-US/user.json @@ -17,6 +17,8 @@ "confirm": "Confirm", "confirmDelete": "Confirm Delete", "confirmOffline": "Confirm Offline", + "copySubscription": "Copy Subscription", + "copySuccess": "Copy successful", "create": "Create", "createSubscription": "Create Subscription", "createSuccess": "Create successful", diff --git a/apps/admin/locales/es-ES/user.json b/apps/admin/locales/es-ES/user.json index 29045ac..5e3f4f2 100644 --- a/apps/admin/locales/es-ES/user.json +++ b/apps/admin/locales/es-ES/user.json @@ -17,6 +17,8 @@ "confirm": "Confirmar", "confirmDelete": "¿Está seguro de que desea eliminar?", "confirmOffline": "Confirmar sin conexión", + "copySubscription": "Copiar Suscripción", + "copySuccess": "Copia exitosa", "create": "Crear", "createSubscription": "Crear suscripción", "createSuccess": "Creación exitosa", diff --git a/apps/admin/locales/es-MX/user.json b/apps/admin/locales/es-MX/user.json index 6d4a8dd..79d8edd 100644 --- a/apps/admin/locales/es-MX/user.json +++ b/apps/admin/locales/es-MX/user.json @@ -17,6 +17,8 @@ "confirm": "Confirmar", "confirmDelete": "¿Está seguro de que desea eliminar?", "confirmOffline": "Confirmar sin conexión", + "copySubscription": "Copiar Suscripción", + "copySuccess": "Copia exitosa", "create": "Crear", "createSubscription": "Crear Suscripción", "createSuccess": "Creación exitosa", diff --git a/apps/admin/locales/fa-IR/user.json b/apps/admin/locales/fa-IR/user.json index 6f294cc..fb1641b 100644 --- a/apps/admin/locales/fa-IR/user.json +++ b/apps/admin/locales/fa-IR/user.json @@ -17,6 +17,8 @@ "confirm": "تأیید", "confirmDelete": "آیا مطمئن هستید که می‌خواهید حذف کنید؟", "confirmOffline": "تأیید آفلاین", + "copySubscription": "کپی اشتراک", + "copySuccess": "کپی با موفقیت انجام شد", "create": "ایجاد", "createSubscription": "ایجاد اشتراک", "createSuccess": "ایجاد با موفقیت انجام شد", diff --git a/apps/admin/locales/fi-FI/user.json b/apps/admin/locales/fi-FI/user.json index 39f2caf..5143759 100644 --- a/apps/admin/locales/fi-FI/user.json +++ b/apps/admin/locales/fi-FI/user.json @@ -17,6 +17,8 @@ "confirm": "Vahvista", "confirmDelete": "Oletko varma, että haluat poistaa?", "confirmOffline": "Vahvista offline-tila", + "copySubscription": "Kopioi tilaus", + "copySuccess": "Kopiointi onnistui", "create": "Luo", "createSubscription": "Luo tilaus", "createSuccess": "Luonti onnistui", diff --git a/apps/admin/locales/fr-FR/user.json b/apps/admin/locales/fr-FR/user.json index 9e81731..680e47a 100644 --- a/apps/admin/locales/fr-FR/user.json +++ b/apps/admin/locales/fr-FR/user.json @@ -17,6 +17,8 @@ "confirm": "Confirmer", "confirmDelete": "Êtes-vous sûr de vouloir supprimer ?", "confirmOffline": "Confirmer hors ligne", + "copySubscription": "Copier l'abonnement", + "copySuccess": "Copie réussie", "create": "Créer", "createSubscription": "Créer un abonnement", "createSuccess": "Création réussie", diff --git a/apps/admin/locales/hi-IN/user.json b/apps/admin/locales/hi-IN/user.json index 3ba082b..86f8c97 100644 --- a/apps/admin/locales/hi-IN/user.json +++ b/apps/admin/locales/hi-IN/user.json @@ -17,6 +17,8 @@ "confirm": "पुष्टि करें", "confirmDelete": "क्या आप वाकई हटाना चाहते हैं?", "confirmOffline": "ऑफ़लाइन की पुष्टि करें", + "copySubscription": "सदस्यता कॉपी करें", + "copySuccess": "कॉपी सफल", "create": "सृजन", "createSubscription": "सदस्यता बनाएं", "createSuccess": "सृजन सफल", diff --git a/apps/admin/locales/hu-HU/user.json b/apps/admin/locales/hu-HU/user.json index f89ce2b..01afca4 100644 --- a/apps/admin/locales/hu-HU/user.json +++ b/apps/admin/locales/hu-HU/user.json @@ -17,6 +17,8 @@ "confirm": "Megerősítés", "confirmDelete": "Biztosan törölni szeretné?", "confirmOffline": "Megerősítés offline", + "copySubscription": "Előfizetés másolása", + "copySuccess": "Másolás sikeres", "create": "Létrehozás", "createSubscription": "Előfizetés létrehozása", "createSuccess": "Sikeres létrehozás", diff --git a/apps/admin/locales/ja-JP/user.json b/apps/admin/locales/ja-JP/user.json index b46435d..0e5b254 100644 --- a/apps/admin/locales/ja-JP/user.json +++ b/apps/admin/locales/ja-JP/user.json @@ -17,6 +17,8 @@ "confirm": "確認", "confirmDelete": "削除してもよろしいですか?", "confirmOffline": "オフラインを確認", + "copySubscription": "サブスクリプションをコピー", + "copySuccess": "コピーが成功しました", "create": "作成", "createSubscription": "サブスクリプションを作成", "createSuccess": "作成成功", diff --git a/apps/admin/locales/ko-KR/user.json b/apps/admin/locales/ko-KR/user.json index a6834bb..4f3fe56 100644 --- a/apps/admin/locales/ko-KR/user.json +++ b/apps/admin/locales/ko-KR/user.json @@ -17,6 +17,8 @@ "confirm": "확인", "confirmDelete": "삭제하시겠습니까?", "confirmOffline": "오프라인 확인", + "copySubscription": "구독 복사", + "copySuccess": "복사 성공", "create": "생성", "createSubscription": "구독 생성", "createSuccess": "생성 성공", diff --git a/apps/admin/locales/no-NO/user.json b/apps/admin/locales/no-NO/user.json index 1125fa3..04663c6 100644 --- a/apps/admin/locales/no-NO/user.json +++ b/apps/admin/locales/no-NO/user.json @@ -17,6 +17,8 @@ "confirm": "bekreft", "confirmDelete": "Er du sikker på at du vil slette?", "confirmOffline": "Bekreft frakoblet", + "copySubscription": "Kopier abonnement", + "copySuccess": "Kopiering vellykket", "create": "opprett", "createSubscription": "Opprett abonnement", "createSuccess": "Opprettelse vellykket", diff --git a/apps/admin/locales/pl-PL/user.json b/apps/admin/locales/pl-PL/user.json index 9ecf559..bbac854 100644 --- a/apps/admin/locales/pl-PL/user.json +++ b/apps/admin/locales/pl-PL/user.json @@ -17,6 +17,8 @@ "confirm": "Potwierdź", "confirmDelete": "Czy na pewno chcesz usunąć?", "confirmOffline": "Potwierdź tryb offline", + "copySubscription": "Kopiuj subskrypcję", + "copySuccess": "Kopiowanie zakończone sukcesem", "create": "Utwórz", "createSubscription": "Utwórz subskrypcję", "createSuccess": "Utworzono pomyślnie", diff --git a/apps/admin/locales/pt-BR/user.json b/apps/admin/locales/pt-BR/user.json index 9b7b6f6..646431a 100644 --- a/apps/admin/locales/pt-BR/user.json +++ b/apps/admin/locales/pt-BR/user.json @@ -17,6 +17,8 @@ "confirm": "confirmar", "confirmDelete": "Você tem certeza de que deseja excluir?", "confirmOffline": "Confirmar Offline", + "copySubscription": "Copiar Assinatura", + "copySuccess": "Cópia bem-sucedida", "create": "Criar", "createSubscription": "Criar Assinatura", "createSuccess": "Criação bem-sucedida", diff --git a/apps/admin/locales/ro-RO/user.json b/apps/admin/locales/ro-RO/user.json index e5f004e..7d45927 100644 --- a/apps/admin/locales/ro-RO/user.json +++ b/apps/admin/locales/ro-RO/user.json @@ -17,6 +17,8 @@ "confirm": "Confirmare", "confirmDelete": "Sunteți sigur că doriți să ștergeți?", "confirmOffline": "Confirmare Offline", + "copySubscription": "Copiază Abonamentul", + "copySuccess": "Copiază cu succes", "create": "crea", "createSubscription": "Creează Abonament", "createSuccess": "Creat cu succes", diff --git a/apps/admin/locales/ru-RU/user.json b/apps/admin/locales/ru-RU/user.json index 82164a1..0888242 100644 --- a/apps/admin/locales/ru-RU/user.json +++ b/apps/admin/locales/ru-RU/user.json @@ -17,6 +17,8 @@ "confirm": "Подтвердить", "confirmDelete": "Вы уверены, что хотите удалить?", "confirmOffline": "Подтвердить офлайн", + "copySubscription": "Копировать подписку", + "copySuccess": "Копирование успешно", "create": "Создать", "createSubscription": "Создать подписку", "createSuccess": "Создание успешно", diff --git a/apps/admin/locales/th-TH/user.json b/apps/admin/locales/th-TH/user.json index 2755955..36747da 100644 --- a/apps/admin/locales/th-TH/user.json +++ b/apps/admin/locales/th-TH/user.json @@ -17,6 +17,8 @@ "confirm": "ยืนยัน", "confirmDelete": "คุณแน่ใจหรือว่าต้องการลบ?", "confirmOffline": "ยืนยันออฟไลน์", + "copySubscription": "คัดลอกการสมัครสมาชิก", + "copySuccess": "คัดลอกสำเร็จ", "create": "สร้าง", "createSubscription": "สร้างการสมัครสมาชิก", "createSuccess": "สร้างสำเร็จ", diff --git a/apps/admin/locales/tr-TR/user.json b/apps/admin/locales/tr-TR/user.json index 2086d0c..29ecbb2 100644 --- a/apps/admin/locales/tr-TR/user.json +++ b/apps/admin/locales/tr-TR/user.json @@ -17,6 +17,8 @@ "confirm": "Onayla", "confirmDelete": "Silmek istediğinizden emin misiniz?", "confirmOffline": "Çevrimdışı Onayla", + "copySubscription": "Aboneliği Kopyala", + "copySuccess": "Kopyalama başarılı", "create": "oluştur", "createSubscription": "Abonelik Oluştur", "createSuccess": "Başarıyla oluşturuldu", diff --git a/apps/admin/locales/uk-UA/user.json b/apps/admin/locales/uk-UA/user.json index 3de0898..5083764 100644 --- a/apps/admin/locales/uk-UA/user.json +++ b/apps/admin/locales/uk-UA/user.json @@ -17,6 +17,8 @@ "confirm": "Підтвердити", "confirmDelete": "Ви впевнені, що хочете видалити?", "confirmOffline": "Підтвердити офлайн", + "copySubscription": "Копіювати підписку", + "copySuccess": "Копіювання успішне", "create": "створити", "createSubscription": "Створити підписку", "createSuccess": "Створено успішно", diff --git a/apps/admin/locales/vi-VN/user.json b/apps/admin/locales/vi-VN/user.json index 2464aab..911f20a 100644 --- a/apps/admin/locales/vi-VN/user.json +++ b/apps/admin/locales/vi-VN/user.json @@ -17,6 +17,8 @@ "confirm": "Xác nhận", "confirmDelete": "Bạn có chắc chắn muốn xóa không?", "confirmOffline": "Xác nhận Ngoại tuyến", + "copySubscription": "Sao chép Đăng ký", + "copySuccess": "Sao chép thành công", "create": "Tạo", "createSubscription": "Tạo Đăng Ký", "createSuccess": "Tạo thành công", diff --git a/apps/admin/locales/zh-CN/user.json b/apps/admin/locales/zh-CN/user.json index 9f2858b..03832bf 100644 --- a/apps/admin/locales/zh-CN/user.json +++ b/apps/admin/locales/zh-CN/user.json @@ -17,6 +17,8 @@ "confirm": "确认", "confirmDelete": "确认删除", "confirmOffline": "确认下线", + "copySubscription": "复制订阅", + "copySuccess": "复制成功", "create": "创建", "createSubscription": "创建订阅", "createSuccess": "创建成功", diff --git a/apps/admin/locales/zh-HK/user.json b/apps/admin/locales/zh-HK/user.json index 118a7c4..e08208b 100644 --- a/apps/admin/locales/zh-HK/user.json +++ b/apps/admin/locales/zh-HK/user.json @@ -17,6 +17,8 @@ "confirm": "確認", "confirmDelete": "您確定要刪除嗎?", "confirmOffline": "確認離線", + "copySubscription": "複製訂閱", + "copySuccess": "複製成功", "create": "建立", "createSubscription": "建立訂閱", "createSuccess": "建立成功", diff --git a/apps/admin/services/admin/index.ts b/apps/admin/services/admin/index.ts index bdf189b..4ebecd4 100644 --- a/apps/admin/services/admin/index.ts +++ b/apps/admin/services/admin/index.ts @@ -1,5 +1,5 @@ // @ts-ignore - + // API 更新时间: // API 唯一标识: import * as ads from './ads'; diff --git a/apps/admin/services/common/index.ts b/apps/admin/services/common/index.ts index 61ba129..73b3bda 100644 --- a/apps/admin/services/common/index.ts +++ b/apps/admin/services/common/index.ts @@ -1,5 +1,5 @@ // @ts-ignore - + // API 更新时间: // API 唯一标识: import * as auth from './auth'; diff --git a/apps/user/services/common/index.ts b/apps/user/services/common/index.ts index 61ba129..73b3bda 100644 --- a/apps/user/services/common/index.ts +++ b/apps/user/services/common/index.ts @@ -1,5 +1,5 @@ // @ts-ignore - + // API 更新时间: // API 唯一标识: import * as auth from './auth'; diff --git a/apps/user/services/user/index.ts b/apps/user/services/user/index.ts index 12fe8d0..f988131 100644 --- a/apps/user/services/user/index.ts +++ b/apps/user/services/user/index.ts @@ -1,5 +1,5 @@ // @ts-ignore - + // API 更新时间: // API 唯一标识: import * as announcement from './announcement';