feat(phase3): import/export, sparklines, user theme overrides
- JSON import/export with conflict resolution (skip/overwrite) + admin UI - Ping history sparklines on AppWidget and AppCard (24h, 288 points) - Hourly cleanup job for old AppStatus records - User theme preferences (hue, saturation, mode, background, locale) - Settings page with ThemeCustomizer (sliders, toggles, live preview) - Prisma migration for user preference fields - i18n translations for all new strings (EN/RU)
This commit is contained in:
+31
-1
@@ -127,6 +127,8 @@
|
||||
"app.healthcheck_timeout": "Timeout (ms)",
|
||||
"app.healthcheck_interval": "Interval (seconds)",
|
||||
"app.icon_board_label": "Icon (Lucide name)",
|
||||
"app.uptime": "uptime",
|
||||
"app.history_loading": "Loading history...",
|
||||
|
||||
"admin.panel": "Admin Panel",
|
||||
"admin.users": "Users",
|
||||
@@ -213,6 +215,23 @@
|
||||
"admin.perm_none": "No permissions configured.",
|
||||
"admin.perm_search_placeholder": "Type to search...",
|
||||
|
||||
"admin.import_export_title": "Import / Export",
|
||||
"admin.import_export_description": "Export all data (apps, boards, groups, settings) as JSON, or import from a previously exported file.",
|
||||
"admin.export_section": "Export Data",
|
||||
"admin.export_button": "Export JSON",
|
||||
"admin.export_exporting": "Exporting...",
|
||||
"admin.export_success": "Export downloaded successfully.",
|
||||
"admin.import_section": "Import Data",
|
||||
"admin.import_select_file": "Select a JSON export file",
|
||||
"admin.import_preview": "Preview",
|
||||
"admin.import_mode_label": "Conflict Resolution",
|
||||
"admin.import_mode_skip": "Skip existing (keep current data)",
|
||||
"admin.import_mode_overwrite": "Overwrite existing (replace with imported data)",
|
||||
"admin.import_button": "Import",
|
||||
"admin.import_importing": "Importing...",
|
||||
"admin.import_success": "Import completed.",
|
||||
"admin.import_invalid_json": "Selected file is not valid JSON.",
|
||||
|
||||
"search.placeholder": "Search apps and boards...",
|
||||
"search.trigger": "Search...",
|
||||
"search.min_chars": "Type at least 2 characters to search",
|
||||
@@ -261,5 +280,16 @@
|
||||
"home.view_boards": "View Boards",
|
||||
"home.browse_apps": "Browse Apps",
|
||||
|
||||
"language.label": "Language"
|
||||
"language.label": "Language",
|
||||
|
||||
"settings.title": "Settings",
|
||||
"settings.theme": "Theme Mode",
|
||||
"settings.primary_color": "Primary Color",
|
||||
"settings.hue": "Hue",
|
||||
"settings.saturation": "Saturation",
|
||||
"settings.background": "Background Effect",
|
||||
"settings.language": "Language",
|
||||
"settings.save": "Save Preferences",
|
||||
"settings.saving": "Saving...",
|
||||
"settings.saved": "Preferences saved!"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user