feat(settings): add left navigation sidebar to settings modal

Implement two-column layout for improved settings navigation:
- Add 200px fixed navigation sidebar with 4 groups (General, Interface, Download, Advanced)
- Implement scroll spy to highlight current section during scroll
- Add smooth scrolling when clicking navigation items
- Extend modal width from 700px to 950px for better content display
- Add responsive mobile layout (switches to stacked view below 768px)
- Add i18n keys for navigation group titles
- Create documentation for optimization phases and progress tracking

Files changed:
- settings-modal.css: Add sidebar, navigation, and responsive styles
- settings_modal.html: Restructure with two-column layout and section IDs
- SettingsManager.js: Add initializeNavigation() with scroll spy
- locales/*.json: Add settings.nav translations (en, zh-CN, zh-TW, ja, ru, de, fr, es, ko, he)
- docs/ui-ux-optimization/: Add proposal and progress tracker documentation
This commit is contained in:
Will Miao
2026-02-23 21:12:15 +08:00
parent 916bfb0ab0
commit 528225ffbd
15 changed files with 691 additions and 17 deletions

View File

@@ -269,6 +269,12 @@
"storageLocation": "Einstellungsort",
"proxySettings": "Proxy-Einstellungen"
},
"nav": {
"general": "[TODO: Translate] General",
"interface": "[TODO: Translate] Interface",
"download": "[TODO: Translate] Download",
"advanced": "[TODO: Translate] Advanced"
},
"storage": {
"locationLabel": "Portabler Modus",
"locationHelp": "Aktiviere, um settings.json im Repository zu belassen; deaktiviere, um es im Benutzerkonfigurationsordner zu speichern."

View File

@@ -269,6 +269,12 @@
"storageLocation": "Settings Location",
"proxySettings": "Proxy Settings"
},
"nav": {
"general": "General",
"interface": "Interface",
"download": "Download",
"advanced": "Advanced"
},
"storage": {
"locationLabel": "Portable mode",
"locationHelp": "Enable to keep settings.json inside the repository; disable to store it in your user config directory."

View File

@@ -269,6 +269,12 @@
"storageLocation": "Ubicación de ajustes",
"proxySettings": "Configuración de proxy"
},
"nav": {
"general": "[TODO: Translate] General",
"interface": "[TODO: Translate] Interface",
"download": "[TODO: Translate] Download",
"advanced": "[TODO: Translate] Advanced"
},
"storage": {
"locationLabel": "Modo portátil",
"locationHelp": "Activa para mantener settings.json dentro del repositorio; desactívalo para guardarlo en tu directorio de configuración de usuario."

View File

@@ -269,6 +269,12 @@
"storageLocation": "Emplacement des paramètres",
"proxySettings": "Paramètres du proxy"
},
"nav": {
"general": "[TODO: Translate] General",
"interface": "[TODO: Translate] Interface",
"download": "[TODO: Translate] Download",
"advanced": "[TODO: Translate] Advanced"
},
"storage": {
"locationLabel": "Mode portable",
"locationHelp": "Activez pour garder settings.json dans le dépôt ; désactivez pour le placer dans votre dossier de configuration utilisateur."

View File

@@ -269,6 +269,12 @@
"storageLocation": "מיקום ההגדרות",
"proxySettings": "הגדרות פרוקסי"
},
"nav": {
"general": "[TODO: Translate] General",
"interface": "[TODO: Translate] Interface",
"download": "[TODO: Translate] Download",
"advanced": "[TODO: Translate] Advanced"
},
"storage": {
"locationLabel": "מצב נייד",
"locationHelp": "הפעל כדי לשמור את settings.json בתוך המאגר; בטל כדי לשמור אותו בתיקיית ההגדרות של המשתמש."

View File

@@ -269,6 +269,12 @@
"storageLocation": "設定の場所",
"proxySettings": "プロキシ設定"
},
"nav": {
"general": "[TODO: Translate] General",
"interface": "[TODO: Translate] Interface",
"download": "[TODO: Translate] Download",
"advanced": "[TODO: Translate] Advanced"
},
"storage": {
"locationLabel": "ポータブルモード",
"locationHelp": "有効にすると settings.json をリポジトリ内に保持し、無効にするとユーザー設定ディレクトリに格納します。"

View File

@@ -269,6 +269,12 @@
"storageLocation": "설정 위치",
"proxySettings": "프록시 설정"
},
"nav": {
"general": "[TODO: Translate] General",
"interface": "[TODO: Translate] Interface",
"download": "[TODO: Translate] Download",
"advanced": "[TODO: Translate] Advanced"
},
"storage": {
"locationLabel": "휴대용 모드",
"locationHelp": "활성화하면 settings.json을 리포지토리에 유지하고, 비활성화하면 사용자 구성 디렉터리에 저장합니다."
@@ -1624,4 +1630,4 @@
"retry": "다시 시도"
}
}
}
}

View File

@@ -269,6 +269,12 @@
"storageLocation": "Расположение настроек",
"proxySettings": "Настройки прокси"
},
"nav": {
"general": "[TODO: Translate] General",
"interface": "[TODO: Translate] Interface",
"download": "[TODO: Translate] Download",
"advanced": "[TODO: Translate] Advanced"
},
"storage": {
"locationLabel": "Портативный режим",
"locationHelp": "Включите, чтобы хранить settings.json в репозитории; выключите, чтобы сохранить его в папке конфигурации пользователя."

View File

@@ -269,6 +269,12 @@
"storageLocation": "设置位置",
"proxySettings": "代理设置"
},
"nav": {
"general": "[TODO: Translate] General",
"interface": "[TODO: Translate] Interface",
"download": "[TODO: Translate] Download",
"advanced": "[TODO: Translate] Advanced"
},
"storage": {
"locationLabel": "便携模式",
"locationHelp": "开启可将 settings.json 保存在仓库中;关闭则保存在用户配置目录。"

View File

@@ -269,6 +269,12 @@
"storageLocation": "設定位置",
"proxySettings": "代理設定"
},
"nav": {
"general": "[TODO: Translate] General",
"interface": "[TODO: Translate] Interface",
"download": "[TODO: Translate] Download",
"advanced": "[TODO: Translate] Advanced"
},
"storage": {
"locationLabel": "可攜式模式",
"locationHelp": "啟用可將 settings.json 保存在儲存庫中;停用則保存在使用者設定目錄。"