diff --git a/frontend/src/lib/grid-items.ts b/frontend/src/lib/grid-items.ts index 1a385e3..2045c07 100644 --- a/frontend/src/lib/grid-items.ts +++ b/frontend/src/lib/grid-items.ts @@ -105,8 +105,11 @@ export const chatActionItems = (): GridItem[] => [ // --- Preview target type --- export const previewTargetTypeItems = (): GridItem[] => [ - { value: 'telegram', icon: 'mdiSend', label: t('targets.typeTelegram'), desc: t('gridDesc.previewTelegram') }, - { value: 'webhook', icon: 'mdiWebhook', label: t('targets.typeWebhook'), desc: t('gridDesc.previewWebhook') }, + { value: 'telegram', icon: 'mdiSend', label: 'Telegram', desc: t('gridDesc.previewTelegram') }, + { value: 'webhook', icon: 'mdiWebhook', label: 'Webhook', desc: t('gridDesc.previewWebhook') }, + { value: 'email', icon: 'mdiEmailOutline', label: 'Email', desc: t('gridDesc.previewEmail') }, + { value: 'discord', icon: 'mdiChat', label: 'Discord', desc: t('gridDesc.previewDiscord') }, + { value: 'slack', icon: 'mdiSlack', label: 'Slack', desc: t('gridDesc.previewSlack') }, ]; // --- Provider type items (derived from descriptor registry) --- diff --git a/frontend/src/lib/i18n/en.json b/frontend/src/lib/i18n/en.json index 6916226..3ea2079 100644 --- a/frontend/src/lib/i18n/en.json +++ b/frontend/src/lib/i18n/en.json @@ -60,6 +60,7 @@ "activeTrackers": "Active Trackers", "targets": "Targets", "recentEvents": "Events", + "chart": "Event chart", "noEvents": "No events yet. Create a tracker to start monitoring.", "loading": "Loading...", "justNow": "just now", @@ -837,6 +838,49 @@ "noFilterResults": "No items match the current filter.", "redirecting": "Redirecting..." }, + "templateSlot": { + "message_assets_added": "New assets added to album", + "message_assets_removed": "Assets removed from album", + "message_collection_renamed": "Album renamed", + "message_collection_deleted": "Album deleted", + "message_sharing_changed": "Sharing status changed", + "periodic_summary_message": "Periodic album summary", + "scheduled_assets_message": "Scheduled asset delivery", + "memory_mode_message": "On This Day memories", + "message_push": "Code pushed to repository", + "message_issue_opened": "Issue opened", + "message_issue_closed": "Issue closed", + "message_issue_commented": "Comment on issue", + "message_pr_opened": "Pull request opened", + "message_pr_closed": "Pull request closed", + "message_pr_merged": "Pull request merged", + "message_pr_commented": "Comment on pull request", + "message_release_published": "Release published", + "message_scheduled_message": "Scheduled message", + "message_card_created": "Card created", + "message_card_updated": "Card updated", + "message_card_moved": "Card moved between lists", + "message_card_deleted": "Card deleted", + "message_card_commented": "Comment added to card", + "message_comment_updated": "Comment updated", + "message_board_created": "Board created", + "message_board_updated": "Board updated", + "message_board_deleted": "Board deleted", + "message_list_created": "List created", + "message_list_updated": "List updated", + "message_list_deleted": "List deleted", + "message_attachment_created": "Attachment added to card", + "message_card_label_added": "Label added to card", + "message_task_completed": "Task completed", + "message_ups_online": "UPS back on mains power", + "message_ups_on_battery": "UPS switched to battery", + "message_ups_low_battery": "Battery critically low", + "message_ups_battery_restored": "Battery charge recovered", + "message_ups_comms_lost": "Communication with UPS lost", + "message_ups_comms_restored": "Communication with UPS restored", + "message_ups_replace_battery": "Battery needs replacement", + "message_ups_overload": "UPS load exceeded capacity" + }, "gridDesc": { "sortNone": "No sorting applied", "sortDate": "Sort by creation date", @@ -874,6 +918,9 @@ "chatActionRecordVoice": "Show recording voice...", "previewTelegram": "Preview with Telegram HTML format", "previewWebhook": "Preview as plain text", + "previewEmail": "Preview with email HTML format", + "previewDiscord": "Preview with Discord markdown", + "previewSlack": "Preview with Slack markdown", "providerImmich": "Self-hosted photo server", "providerGitea": "Self-hosted Git service", "providerPlanka": "Self-hosted Kanban board", diff --git a/frontend/src/lib/i18n/ru.json b/frontend/src/lib/i18n/ru.json index 203db68..2604cdb 100644 --- a/frontend/src/lib/i18n/ru.json +++ b/frontend/src/lib/i18n/ru.json @@ -60,6 +60,7 @@ "activeTrackers": "Активные трекеры", "targets": "Получатели", "recentEvents": "События", + "chart": "График событий", "noEvents": "Событий пока нет. Создайте трекер для отслеживания.", "loading": "Загрузка...", "justNow": "только что", @@ -837,6 +838,49 @@ "noFilterResults": "Нет элементов, соответствующих фильтру.", "redirecting": "Перенаправление..." }, + "templateSlot": { + "message_assets_added": "Новые файлы добавлены в альбом", + "message_assets_removed": "Файлы удалены из альбома", + "message_collection_renamed": "Альбом переименован", + "message_collection_deleted": "Альбом удалён", + "message_sharing_changed": "Статус общего доступа изменён", + "periodic_summary_message": "Периодическая сводка альбома", + "scheduled_assets_message": "Запланированная отправка файлов", + "memory_mode_message": "Воспоминания «В этот день»", + "message_push": "Код отправлен в репозиторий", + "message_issue_opened": "Issue открыт", + "message_issue_closed": "Issue закрыт", + "message_issue_commented": "Комментарий к issue", + "message_pr_opened": "Pull request открыт", + "message_pr_closed": "Pull request закрыт", + "message_pr_merged": "Pull request слит", + "message_pr_commented": "Комментарий к pull request", + "message_release_published": "Релиз опубликован", + "message_scheduled_message": "Запланированное сообщение", + "message_card_created": "Карточка создана", + "message_card_updated": "Карточка обновлена", + "message_card_moved": "Карточка перемещена", + "message_card_deleted": "Карточка удалена", + "message_card_commented": "Комментарий к карточке", + "message_comment_updated": "Комментарий обновлён", + "message_board_created": "Доска создана", + "message_board_updated": "Доска обновлена", + "message_board_deleted": "Доска удалена", + "message_list_created": "Список создан", + "message_list_updated": "Список обновлён", + "message_list_deleted": "Список удалён", + "message_attachment_created": "Вложение добавлено", + "message_card_label_added": "Метка добавлена к карточке", + "message_task_completed": "Задача выполнена", + "message_ups_online": "ИБП на сетевом питании", + "message_ups_on_battery": "ИБП перешёл на батарею", + "message_ups_low_battery": "Батарея критически разряжена", + "message_ups_battery_restored": "Заряд батареи восстановлен", + "message_ups_comms_lost": "Связь с ИБП потеряна", + "message_ups_comms_restored": "Связь с ИБП восстановлена", + "message_ups_replace_battery": "Батарея требует замены", + "message_ups_overload": "ИБП перегружен" + }, "gridDesc": { "sortNone": "Без сортировки", "sortDate": "По дате создания", @@ -874,6 +918,9 @@ "chatActionRecordVoice": "Показать «записывает голос...»", "previewTelegram": "Предпросмотр в формате Telegram HTML", "previewWebhook": "Предпросмотр как текст", + "previewEmail": "Предпросмотр в формате Email HTML", + "previewDiscord": "Предпросмотр в формате Discord", + "previewSlack": "Предпросмотр в формате Slack", "providerImmich": "Фотосервер для самостоятельного размещения", "providerGitea": "Git-сервер для самостоятельного размещения", "providerPlanka": "Канбан-доска для самостоятельного размещения", diff --git a/frontend/src/routes/+page.svelte b/frontend/src/routes/+page.svelte index 38463db..4e79d33 100644 --- a/frontend/src/routes/+page.svelte +++ b/frontend/src/routes/+page.svelte @@ -1,5 +1,6 @@