🐛 fix: Add success toast message for sorting in nodes and servers pages

This commit is contained in:
web 2025-09-15 21:51:02 -07:00
parent 05d6c8947c
commit 2d5175d70f
49 changed files with 71 additions and 24 deletions

View File

@ -1,23 +1,22 @@
<a name="readme-top"></a>
# Changelog
## [1.4.2](https://github.com/perfect-panel/ppanel-web/compare/v1.4.1...v1.4.2) (2025-09-15)
### 🐛 Bug Fixes
* Add GitHub template repository link to ProtocolForm header for easier access ([8a0baf3](https://github.com/perfect-panel/ppanel-web/commit/8a0baf3))
* Add readOnly prop to MonacoEditor and TemplatePreview components for improved content handling ([c4c4d5a](https://github.com/perfect-panel/ppanel-web/commit/c4c4d5a))
- Add GitHub template repository link to ProtocolForm header for easier access ([8a0baf3](https://github.com/perfect-panel/ppanel-web/commit/8a0baf3))
- Add readOnly prop to MonacoEditor and TemplatePreview components for improved content handling ([c4c4d5a](https://github.com/perfect-panel/ppanel-web/commit/c4c4d5a))
## [1.4.1](https://github.com/perfect-panel/ppanel-web/compare/v1.4.0...v1.4.1) (2025-09-15)
### 🐛 Bug Fixes
* Add copy subscription functionality to user subscription dashboard and improve localization for new features ([e2a357f](https://github.com/perfect-panel/ppanel-web/commit/e2a357f))
* Simplify handleInputBlur function by removing unnecessary setTimeout ([6341562](https://github.com/perfect-panel/ppanel-web/commit/6341562))
* Update TemplatePreview to use MonacoEditor for content display and improve error handling ([1d52642](https://github.com/perfect-panel/ppanel-web/commit/1d52642))
* Update user dashboard link to correct path ([131693b](https://github.com/perfect-panel/ppanel-web/commit/131693b))
- Add copy subscription functionality to user subscription dashboard and improve localization for new features ([e2a357f](https://github.com/perfect-panel/ppanel-web/commit/e2a357f))
- Simplify handleInputBlur function by removing unnecessary setTimeout ([6341562](https://github.com/perfect-panel/ppanel-web/commit/6341562))
- Update TemplatePreview to use MonacoEditor for content display and improve error handling ([1d52642](https://github.com/perfect-panel/ppanel-web/commit/1d52642))
- Update user dashboard link to correct path ([131693b](https://github.com/perfect-panel/ppanel-web/commit/131693b))
<a name="readme-top"></a>

View File

@ -244,6 +244,7 @@ export default function NodesPage() {
sort: item.sort,
})) as API.SortItem[],
});
toast.success(t('sorted_success'));
}
return updatedItems;
}}

View File

@ -361,6 +361,7 @@ export default function ServersPage() {
sort: item.sort,
})) as API.SortItem[],
});
toast.success(t('sorted_success'));
}
return updatedItems;
}}

View File

@ -30,6 +30,7 @@
"select_protocol": "Vyberte protokol…",
"select_server": "Vyberte server…",
"server": "Server",
"sorted_success": "Úspěšně seřazeno",
"tags": "Štítky",
"tags_description": "Štítek pro skupinování oprávnění (včetně vazby na plán a dodací politiky).",
"tags_placeholder": "Použijte Enter nebo čárku (,) pro přidání více štítků",

View File

@ -116,6 +116,7 @@
"select_encryption_method": "Vyberte metodu šifrování",
"server_key": "Klíč serveru",
"service_name": "Název služby",
"sorted_success": "Úspěšně seřazeno",
"status": "Stav",
"subscribeId": "ID předplatného",
"subscription": "Předplatné",

View File

@ -30,6 +30,7 @@
"select_protocol": "Protokoll auswählen…",
"select_server": "Server auswählen…",
"server": "Server",
"sorted_success": "Erfolgreich sortiert",
"tags": "Tags",
"tags_description": "Berechtigungsgruppierungs-Tag (einschließlich Planbindung und Lieferrichtlinien).",
"tags_placeholder": "Verwenden Sie Enter oder Komma (,) um mehrere Tags hinzuzufügen",

View File

@ -116,6 +116,7 @@
"select_encryption_method": "Verschlüsselungsmethode auswählen",
"server_key": "Server-Schlüssel",
"service_name": "Dienstname",
"sorted_success": "Erfolgreich sortiert",
"status": "Status",
"subscribeId": "Abonnement-ID",
"subscription": "Abonnement",

View File

@ -30,6 +30,7 @@
"select_protocol": "Select protocol…",
"select_server": "Select server…",
"server": "Server",
"sorted_success": "Sorted successfully",
"tags": "Tags",
"tags_description": "Permission grouping tag (incl. plan binding and delivery policies).",
"tags_placeholder": "Use Enter or comma (,) to add multiple tags",

View File

@ -116,6 +116,7 @@
"select_encryption_method": "Select encryption method",
"server_key": "Server key",
"service_name": "Service name",
"sorted_success": "Sorted successfully",
"status": "Status",
"subscribeId": "Subscription ID",
"subscription": "Subscription",

View File

@ -30,6 +30,7 @@
"select_protocol": "Seleccionar protocolo…",
"select_server": "Seleccionar servidor…",
"server": "Servidor",
"sorted_success": "Ordenado con éxito",
"tags": "Etiquetas",
"tags_description": "Etiqueta de agrupación de permisos (incl. vinculación de planes y políticas de entrega).",
"tags_placeholder": "Usa Enter o coma (,) para añadir múltiples etiquetas",

View File

@ -116,6 +116,7 @@
"select_encryption_method": "Seleccionar método de cifrado",
"server_key": "Clave del servidor",
"service_name": "Nombre del servicio",
"sorted_success": "Ordenado con éxito",
"status": "Estado",
"subscribeId": "ID de suscripción",
"subscription": "Suscripción",

View File

@ -30,6 +30,7 @@
"select_protocol": "Seleccionar protocolo…",
"select_server": "Seleccionar servidor…",
"server": "Servidor",
"sorted_success": "Ordenado con éxito",
"tags": "Etiquetas",
"tags_description": "Etiqueta de agrupación de permisos (incl. vinculación de planes y políticas de entrega).",
"tags_placeholder": "Usa Enter o coma (,) para agregar múltiples etiquetas",

View File

@ -116,6 +116,7 @@
"select_encryption_method": "Selecciona el método de encriptación",
"server_key": "Clave del servidor",
"service_name": "Nombre del servicio",
"sorted_success": "Ordenado con éxito",
"status": "Estado",
"subscribeId": "ID de suscripción",
"subscription": "Suscripción",

View File

@ -30,6 +30,7 @@
"select_protocol": "پروتکل را انتخاب کنید…",
"select_server": "سرور را انتخاب کنید…",
"server": "سرور",
"sorted_success": "با موفقیت مرتب شد",
"tags": "برچسب‌ها",
"tags_description": "برچسب گروه‌بندی مجوز (شامل پیوند برنامه و سیاست‌های تحویل).",
"tags_placeholder": "برای افزودن چندین برچسب از Enter یا ویرگول (,) استفاده کنید",

View File

@ -116,6 +116,7 @@
"select_encryption_method": "روش رمزنگاری را انتخاب کنید",
"server_key": "کلید سرور",
"service_name": "نام سرویس",
"sorted_success": "با موفقیت مرتب شد",
"status": "وضعیت",
"subscribeId": "شناسه اشتراک",
"subscription": "اشتراک",

View File

@ -30,6 +30,7 @@
"select_protocol": "Valitse protokolla…",
"select_server": "Valitse palvelin…",
"server": "Palvelin",
"sorted_success": "Lajiteltu onnistuneesti",
"tags": "Tunnisteet",
"tags_description": "Oikeuksien ryhmittelytunniste (mukaan lukien suunnitelman sitominen ja toimituskäytännöt).",
"tags_placeholder": "Käytä Enteriä tai pilkkua (,) lisätäksesi useita tunnisteita",

View File

@ -116,6 +116,7 @@
"select_encryption_method": "Valitse salausmenetelmä",
"server_key": "Palvelimen avain",
"service_name": "Palvelun nimi",
"sorted_success": "Lajiteltu onnistuneesti",
"status": "Tila",
"subscribeId": "Tilauksen ID",
"subscription": "Tilauksen",

View File

@ -30,6 +30,7 @@
"select_protocol": "Sélectionner un protocole…",
"select_server": "Sélectionner un serveur…",
"server": "Serveur",
"sorted_success": "Trié avec succès",
"tags": "Étiquettes",
"tags_description": "Étiquette de regroupement de permissions (y compris l'association de plan et les politiques de livraison).",
"tags_placeholder": "Utilisez Entrée ou une virgule (,) pour ajouter plusieurs étiquettes",

View File

@ -116,6 +116,7 @@
"select_encryption_method": "Sélectionner la méthode de chiffrement",
"server_key": "Clé du serveur",
"service_name": "Nom du service",
"sorted_success": "Trié avec succès",
"status": "Statut",
"subscribeId": "ID d'abonnement",
"subscription": "Abonnement",

View File

@ -30,6 +30,7 @@
"select_protocol": "प्रोटोकॉल चुनें…",
"select_server": "सर्वर चुनें…",
"server": "सर्वर",
"sorted_success": "सफलतापूर्वक क्रमबद्ध किया गया",
"tags": "टैग",
"tags_description": "अनुमति समूह टैग (योजना बाइंडिंग और वितरण नीतियों सहित)।",
"tags_placeholder": "एकाधिक टैग जोड़ने के लिए Enter या कॉमा (,) का उपयोग करें",

View File

@ -116,6 +116,7 @@
"select_encryption_method": "एन्क्रिप्शन विधि चुनें",
"server_key": "सर्वर कुंजी",
"service_name": "सेवा का नाम",
"sorted_success": "सफलता से क्रमबद्ध किया गया",
"status": "स्थिति",
"subscribeId": "सदस्यता आईडी",
"subscription": "सदस्यता",

View File

@ -30,6 +30,7 @@
"select_protocol": "Válassza ki a protokollt…",
"select_server": "Válassza ki a szervert…",
"server": "Szerver",
"sorted_success": "Sikeresen rendezve",
"tags": "Címkék",
"tags_description": "Engedélyezési csoportosító címke (beleértve a tervkötést és a szállítási irányelveket).",
"tags_placeholder": "Több címke hozzáadásához használja az Entert vagy a vesszőt (,)",

View File

@ -116,6 +116,7 @@
"select_encryption_method": "Válassza ki a titkosítási módszert",
"server_key": "Szerver kulcs",
"service_name": "Szolgáltatás neve",
"sorted_success": "Sikeresen rendezve",
"status": "Állapot",
"subscribeId": "Előfizetési ID",
"subscription": "Előfizetés",

View File

@ -30,6 +30,7 @@
"select_protocol": "プロトコルを選択…",
"select_server": "サーバーを選択…",
"server": "サーバー",
"sorted_success": "正常にソートされました",
"tags": "タグ",
"tags_description": "権限グループ化タグ(プランバインディングおよび配信ポリシーを含む)。",
"tags_placeholder": "複数のタグを追加するにはEnterまたはカンマ(,)を使用してください",

View File

@ -116,6 +116,7 @@
"select_encryption_method": "暗号化方式を選択",
"server_key": "サーバーキー",
"service_name": "サービス名",
"sorted_success": "正常にソートされました",
"status": "ステータス",
"subscribeId": "サブスクリプションID",
"subscription": "サブスクリプション",

View File

@ -30,6 +30,7 @@
"select_protocol": "프로토콜 선택…",
"select_server": "서버 선택…",
"server": "서버",
"sorted_success": "정렬이 완료되었습니다.",
"tags": "태그",
"tags_description": "권한 그룹화 태그(계획 바인딩 및 배포 정책 포함).",
"tags_placeholder": "여러 태그를 추가하려면 Enter 또는 쉼표(,)를 사용하세요",

View File

@ -116,6 +116,7 @@
"select_encryption_method": "암호화 방법 선택",
"server_key": "서버 키",
"service_name": "서비스 이름",
"sorted_success": "정렬이 완료되었습니다.",
"status": "상태",
"subscribeId": "구독 ID",
"subscription": "구독",

View File

@ -30,6 +30,7 @@
"select_protocol": "Velg protokoll…",
"select_server": "Velg server…",
"server": "Server",
"sorted_success": "Sortert med suksess",
"tags": "Tagger",
"tags_description": "Tillatelsesgrupperingstagg (inkl. planbinding og leveringspolicyer).",
"tags_placeholder": "Bruk Enter eller komma (,) for å legge til flere tagger",

View File

@ -116,6 +116,7 @@
"select_encryption_method": "Velg krypteringsmetode",
"server_key": "Servernøkkel",
"service_name": "Tjenestenavn",
"sorted_success": "Sortert med suksess",
"status": "Status",
"subscribeId": "Abonnements-ID",
"subscription": "Abonnement",

View File

@ -30,6 +30,7 @@
"select_protocol": "Wybierz protokół…",
"select_server": "Wybierz serwer…",
"server": "Serwer",
"sorted_success": "Posortowano pomyślnie",
"tags": "Tagi",
"tags_description": "Tag grupujący uprawnienia (w tym powiązania planu i polityki dostarczania).",
"tags_placeholder": "Użyj Enter lub przecinka (,) aby dodać wiele tagów",

View File

@ -116,6 +116,7 @@
"select_encryption_method": "Wybierz metodę szyfrowania",
"server_key": "Klucz serwera",
"service_name": "Nazwa usługi",
"sorted_success": "Posortowano pomyślnie",
"status": "Status",
"subscribeId": "ID subskrypcji",
"subscription": "Subskrypcja",

View File

@ -30,6 +30,7 @@
"select_protocol": "Selecionar protocolo…",
"select_server": "Selecionar servidor…",
"server": "Servidor",
"sorted_success": "Ordenado com sucesso",
"tags": "Tags",
"tags_description": "Tag de agrupamento de permissões (incl. vinculação de plano e políticas de entrega).",
"tags_placeholder": "Use Enter ou vírgula (,) para adicionar várias tags",

View File

@ -116,6 +116,7 @@
"select_encryption_method": "Selecionar método de criptografia",
"server_key": "Chave do servidor",
"service_name": "Nome do serviço",
"sorted_success": "Ordenado com sucesso",
"status": "Status",
"subscribeId": "ID de assinatura",
"subscription": "Assinatura",

View File

@ -30,6 +30,7 @@
"select_protocol": "Selectează protocolul…",
"select_server": "Selectează serverul…",
"server": "Server",
"sorted_success": "Sortat cu succes",
"tags": "Etichete",
"tags_description": "Etichetă de grupare a permisiunilor (incluzând legarea planului și politicile de livrare).",
"tags_placeholder": "Folosește Enter sau virgulă (,) pentru a adăuga mai multe etichete",

View File

@ -116,6 +116,7 @@
"select_encryption_method": "Selectează metoda de criptare",
"server_key": "Cheie server",
"service_name": "Nume serviciu",
"sorted_success": "Sortat cu succes",
"status": "Stare",
"subscribeId": "ID abonament",
"subscription": "Abonament",

View File

@ -30,6 +30,7 @@
"select_protocol": "Выберите протокол…",
"select_server": "Выберите сервер…",
"server": "Сервер",
"sorted_success": "Успешно отсортировано",
"tags": "Теги",
"tags_description": "Тег для группировки разрешений (включая привязку плана и политики доставки).",
"tags_placeholder": "Используйте Enter или запятую (,) для добавления нескольких тегов",

View File

@ -116,6 +116,7 @@
"select_encryption_method": "Выберите метод шифрования",
"server_key": "Ключ сервера",
"service_name": "Имя службы",
"sorted_success": "Успешно отсортировано",
"status": "Статус",
"subscribeId": "ID подписки",
"subscription": "Подписка",

View File

@ -30,6 +30,7 @@
"select_protocol": "เลือกโปรโตคอล…",
"select_server": "เลือกเซิร์ฟเวอร์…",
"server": "เซิร์ฟเวอร์",
"sorted_success": "เรียงลำดับเรียบร้อยแล้ว",
"tags": "แท็ก",
"tags_description": "แท็กการจัดกลุ่มสิทธิ์ (รวมถึงการผูกแผนและนโยบายการจัดส่ง)",
"tags_placeholder": "ใช้ Enter หรือเครื่องหมายจุลภาค (,) เพื่อเพิ่มแท็กหลายรายการ",

View File

@ -116,6 +116,7 @@
"select_encryption_method": "เลือกวิธีการเข้ารหัส",
"server_key": "คีย์เซิร์ฟเวอร์",
"service_name": "ชื่อบริการ",
"sorted_success": "เรียงลำดับเรียบร้อยแล้ว",
"status": "สถานะ",
"subscribeId": "ID การสมัครสมาชิก",
"subscription": "การสมัครสมาชิก",

View File

@ -30,6 +30,7 @@
"select_protocol": "Protokol seçin…",
"select_server": "Sunucu seçin…",
"server": "Sunucu",
"sorted_success": "Başarıyla sıralandı",
"tags": "Etiketler",
"tags_description": "İzin gruplama etiketi (plan bağlama ve teslimat politikaları dahil).",
"tags_placeholder": "Birden fazla etiket eklemek için Enter veya virgül (,) kullanın",

View File

@ -116,6 +116,7 @@
"select_encryption_method": "Şifreleme yöntemini seçin",
"server_key": "Sunucu anahtarı",
"service_name": "Hizmet adı",
"sorted_success": "Başarıyla sıralandı",
"status": "Durum",
"subscribeId": "Abonelik ID",
"subscription": "Abonelik",

View File

@ -30,6 +30,7 @@
"select_protocol": "Виберіть протокол…",
"select_server": "Виберіть сервер…",
"server": "Сервер",
"sorted_success": "Успішно відсортовано",
"tags": "Теги",
"tags_description": "Тег для групування дозволів (включаючи прив'язку плану та політики доставки).",
"tags_placeholder": "Використовуйте Enter або кому (,) для додавання кількох тегів",

View File

@ -116,6 +116,7 @@
"select_encryption_method": "Виберіть метод шифрування",
"server_key": "Ключ сервера",
"service_name": "Назва служби",
"sorted_success": "Успішно відсортовано",
"status": "Статус",
"subscribeId": "ID підписки",
"subscription": "Підписка",

View File

@ -30,6 +30,7 @@
"select_protocol": "Chọn giao thức…",
"select_server": "Chọn máy chủ…",
"server": "Máy chủ",
"sorted_success": "Sắp xếp thành công",
"tags": "Thẻ",
"tags_description": "Thẻ nhóm quyền (bao gồm ràng buộc kế hoạch và chính sách giao hàng).",
"tags_placeholder": "Sử dụng Enter hoặc dấu phẩy (,) để thêm nhiều thẻ",

View File

@ -116,6 +116,7 @@
"select_encryption_method": "Chọn phương pháp mã hóa",
"server_key": "Khóa máy chủ",
"service_name": "Tên dịch vụ",
"sorted_success": "Sắp xếp thành công",
"status": "Trạng thái",
"subscribeId": "ID đăng ký",
"subscription": "Đăng ký",

View File

@ -18,10 +18,10 @@
"enabled_on": "已启用",
"errors": {
"nameRequired": "请输入名称",
"serverRequired": "请选择服务器",
"serverAddrRequired": "请输入入口地址",
"portRange": "端口范围 165535",
"protocolRequired": "请选择协议",
"portRange": "端口范围 165535"
"serverAddrRequired": "请输入入口地址",
"serverRequired": "请选择服务器"
},
"name": "名称",
"pageTitle": "节点管理",
@ -30,6 +30,7 @@
"select_protocol": "选择协议…",
"select_server": "选择服务器…",
"server": "服务器",
"sorted_success": "排序成功",
"tags": "标签",
"tags_description": "用于权限分组标识(含套餐绑定、策略下发)。",
"tags_placeholder": "使用回车或逗号(,)输入多个标签",

View File

@ -7,28 +7,28 @@
"cipher": "加密算法",
"city": "城市",
"config": {
"title": "节点配置",
"description": "管理节点通信密钥、拉取/推送间隔与动态倍率。",
"saveSuccess": "保存成功",
"actions": {
"cancel": "取消",
"save": "保存"
},
"communicationKey": "通信密钥",
"inputPlaceholder": "请输入",
"communicationKeyDescription": "用于节点鉴权。",
"description": "管理节点通信密钥、拉取/推送间隔与动态倍率。",
"dynamicMultiplier": "动态倍率",
"dynamicMultiplierDescription": "按时间段设置倍率,用于调节流量或计费。",
"endTime": "结束时间",
"inputPlaceholder": "请输入",
"multiplier": "倍率",
"nodePullInterval": "节点拉取间隔",
"nodePullIntervalDescription": "节点拉取配置的频率(秒)。",
"nodePushInterval": "节点推送间隔",
"nodePushIntervalDescription": "节点上报状态的频率(秒)。",
"dynamicMultiplier": "动态倍率",
"dynamicMultiplierDescription": "按时间段设置倍率,用于调节流量或计费。",
"startTime": "开始时间",
"endTime": "结束时间",
"multiplier": "倍率",
"reset": "重置",
"save": "保存",
"saveSuccess": "保存成功",
"startTime": "开始时间",
"timeSlot": "时间段",
"actions": {
"cancel": "取消",
"save": "保存"
}
"title": "节点配置"
},
"confirm": "确认",
"confirmDeleteDesc": "该操作不可撤销。",
@ -116,6 +116,7 @@
"select_encryption_method": "选择加密方式",
"server_key": "服务器密钥",
"service_name": "服务名",
"sorted_success": "排序成功",
"status": "状态",
"subscribeId": "订阅 ID",
"subscription": "订阅",

View File

@ -30,6 +30,7 @@
"select_protocol": "選擇協議…",
"select_server": "選擇伺服器…",
"server": "伺服器",
"sorted_success": "排序成功",
"tags": "標籤",
"tags_description": "權限分組標籤(包括計劃綁定和交付政策)。",
"tags_placeholder": "使用 Enter 或逗號 (,) 添加多個標籤",

View File

@ -116,6 +116,7 @@
"select_encryption_method": "選擇加密方法",
"server_key": "伺服器密鑰",
"service_name": "服務名稱",
"sorted_success": "排序成功",
"status": "狀態",
"subscribeId": "訂閱 ID",
"subscription": "訂閱",