feat(settings): per-user language preference and panel improvements
Store UI language per user (users.language column, migration 26). Language selector moves from Panel tab to Profile tab — each account picks its own language, saved to DB and applied via i18n.changeLanguage() on save so the interface switches immediately. Panel tab: panel_name read-only (falls back to env PANEL_NAME), log_retention_days field exposed in UI, language selector removed. Panel API accepts panel_name in PUT so it can be overridden in DB without touching the env var. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -41,6 +41,7 @@ interface ProfileResponse {
|
||||
is_admin: boolean;
|
||||
is_active: boolean;
|
||||
ssh_public_key?: string;
|
||||
language: string;
|
||||
created_at: string;
|
||||
last_login?: string;
|
||||
}
|
||||
|
||||
@@ -681,6 +681,8 @@
|
||||
"session_timeout": "Session Timeout",
|
||||
"seconds": "seconds",
|
||||
"minutes": "minutes",
|
||||
"days": "days",
|
||||
"log_retention_days": "Log Retention",
|
||||
"security_saved": "Security settings saved",
|
||||
"version": "Version",
|
||||
"check_updates": "Check for Updates",
|
||||
|
||||
@@ -681,6 +681,8 @@
|
||||
"session_timeout": "Таймаут сессии",
|
||||
"seconds": "секунд",
|
||||
"minutes": "минут",
|
||||
"days": "дней",
|
||||
"log_retention_days": "Хранение логов",
|
||||
"security_saved": "Настройки безопасности сохранены",
|
||||
"version": "Версия",
|
||||
"check_updates": "Проверить обновления",
|
||||
|
||||
Reference in New Issue
Block a user