From c13db7922edd401c57a3077090af3816aed25373 Mon Sep 17 00:00:00 2001
From: "Shishkevich D." <135337715+shishkevichd@users.noreply.github.com>
Date: Thu, 6 Mar 2025 17:17:25 +0700
Subject: Pretty Panel and Xray settings (#2726)
* chore: refactor `setting-list-item` component
* chore: remove padding
* chore: replace settings list with settings collapse panels
* chore: add missing translations
* chore: fix translation
---
web/html/xui/component/setting.html | 50 ++-
web/html/xui/settings.html | 822 +++++++++++++++++++++--------------
web/html/xui/xray.html | 470 +++++++++-----------
web/translation/translate.en_US.toml | 12 +-
web/translation/translate.es_ES.toml | 12 +-
web/translation/translate.fa_IR.toml | 12 +-
web/translation/translate.id_ID.toml | 12 +-
web/translation/translate.ja_JP.toml | 12 +-
web/translation/translate.pt_BR.toml | 12 +-
web/translation/translate.ru_RU.toml | 12 +-
web/translation/translate.tr_TR.toml | 12 +-
web/translation/translate.uk_UA.toml | 12 +-
web/translation/translate.vi_VN.toml | 12 +-
web/translation/translate.zh_CN.toml | 12 +-
web/translation/translate.zh_TW.toml | 12 +-
15 files changed, 841 insertions(+), 645 deletions(-)
diff --git a/web/html/xui/component/setting.html b/web/html/xui/component/setting.html
index 8adc000c..bc2c6e42 100644
--- a/web/html/xui/component/setting.html
+++ b/web/html/xui/component/setting.html
@@ -1,26 +1,18 @@
{{define "component/settingListItem"}}
-
-
-
-
-
-
-
-
-
+
+
-
+
+
+
+
+
+
+
+
-
-
-
-
- $emit('input', value)" :min="min" :max="max" style="width: 100%;">
-
-
- $emit('input', value)">
-
+
@@ -28,9 +20,21 @@
{{define "component/setting"}}
{{end}}
diff --git a/web/html/xui/settings.html b/web/html/xui/settings.html
index 923a040c..1cccd28d 100644
--- a/web/html/xui/settings.html
+++ b/web/html/xui/settings.html
@@ -108,16 +108,17 @@
-
-
-
-
-
-
- {{ i18n "pages.settings.sampleRemark"}}: #[[ remarkSample ]]
-
-
-
+
+
+
+
+
+ {{ i18n "pages.settings.remarkModel"}}
+
+
+ {{ i18n "pages.settings.sampleRemark"}}: #[[ remarkSample ]]
+
+
[[ key ]]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ i18n "pages.settings.datepickerDescription"}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ {{ i18n "pages.settings.panelListeningIP"}}
+ {{ i18n "pages.settings.panelListeningIPDesc"}}
+
+
+
+
+
+ {{ i18n "pages.settings.panelListeningDomain"}}
+ {{ i18n "pages.settings.panelListeningDomainDesc"}}
+
+
+
+
+
+ {{ i18n "pages.settings.panelPort"}}
+ {{ i18n "pages.settings.panelPortDesc"}}
+
+
+
+
+
+ {{ i18n "pages.settings.panelUrlPath"}}
+ {{ i18n "pages.settings.panelUrlPathDesc"}}
+
+
+
+
+
+ {{ i18n "pages.settings.sessionMaxAge" }}
+ {{ i18n "pages.settings.sessionMaxAgeDesc" }}
+
+
+
+
+
+ {{ i18n "pages.settings.pageSize" }}
+ {{ i18n "pages.settings.pageSizeDesc" }}
+
+
+
+
+
+ {{ i18n "pages.settings.language"}}
+
+
+
+
+
+
+
+
+
+
+
+ {{ i18n "pages.settings.expireTimeDiff" }}
+ {{ i18n "pages.settings.expireTimeDiffDesc" }}
+
+
+
+
+
+ {{ i18n "pages.settings.trafficDiff" }}
+ {{ i18n "pages.settings.trafficDiffDesc" }}
+
+
+
+
+
+
+
+ {{ i18n "pages.settings.publicKeyPath"}}
+ {{ i18n "pages.settings.publicKeyPathDesc"}}
+
+
+
+
+
+ {{ i18n "pages.settings.privateKeyPath"}}
+ {{ i18n "pages.settings.privateKeyPathDesc"}}
+
+
+
+
+
+
+
+ {{ i18n "pages.settings.externalTrafficInformEnable"}}
+ {{ i18n "pages.settings.externalTrafficInformEnableDesc"}}
+
+
+
+
+
+ {{ i18n "pages.settings.externalTrafficInformURI"}}
+ {{ i18n "pages.settings.externalTrafficInformURIDesc"}}
+
+
+
+
+
+
+
+ {{ i18n "pages.settings.timeZone"}}
+ {{ i18n "pages.settings.timeZoneDesc"}}
+
+
+
+
+
+ {{ i18n "pages.settings.datepicker"}}
+ {{ i18n "pages.settings.datepickerDescription"}}
+
+
+
+
+
+
+
+
+
+
-
+
+
+ {{ i18n "pages.settings.oldUsername"}}
+
+
+
+
+
+ {{ i18n "pages.settings.currentPassword"}}
+
+
+
+
+
+ {{ i18n "pages.settings.newUsername"}}
+
+
+
+
+
+ {{ i18n "pages.settings.newPassword"}}
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
{{ i18n "confirm" }}
+
+ {{ i18n "pages.settings.security.loginSecurity" }}
+ {{ i18n "pages.settings.security.loginSecurityDesc" }}
+
+
+
+
+
+
+ {{ i18n "pages.settings.security.secretToken" }}
+ {{ i18n "pages.settings.security.secretTokenDesc" }}
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
{{ i18n "confirm" }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ i18n "pages.settings.telegramBotEnable" }}
+ {{ i18n "pages.settings.telegramBotEnableDesc" }}
+
+
+
+
+
+ {{ i18n "pages.settings.telegramToken"}}
+ {{ i18n "pages.settings.telegramTokenDesc"}}
+
+
+
+
+
+ {{ i18n "pages.settings.telegramChatId"}}
+ {{ i18n "pages.settings.telegramChatIdDesc"}}
+
+
+
+
+
+ {{ i18n "pages.settings.telegramBotLanguage"}}
+
+
+
+
+
+
+
+
+
+
+
+ {{ i18n "pages.settings.telegramNotifyTime"}}
+ {{ i18n "pages.settings.telegramNotifyTimeDesc"}}
+
+
+
+
+
+ {{ i18n "pages.settings.tgNotifyBackup" }}
+ {{ i18n "pages.settings.tgNotifyBackupDesc" }}
+
+
+
+
+
+ {{ i18n "pages.settings.tgNotifyLogin" }}
+ {{ i18n "pages.settings.tgNotifyLoginDesc" }}
+
+
+
+
+
+ {{ i18n "pages.settings.tgNotifyCpu" }}
+ {{ i18n "pages.settings.tgNotifyCpuDesc" }}
+
+
+
+
+
+
+
+ {{ i18n "pages.settings.telegramProxy"}}
+ {{ i18n "pages.settings.telegramProxyDesc"}}
+
+
+
+
+
+ {{ i18n "pages.settings.telegramAPIServer"}}
+ {{ i18n "pages.settings.telegramAPIServerDesc"}}
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ i18n "pages.settings.subEnable"}}
+ {{ i18n "pages.settings.subEnableDesc"}}
+
+
+
+
+
+ {{ i18n "pages.settings.subListen"}}
+ {{ i18n "pages.settings.subListenDesc"}}
+
+
+
+
+
+ {{ i18n "pages.settings.subDomain"}}
+ {{ i18n "pages.settings.subDomainDesc"}}
+
+
+
+
+
+ {{ i18n "pages.settings.subPort"}}
+ {{ i18n "pages.settings.subPortDesc"}}
+
+
+
+
+
+ {{ i18n "pages.settings.subPath"}}
+ {{ i18n "pages.settings.subPathDesc"}}
+
+
+
+
+
+ {{ i18n "pages.settings.subURI"}}
+ {{ i18n "pages.settings.subURIDesc"}}
+
+
+
+
+
+
+
+ {{ i18n "pages.settings.subEncrypt"}}
+ {{ i18n "pages.settings.subEncryptDesc"}}
+
+
+
+
+
+ {{ i18n "pages.settings.subShowInfo"}}
+ {{ i18n "pages.settings.subShowInfoDesc"}}
+
+
+
+
+
+
+
+ {{ i18n "pages.settings.subCertPath"}}
+ {{ i18n "pages.settings.subCertPathDesc"}}
+
+
+
+
+
+ {{ i18n "pages.settings.subKeyPath"}}
+ {{ i18n "pages.settings.subKeyPathDesc"}}
+
+
+
+
+
+
+
+ {{ i18n "pages.settings.subUpdates"}}
+ {{ i18n "pages.settings.subUpdatesDesc"}}
+
+
+
+
+
+
-
-
-
-
-
-
-
-
- {{ i18n "pages.settings.fragmentDesc"}}
-
-
-
+
+
+
+
+ {{ i18n "pages.settings.subPath"}}
+ {{ i18n "pages.settings.subPathDesc"}}
+
+
+
+
+
+ {{ i18n "pages.settings.subURI"}}
+ {{ i18n "pages.settings.subURIDesc"}}
+
+
+
+
+
+
+
+ {{ i18n "pages.settings.fragment"}}
+ {{ i18n "pages.settings.fragmentDesc"}}
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ i18n "pages.settings.noisesDesc"}}
-
-
-
+
+
+
+
+
+
+ Packets
+
+
+
+
+
+ Length
+
+
+
+
+
+ Interval
+
+
+
+
+
+
+
+
+
+
+ Noises
+ {{ i18n "pages.settings.noisesDesc"}}
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+ Type
+
updateNoiseType(index, value)">
[[ p ]]
-
-
-
- updateNoisePacket(index, value)" placeholder="5-10">
- updateNoiseDelay(index, value)" placeholder="10-20">
- Remove
-
-
- Add Noise
-
-
-
-
-
- {{ i18n "pages.settings.muxDesc"}}
-
-
-
+
+
+
+ Packet
+
+ updateNoisePacket(index, event.target.value)" placeholder="5-10">
+
+
+
+ Delay (ms)
+
+ updateNoiseDelay(index, event.target.value)" placeholder="10-20">
+
+
+
+ Remove
+
+
+
+ Add Noise
+
+
+
+
+ {{ i18n "pages.settings.mux"}}
+ {{ i18n "pages.settings.muxDesc"}}
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+ Concurrency
+
+
+
+
+
+ xudp Concurrency
+
+
+
+
+
+ xudp UDP 443
+
[[ p ]]
-
-
-
-
-
-
-
-
-
-
- {{ i18n "pages.settings.directDesc"}}
-
-
-
+
+
+
+
+
+
+
+
+ {{ i18n "pages.settings.direct"}}
+ {{ i18n "pages.settings.directDesc"}}
+
-
-
-
-
-
-
-
-
-
-
-
- [[ p.label ]]
-
-
-
-
-
-
-
-
-
-
-
-
- [[ p.label ]]
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+ {{ i18n "pages.xray.directips" }}
+
+
+ [[ p.label ]]
+
+
+
+
+ {{ i18n "pages.xray.directdomains" }}
+
+
+ [[ p.label ]]
+
+
+
+
+
+
+
+
diff --git a/web/html/xui/xray.html b/web/html/xui/xray.html
index 45ab621f..ac8ed80a 100644
--- a/web/html/xui/xray.html
+++ b/web/html/xui/xray.html
@@ -114,44 +114,54 @@
-
-
-