feat: grouped nav tree with badges, dashboard events section with filtered chart
Navigation: - Restructure flat nav into grouped tree: Notification (Trackers, Configs, Templates), Commands (same), Bots (Telegram), Settings (Common, Users) - Collapsible groups with expand/collapse state persisted in localStorage - Auto-expand group containing the active page - Counter badges on groups (sum of children) and individual items - New /api/status/counts endpoint for nav badge data - Mobile bottom nav uses flattened key pages Dashboard: - Rename "Recent Events" to "Events" - Move chart under Events section (after filters, before event list) - Filters (event type, provider, search) now affect both the event list AND the chart simultaneously - Add event_type, provider_id, search filter params to /api/status/chart
This commit is contained in:
@@ -16,7 +16,17 @@
|
||||
"cmdTemplateConfigs": "Cmd Templates",
|
||||
"users": "Users",
|
||||
"settings": "Settings",
|
||||
"logout": "Logout"
|
||||
"logout": "Logout",
|
||||
"notification": "Notification",
|
||||
"commands": "Commands",
|
||||
"bots": "Bots",
|
||||
"trackers": "Trackers",
|
||||
"configs": "Configs",
|
||||
"templates": "Templates",
|
||||
"telegram": "Telegram",
|
||||
"email": "Email",
|
||||
"matrix": "Matrix",
|
||||
"common": "Common"
|
||||
},
|
||||
"auth": {
|
||||
"signIn": "Sign in",
|
||||
@@ -39,7 +49,7 @@
|
||||
"providers": "Providers",
|
||||
"activeTrackers": "Active Trackers",
|
||||
"targets": "Targets",
|
||||
"recentEvents": "Recent Events",
|
||||
"recentEvents": "Events",
|
||||
"noEvents": "No events yet. Create a tracker to start monitoring.",
|
||||
"loading": "Loading...",
|
||||
"justNow": "just now",
|
||||
@@ -253,7 +263,7 @@
|
||||
"enabledCommands": "Enabled commands",
|
||||
"defaultCount": "Default count",
|
||||
"responseMode": "Response mode",
|
||||
"modeMedia": "Media (photos)",
|
||||
"modeMedia": "Media (files)",
|
||||
"modeText": "Text only",
|
||||
"botLocale": "Bot language",
|
||||
"rateLimits": "Rate Limits",
|
||||
@@ -396,13 +406,27 @@
|
||||
"invalidFormat": "Invalid format string"
|
||||
},
|
||||
"templateVars": {
|
||||
"message_assets_added": { "description": "Notification when new assets are added to an album" },
|
||||
"message_assets_removed": { "description": "Notification when assets are removed from an album" },
|
||||
"message_album_renamed": { "description": "Notification when an album is renamed" },
|
||||
"message_album_deleted": { "description": "Notification when an album is deleted" },
|
||||
"periodic_summary_message": { "description": "Periodic album summary (scheduler not yet implemented)" },
|
||||
"scheduled_assets_message": { "description": "Scheduled asset delivery (scheduler not yet implemented)" },
|
||||
"memory_mode_message": { "description": "\"On This Day\" memories (scheduler not yet implemented)" },
|
||||
"message_assets_added": {
|
||||
"description": "Notification when new assets are added to an album"
|
||||
},
|
||||
"message_assets_removed": {
|
||||
"description": "Notification when assets are removed from an album"
|
||||
},
|
||||
"message_album_renamed": {
|
||||
"description": "Notification when an album is renamed"
|
||||
},
|
||||
"message_album_deleted": {
|
||||
"description": "Notification when an album is deleted"
|
||||
},
|
||||
"periodic_summary_message": {
|
||||
"description": "Periodic album summary (scheduler not yet implemented)"
|
||||
},
|
||||
"scheduled_assets_message": {
|
||||
"description": "Scheduled asset delivery (scheduler not yet implemented)"
|
||||
},
|
||||
"memory_mode_message": {
|
||||
"description": "\"On This Day\" memories (scheduler not yet implemented)"
|
||||
},
|
||||
"album_id": "Album ID (UUID)",
|
||||
"album_name": "Album name",
|
||||
"album_url": "Public share URL (empty if not shared)",
|
||||
@@ -544,7 +568,7 @@
|
||||
"enabledCommands": "Enabled Commands",
|
||||
"locale": "Locale",
|
||||
"responseMode": "Response Mode",
|
||||
"modeMedia": "Media (photos)",
|
||||
"modeMedia": "Media (files)",
|
||||
"modeText": "Text only",
|
||||
"defaultCount": "Default Count",
|
||||
"rateLimits": "Rate Limits",
|
||||
@@ -662,4 +686,4 @@
|
||||
"line": "line",
|
||||
"add": "Add"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -16,7 +16,17 @@
|
||||
"cmdTemplateConfigs": "Шаблоны команд",
|
||||
"users": "Пользователи",
|
||||
"settings": "Настройки",
|
||||
"logout": "Выход"
|
||||
"logout": "Выход",
|
||||
"notification": "Уведомления",
|
||||
"commands": "Команды",
|
||||
"bots": "Боты",
|
||||
"trackers": "Трекеры",
|
||||
"configs": "Настройки",
|
||||
"templates": "Шаблоны",
|
||||
"telegram": "Telegram",
|
||||
"email": "Email",
|
||||
"matrix": "Matrix",
|
||||
"common": "Общие"
|
||||
},
|
||||
"auth": {
|
||||
"signIn": "Войти",
|
||||
@@ -39,7 +49,7 @@
|
||||
"providers": "Провайдеры",
|
||||
"activeTrackers": "Активные трекеры",
|
||||
"targets": "Получатели",
|
||||
"recentEvents": "Последние события",
|
||||
"recentEvents": "События",
|
||||
"noEvents": "Событий пока нет. Создайте трекер для отслеживания.",
|
||||
"loading": "Загрузка...",
|
||||
"justNow": "только что",
|
||||
@@ -253,7 +263,7 @@
|
||||
"enabledCommands": "Включённые команды",
|
||||
"defaultCount": "Кол-во по умолчанию",
|
||||
"responseMode": "Режим ответа",
|
||||
"modeMedia": "Медиа (фото)",
|
||||
"modeMedia": "Медиа (файлы)",
|
||||
"modeText": "Только текст",
|
||||
"botLocale": "Язык бота",
|
||||
"rateLimits": "Ограничения частоты",
|
||||
@@ -396,13 +406,27 @@
|
||||
"invalidFormat": "Некорректная строка формата"
|
||||
},
|
||||
"templateVars": {
|
||||
"message_assets_added": { "description": "Уведомление о добавлении файлов в альбом" },
|
||||
"message_assets_removed": { "description": "Уведомление об удалении файлов из альбома" },
|
||||
"message_album_renamed": { "description": "Уведомление о переименовании альбома" },
|
||||
"message_album_deleted": { "description": "Уведомление об удалении альбома" },
|
||||
"periodic_summary_message": { "description": "Периодическая сводка альбомов (планировщик не реализован)" },
|
||||
"scheduled_assets_message": { "description": "Запланированная подборка фото (планировщик не реализован)" },
|
||||
"memory_mode_message": { "description": "«В этот день» — воспоминания (планировщик не реализован)" },
|
||||
"message_assets_added": {
|
||||
"description": "Уведомление о добавлении файлов в альбом"
|
||||
},
|
||||
"message_assets_removed": {
|
||||
"description": "Уведомление об удалении файлов из альбома"
|
||||
},
|
||||
"message_album_renamed": {
|
||||
"description": "Уведомление о переименовании альбома"
|
||||
},
|
||||
"message_album_deleted": {
|
||||
"description": "Уведомление об удалении альбома"
|
||||
},
|
||||
"periodic_summary_message": {
|
||||
"description": "Периодическая сводка альбомов (планировщик не реализован)"
|
||||
},
|
||||
"scheduled_assets_message": {
|
||||
"description": "Запланированная подборка фото (планировщик не реализован)"
|
||||
},
|
||||
"memory_mode_message": {
|
||||
"description": "«В этот день» — воспоминания (планировщик не реализован)"
|
||||
},
|
||||
"album_id": "ID альбома (UUID)",
|
||||
"album_name": "Название альбома",
|
||||
"album_url": "Публичная ссылка (пусто, если не расшарен)",
|
||||
@@ -544,7 +568,7 @@
|
||||
"enabledCommands": "Включённые команды",
|
||||
"locale": "Язык",
|
||||
"responseMode": "Режим ответа",
|
||||
"modeMedia": "Медиа (фото)",
|
||||
"modeMedia": "Медиа (файлы)",
|
||||
"modeText": "Только текст",
|
||||
"defaultCount": "Кол-во по умолчанию",
|
||||
"rateLimits": "Ограничения частоты",
|
||||
@@ -662,4 +686,4 @@
|
||||
"line": "строка",
|
||||
"add": "Добавить"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user