@@ -136,4 +138,4 @@ export function DocumentButton({ items }: { items: API.Document[] }) {
>
);
-}
\ No newline at end of file
+}
diff --git a/apps/user/app/(main)/(user)/document/tutorial-button.tsx b/apps/user/app/(main)/(user)/document/tutorial-button.tsx
index 4dd93a7..8e667f3 100644
--- a/apps/user/app/(main)/(user)/document/tutorial-button.tsx
+++ b/apps/user/app/(main)/(user)/document/tutorial-button.tsx
@@ -7,11 +7,11 @@ import { buttonVariants } from '@workspace/ui/components/button';
import { Markdown } from '@workspace/ui/custom-components/markdown';
import { useOutsideClick } from '@workspace/ui/hooks/use-outside-click';
import { cn } from '@workspace/ui/lib/utils';
+import { formatDate } from '@workspace/ui/utils';
import { AnimatePresence, motion } from 'framer-motion';
import { useTranslations } from 'next-intl';
import { RefObject, useEffect, useId, useRef, useState } from 'react';
import { CloseIcon } from './close-icon';
-import { formatDate } from '@workspace/ui/utils';
interface Item {
path: string;
@@ -127,7 +127,9 @@ export function TutorialButton({ items }: { items: Item[] }) {
- {item.title.split('')[0]}
+
+ {item.title.split('')[0]}
+
@@ -160,4 +162,4 @@ export function TutorialButton({ items }: { items: Item[] }) {
>
);
-}
\ No newline at end of file
+}
diff --git a/apps/user/app/(main)/(user)/payment/page.tsx b/apps/user/app/(main)/(user)/payment/page.tsx
index f2c824e..8449812 100644
--- a/apps/user/app/(main)/(user)/payment/page.tsx
+++ b/apps/user/app/(main)/(user)/payment/page.tsx
@@ -115,10 +115,12 @@ export default function Page() {
)}
{data?.type === 3 && (
<>
-
重置流量
+
{t('resetTraffic')}
-
- 重置价格
+
+ {t('resetPrice')}
+
diff --git a/apps/user/components/language-switch.tsx b/apps/user/components/language-switch.tsx
index 5908cfd..859118a 100644
--- a/apps/user/components/language-switch.tsx
+++ b/apps/user/components/language-switch.tsx
@@ -11,7 +11,7 @@ import {
} from '@workspace/ui/components/select';
import { Icon } from '@workspace/ui/custom-components/icon';
import { getCountry } from '@workspace/ui/utils';
-import { useLocale, useTranslations } from 'next-intl';
+import { useLocale } from 'next-intl';
import { useRouter } from 'next/navigation';
const languages = {
diff --git a/apps/user/locales/cs-CZ/order.json b/apps/user/locales/cs-CZ/order.json
index 717e9d7..87cb49b 100644
--- a/apps/user/locales/cs-CZ/order.json
+++ b/apps/user/locales/cs-CZ/order.json
@@ -1,4 +1,5 @@
{
+ "balanceRecharge": "Dobití kreditu",
"cancel": "Zrušit",
"createdAt": "Datum vytvoření",
"detail": "Detail",
@@ -20,6 +21,9 @@
"paymentMethod": "Platební metoda",
"paymentSuccess": "Platba úspěšná",
"productList": "Seznam produktů",
+ "rechargeAmount": "Částka dobíjení",
+ "resetPrice": "Obnovit cenu",
+ "resetTraffic": "Obnovit provoz",
"scanToPay": "Prosím, naskenujte kód pro platbu",
"status": {
"0": "Stav",
diff --git a/apps/user/locales/de-DE/order.json b/apps/user/locales/de-DE/order.json
index be1d6b1..6754e5c 100644
--- a/apps/user/locales/de-DE/order.json
+++ b/apps/user/locales/de-DE/order.json
@@ -1,4 +1,5 @@
{
+ "balanceRecharge": "Guthabenaufladung",
"cancel": "Abbrechen",
"createdAt": "Erstellungszeitpunkt",
"detail": "Einzelheiten",
@@ -20,6 +21,9 @@
"paymentMethod": "Zahlungsmethode",
"paymentSuccess": "Zahlung erfolgreich",
"productList": "Produktliste",
+ "rechargeAmount": "Aufladebetrag",
+ "resetPrice": "Preis zurücksetzen",
+ "resetTraffic": "Verkehr zurücksetzen",
"scanToPay": "Bitte scannen Sie zum Bezahlen",
"status": {
"0": "Status",
diff --git a/apps/user/locales/en-US/order.json b/apps/user/locales/en-US/order.json
index 79a9cec..fe69541 100644
--- a/apps/user/locales/en-US/order.json
+++ b/apps/user/locales/en-US/order.json
@@ -1,4 +1,5 @@
{
+ "balanceRecharge": "Balance Recharge",
"cancel": "Cancel",
"createdAt": "Created At",
"detail": "Detail",
@@ -20,6 +21,9 @@
"paymentMethod": "Payment Method",
"paymentSuccess": "Payment Success",
"productList": "Product List",
+ "rechargeAmount": "Recharge Amount",
+ "resetPrice": "Reset Price",
+ "resetTraffic": "Reset Traffic",
"scanToPay": "Scan to Pay",
"status": {
"0": "Status",
diff --git a/apps/user/locales/es-ES/order.json b/apps/user/locales/es-ES/order.json
index 4afa525..6119960 100644
--- a/apps/user/locales/es-ES/order.json
+++ b/apps/user/locales/es-ES/order.json
@@ -1,4 +1,5 @@
{
+ "balanceRecharge": "Recarga de saldo",
"cancel": "Cancelar",
"createdAt": "Fecha de creación",
"detail": "Detalles",
@@ -20,6 +21,9 @@
"paymentMethod": "Método de Pago",
"paymentSuccess": "Pago exitoso",
"productList": "Lista de productos",
+ "rechargeAmount": "Cantidad de recarga",
+ "resetPrice": "Restablecer precio",
+ "resetTraffic": "Restablecer tráfico",
"scanToPay": "Por favor, escanee para pagar",
"status": {
"0": "estado",
diff --git a/apps/user/locales/es-MX/order.json b/apps/user/locales/es-MX/order.json
index 963376f..af62f1d 100644
--- a/apps/user/locales/es-MX/order.json
+++ b/apps/user/locales/es-MX/order.json
@@ -1,4 +1,5 @@
{
+ "balanceRecharge": "Recarga de Saldo",
"cancel": "Cancelar",
"createdAt": "Fecha de creación",
"detail": "Detalles",
@@ -20,6 +21,9 @@
"paymentMethod": "Método de Pago",
"paymentSuccess": "Pago exitoso",
"productList": "Lista de productos",
+ "rechargeAmount": "Monto de Recarga",
+ "resetPrice": "Restablecer Precio",
+ "resetTraffic": "Restablecer Tráfico",
"scanToPay": "Por favor, escanee para pagar",
"status": {
"0": "Estado",
diff --git a/apps/user/locales/fa-IR/order.json b/apps/user/locales/fa-IR/order.json
index b461341..d23c022 100644
--- a/apps/user/locales/fa-IR/order.json
+++ b/apps/user/locales/fa-IR/order.json
@@ -1,4 +1,5 @@
{
+ "balanceRecharge": "شارژ موجودی",
"cancel": "لغو",
"createdAt": "ایجاد شده در",
"detail": "جزئیات",
@@ -20,6 +21,9 @@
"paymentMethod": "روش پرداخت",
"paymentSuccess": "پرداخت موفق",
"productList": "فهرست محصولات",
+ "rechargeAmount": "مقدار شارژ",
+ "resetPrice": "تنظیم مجدد قیمت",
+ "resetTraffic": "تنظیم مجدد ترافیک",
"scanToPay": "اسکن برای پرداخت",
"status": {
"0": "وضعیت",
diff --git a/apps/user/locales/fi-FI/order.json b/apps/user/locales/fi-FI/order.json
index a1d3547..d8d0667 100644
--- a/apps/user/locales/fi-FI/order.json
+++ b/apps/user/locales/fi-FI/order.json
@@ -1,4 +1,5 @@
{
+ "balanceRecharge": "Saldo Lataus",
"cancel": "Peruuta",
"createdAt": "Luontiaika",
"detail": "Yksityiskohdat",
@@ -20,6 +21,9 @@
"paymentMethod": "Maksutapa",
"paymentSuccess": "Maksu onnistui",
"productList": "Tuotelista",
+ "rechargeAmount": "Latausmäärä",
+ "resetPrice": "Nollaa Hinta",
+ "resetTraffic": "Nollaa Liikenne",
"scanToPay": "Ole hyvä ja skannaa maksaaksesi",
"status": {
"0": "Tila",
diff --git a/apps/user/locales/fr-FR/order.json b/apps/user/locales/fr-FR/order.json
index 3c30f4f..bbce99b 100644
--- a/apps/user/locales/fr-FR/order.json
+++ b/apps/user/locales/fr-FR/order.json
@@ -1,4 +1,5 @@
{
+ "balanceRecharge": "Recharge de Solde",
"cancel": "Annuler",
"createdAt": "Date de création",
"detail": "Détails",
@@ -20,6 +21,9 @@
"paymentMethod": "Méthode de paiement",
"paymentSuccess": "Paiement réussi",
"productList": "Liste des produits",
+ "rechargeAmount": "Montant du Recharge",
+ "resetPrice": "Réinitialiser le Prix",
+ "resetTraffic": "Réinitialiser le Trafic",
"scanToPay": "Veuillez scanner pour payer",
"status": {
"0": "Statut",
diff --git a/apps/user/locales/hi-IN/order.json b/apps/user/locales/hi-IN/order.json
index 4217950..2d3d56e 100644
--- a/apps/user/locales/hi-IN/order.json
+++ b/apps/user/locales/hi-IN/order.json
@@ -1,4 +1,5 @@
{
+ "balanceRecharge": "बैलेंस रिचार्ज",
"cancel": "रद्द करें",
"createdAt": "निर्माण समय",
"detail": "विवरण",
@@ -20,6 +21,9 @@
"paymentMethod": "भुगतान विधि",
"paymentSuccess": "भुगतान सफल",
"productList": "उत्पाद सूची",
+ "rechargeAmount": "रिचार्ज राशि",
+ "resetPrice": "रीसेट मूल्य",
+ "resetTraffic": "रीसेट ट्रैफिक",
"scanToPay": "कृपया स्कैन करके भुगतान करें",
"status": {
"0": "स्थिति",
diff --git a/apps/user/locales/hu-HU/order.json b/apps/user/locales/hu-HU/order.json
index c62fb9b..10f8fb4 100644
--- a/apps/user/locales/hu-HU/order.json
+++ b/apps/user/locales/hu-HU/order.json
@@ -1,4 +1,5 @@
{
+ "balanceRecharge": "Egyenleg Feltöltés",
"cancel": "Mégse",
"createdAt": "Létrehozás ideje",
"detail": "Részletek",
@@ -20,6 +21,9 @@
"paymentMethod": "Fizetési mód",
"paymentSuccess": "Fizetés sikeres",
"productList": "Terméklista",
+ "rechargeAmount": "Feltöltési Összeg",
+ "resetPrice": "Ár Visszaállítása",
+ "resetTraffic": "Forgalom Visszaállítása",
"scanToPay": "Kérjük, olvassa be a kódot a fizetéshez",
"status": {
"0": "Állapot",
diff --git a/apps/user/locales/ja-JP/order.json b/apps/user/locales/ja-JP/order.json
index cf181d1..f8c1998 100644
--- a/apps/user/locales/ja-JP/order.json
+++ b/apps/user/locales/ja-JP/order.json
@@ -1,4 +1,5 @@
{
+ "balanceRecharge": "残高のチャージ",
"cancel": "キャンセル",
"createdAt": "作成日時",
"detail": "詳細",
@@ -20,6 +21,9 @@
"paymentMethod": "支払い方法",
"paymentSuccess": "支払い成功",
"productList": "製品リスト",
+ "rechargeAmount": "チャージ金額",
+ "resetPrice": "価格のリセット",
+ "resetTraffic": "トラフィックのリセット",
"scanToPay": "スキャンしてお支払いください",
"status": {
"0": "状態",
diff --git a/apps/user/locales/ko-KR/order.json b/apps/user/locales/ko-KR/order.json
index d4f3d83..47b6e67 100644
--- a/apps/user/locales/ko-KR/order.json
+++ b/apps/user/locales/ko-KR/order.json
@@ -1,4 +1,5 @@
{
+ "balanceRecharge": "잔액 충전",
"cancel": "취소",
"createdAt": "생성 시간",
"detail": "세부사항",
@@ -20,6 +21,9 @@
"paymentMethod": "결제 수단",
"paymentSuccess": "결제 성공",
"productList": "제품 목록",
+ "rechargeAmount": "충전 금액",
+ "resetPrice": "가격 초기화",
+ "resetTraffic": "트래픽 초기화",
"scanToPay": "스캔하여 결제하세요",
"status": {
"0": "상태",
diff --git a/apps/user/locales/no-NO/order.json b/apps/user/locales/no-NO/order.json
index 0faf458..3e120e9 100644
--- a/apps/user/locales/no-NO/order.json
+++ b/apps/user/locales/no-NO/order.json
@@ -1,4 +1,5 @@
{
+ "balanceRecharge": "Balansopplading",
"cancel": "Avbryt",
"createdAt": "Opprettet",
"detail": "Detaljer",
@@ -20,6 +21,9 @@
"paymentMethod": "Betalingsmetode",
"paymentSuccess": "Betaling vellykket",
"productList": "Produktliste",
+ "rechargeAmount": "Oppladingsbeløp",
+ "resetPrice": "Tilbakestill pris",
+ "resetTraffic": "Tilbakestill trafikk",
"scanToPay": "Vennligst skann for å betale",
"status": {
"0": "Status",
diff --git a/apps/user/locales/pl-PL/order.json b/apps/user/locales/pl-PL/order.json
index d036f53..e52ba29 100644
--- a/apps/user/locales/pl-PL/order.json
+++ b/apps/user/locales/pl-PL/order.json
@@ -1,4 +1,5 @@
{
+ "balanceRecharge": "Doładowanie balansu",
"cancel": "Anuluj",
"createdAt": "Czas utworzenia",
"detail": "Szczegóły",
@@ -20,6 +21,9 @@
"paymentMethod": "Metoda płatności",
"paymentSuccess": "Płatność zakończona sukcesem",
"productList": "Lista produktów",
+ "rechargeAmount": "Kwota doładowania",
+ "resetPrice": "Resetuj cenę",
+ "resetTraffic": "Resetuj ruch",
"scanToPay": "Zeskanuj kod, aby zapłacić",
"status": {
"0": "Status",
diff --git a/apps/user/locales/pt-BR/order.json b/apps/user/locales/pt-BR/order.json
index 4e62f3d..6d9f84c 100644
--- a/apps/user/locales/pt-BR/order.json
+++ b/apps/user/locales/pt-BR/order.json
@@ -1,4 +1,5 @@
{
+ "balanceRecharge": "Recarga de Saldo",
"cancel": "Cancelar",
"createdAt": "Data de Criação",
"detail": "Detalhes",
@@ -20,6 +21,9 @@
"paymentMethod": "Método de Pagamento",
"paymentSuccess": "Pagamento bem-sucedido",
"productList": "Lista de Produtos",
+ "rechargeAmount": "Valor da Recarga",
+ "resetPrice": "Redefinir Preço",
+ "resetTraffic": "Redefinir Tráfego",
"scanToPay": "Por favor, escaneie para pagar",
"status": {
"0": "status",
diff --git a/apps/user/locales/ro-RO/order.json b/apps/user/locales/ro-RO/order.json
index 8cf904d..1977443 100644
--- a/apps/user/locales/ro-RO/order.json
+++ b/apps/user/locales/ro-RO/order.json
@@ -1,4 +1,5 @@
{
+ "balanceRecharge": "Reîncărcare Sold",
"cancel": "Anulare",
"createdAt": "Data creării",
"detail": "Detalii",
@@ -20,6 +21,9 @@
"paymentMethod": "Metodă de plată",
"paymentSuccess": "Plata a fost efectuată cu succes",
"productList": "Listă de produse",
+ "rechargeAmount": "Sumă de Reîncărcare",
+ "resetPrice": "Resetare Preț",
+ "resetTraffic": "Resetare Trafic",
"scanToPay": "Vă rugăm să scanați pentru a plăti",
"status": {
"0": "stare",
diff --git a/apps/user/locales/ru-RU/order.json b/apps/user/locales/ru-RU/order.json
index 65c7331..6dfc010 100644
--- a/apps/user/locales/ru-RU/order.json
+++ b/apps/user/locales/ru-RU/order.json
@@ -1,4 +1,5 @@
{
+ "balanceRecharge": "Пополнение баланса",
"cancel": "Отмена",
"createdAt": "Время создания",
"detail": "Подробности",
@@ -20,6 +21,9 @@
"paymentMethod": "Способ оплаты",
"paymentSuccess": "Оплата успешно завершена",
"productList": "Список продуктов",
+ "rechargeAmount": "Сумма пополнения",
+ "resetPrice": "Сброс цены",
+ "resetTraffic": "Сброс трафика",
"scanToPay": "Пожалуйста, отсканируйте для оплаты",
"status": {
"0": "Статус",
diff --git a/apps/user/locales/th-TH/order.json b/apps/user/locales/th-TH/order.json
index a7ba69e..5356433 100644
--- a/apps/user/locales/th-TH/order.json
+++ b/apps/user/locales/th-TH/order.json
@@ -1,4 +1,5 @@
{
+ "balanceRecharge": "เติมเงินยอดคงเหลือ",
"cancel": "ยกเลิก",
"createdAt": "เวลาที่สร้าง",
"detail": "รายละเอียด",
@@ -20,6 +21,9 @@
"paymentMethod": "วิธีการชำระเงิน",
"paymentSuccess": "ชำระเงินสำเร็จ",
"productList": "รายการสินค้า",
+ "rechargeAmount": "จำนวนเงินที่เติม",
+ "resetPrice": "รีเซ็ตราคา",
+ "resetTraffic": "รีเซ็ตการใช้งาน",
"scanToPay": "กรุณาสแกนเพื่อชำระเงิน",
"status": {
"0": "สถานะ",
diff --git a/apps/user/locales/tr-TR/order.json b/apps/user/locales/tr-TR/order.json
index 819aed3..eed58de 100644
--- a/apps/user/locales/tr-TR/order.json
+++ b/apps/user/locales/tr-TR/order.json
@@ -1,4 +1,5 @@
{
+ "balanceRecharge": "Bakiye Yenileme",
"cancel": "İptal",
"createdAt": "Oluşturulma Zamanı",
"detail": "Detaylar",
@@ -20,6 +21,9 @@
"paymentMethod": "Ödeme Yöntemi",
"paymentSuccess": "Ödeme Başarılı",
"productList": "Ürün Listesi",
+ "rechargeAmount": "Yenileme Tutarı",
+ "resetPrice": "Fiyatı Sıfırla",
+ "resetTraffic": "Trafiği Sıfırla",
"scanToPay": "Lütfen tarayıcı ile ödeme yapın",
"status": {
"0": "Durum",
diff --git a/apps/user/locales/uk-UA/order.json b/apps/user/locales/uk-UA/order.json
index 98df38c..8de8a51 100644
--- a/apps/user/locales/uk-UA/order.json
+++ b/apps/user/locales/uk-UA/order.json
@@ -1,4 +1,5 @@
{
+ "balanceRecharge": "Поповнення балансу",
"cancel": "Скасувати",
"createdAt": "Час створення",
"detail": "Деталі",
@@ -20,6 +21,9 @@
"paymentMethod": "Спосіб оплати",
"paymentSuccess": "Оплата успішна",
"productList": "Список продуктів",
+ "rechargeAmount": "Сума поповнення",
+ "resetPrice": "Скинути ціну",
+ "resetTraffic": "Скинути трафік",
"scanToPay": "Будь ласка, відскануйте для оплати",
"status": {
"0": "Статус",
diff --git a/apps/user/locales/vi-VN/order.json b/apps/user/locales/vi-VN/order.json
index d012247..edbb15e 100644
--- a/apps/user/locales/vi-VN/order.json
+++ b/apps/user/locales/vi-VN/order.json
@@ -1,4 +1,5 @@
{
+ "balanceRecharge": "Nạp Tiền Vào Tài Khoản",
"cancel": "Hủy",
"createdAt": "Thời gian tạo",
"detail": "Chi tiết",
@@ -20,6 +21,9 @@
"paymentMethod": "Phương Thức Thanh Toán",
"paymentSuccess": "Thanh toán thành công",
"productList": "Danh sách sản phẩm",
+ "rechargeAmount": "Số Tiền Nạp",
+ "resetPrice": "Đặt Lại Giá",
+ "resetTraffic": "Đặt Lại Lưu Lượng",
"scanToPay": "Vui lòng quét mã để thanh toán",
"status": {
"0": "Trạng thái",
diff --git a/apps/user/locales/zh-CN/order.json b/apps/user/locales/zh-CN/order.json
index dd16d3c..8c5aaa1 100644
--- a/apps/user/locales/zh-CN/order.json
+++ b/apps/user/locales/zh-CN/order.json
@@ -1,4 +1,5 @@
{
+ "balanceRecharge": "余额充值",
"cancel": "取消",
"createdAt": "创建时间",
"detail": "详情",
@@ -20,6 +21,9 @@
"paymentMethod": "支付方式",
"paymentSuccess": "支付成功",
"productList": "产品列表",
+ "rechargeAmount": "充值金额",
+ "resetPrice": "重置价格",
+ "resetTraffic": "重置流量",
"scanToPay": "请扫码支付",
"status": {
"0": "状态",
diff --git a/apps/user/locales/zh-HK/order.json b/apps/user/locales/zh-HK/order.json
index 69469da..3dada75 100644
--- a/apps/user/locales/zh-HK/order.json
+++ b/apps/user/locales/zh-HK/order.json
@@ -1,4 +1,5 @@
{
+ "balanceRecharge": "餘額充值",
"cancel": "取消",
"createdAt": "建立時間",
"detail": "詳情",
@@ -20,6 +21,9 @@
"paymentMethod": "付款方式",
"paymentSuccess": "付款成功",
"productList": "產品列表",
+ "rechargeAmount": "充值金額",
+ "resetPrice": "重置價格",
+ "resetTraffic": "重置流量",
"scanToPay": "請掃碼支付",
"status": {
"0": "狀態",
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/utils/tutorial.ts b/apps/user/utils/tutorial.ts
index 9f5b76b..a635c03 100644
--- a/apps/user/utils/tutorial.ts
+++ b/apps/user/utils/tutorial.ts
@@ -13,8 +13,8 @@ async function getVersion() {
async function getVersionPath() {
return getVersion()
- .then(version => `${BASE_URL}@${version}`)
- .catch(error => {
+ .then((version) => `${BASE_URL}@${version}`)
+ .catch((error) => {
console.warn('Error fetching the version:', error);
return BASE_URL;
});
@@ -51,7 +51,7 @@ type TutorialItem = {
};
const processIcon = (item: TutorialItem) => {
- if ("icon" in item && typeof item.icon === 'string' && !item.icon.startsWith('http')) {
+ if ('icon' in item && typeof item.icon === 'string' && !item.icon.startsWith('http')) {
item.icon = `${BASE_URL}/${item.icon}`;
}
};
@@ -66,7 +66,7 @@ export async function getTutorialList() {
Object.values(navigation)
.flat()
- .forEach(item => {
+ .forEach((item) => {
item.subItems?.forEach(processIcon);
});