mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-09-19 16:37:19 +00:00
feat(sub): redesign the subscription page around usage, tabs and app imports
The info page was a long key/value table followed by every link and two app dropdowns, and it rendered left-to-right even for Persian and Arabic. It now leads with a usage ring, the remaining quota and a stats grid, and splits the rest into Subscription / Apps / Configs tabs. - Status tells expired, data-used-up and disabled apart instead of one "Inactive", replacing the hard-coded English expiry chip. - The Apps tab keeps every Android and iOS app with its existing deep link, preselects the visitor's platform and adds Windows: Hiddify and Clash Verge Rev import directly, v2rayN copies the link. - fa-IR and ar-EG render right-to-left; URLs, IDs and sizes stay LTR. - The footer shows the support link and the client refresh interval, so subPageContext now carries subUpdates (also in ?format=info). - Status, days-left and app deep-link logic lives in subPageModel.ts, with unit tests pinning the deep links the page already shipped.
This commit is contained in:
@@ -80,7 +80,6 @@
|
||||
"somethingWentWrong": "Đã xảy ra lỗi",
|
||||
"subscription": {
|
||||
"title": "Thông tin đăng ký",
|
||||
"subId": "ID đăng ký",
|
||||
"status": "Trạng thái",
|
||||
"downloaded": "Đã tải xuống",
|
||||
"uploaded": "Đã tải lên",
|
||||
@@ -93,7 +92,20 @@
|
||||
"noExpiry": "Không hết hạn",
|
||||
"copyAllConfigs": "Sao chép tất cả cấu hình",
|
||||
"copyAllConfigsCopied": "Đã sao chép tất cả cấu hình",
|
||||
"email": "Email"
|
||||
"daysLeft": "Số ngày còn lại",
|
||||
"expired": "Đã hết hạn",
|
||||
"depleted": "Hết dung lượng",
|
||||
"ofTotal": "trên {total}",
|
||||
"tabLinks": "Gói đăng ký",
|
||||
"tabApps": "Ứng dụng",
|
||||
"tabConfigs": "Cấu hình",
|
||||
"scanTitle": "Quét bằng điện thoại",
|
||||
"scanHint": "Quét mã này trong ứng dụng VPN để thêm gói đăng ký mà không cần sao chép liên kết.",
|
||||
"updateInterval": "Tự động cập nhật mỗi {hours} giờ",
|
||||
"support": "Hỗ trợ",
|
||||
"qrTitle": "Quét. Nhập. Kết nối.",
|
||||
"qrHint": "Quét bằng ứng dụng khách. Không chia sẻ mã này cho người khác.",
|
||||
"saveQr": "Lưu QR"
|
||||
},
|
||||
"menu": {
|
||||
"theme": "Chủ đề",
|
||||
|
||||
Reference in New Issue
Block a user