fix: NUT template preview + tracking config event checkboxes

- Add NUT variables to _SAMPLE_CONTEXT (fixes ups_name undefined in preview)
- Add NUT event tracking checkboxes to tracking config form
- Add NUT event i18n keys (EN + RU)
This commit is contained in:
2026-03-24 00:09:11 +03:00
parent 68ac13b452
commit 2cc4bf699a
4 changed files with 60 additions and 2 deletions
+18 -1
View File
@@ -112,6 +112,7 @@
"typePlanka": "Planka",
"typeScheduler": "Scheduler",
"typeNut": "NUT (UPS)",
"typeGooglePhotos": "Google Photos",
"loadError": "Failed to load providers.",
"externalDomain": "External Domain",
"optional": "optional",
@@ -135,6 +136,13 @@
"nutPassword": "Password",
"nutUsernameHint": "Optional — only needed if upsd requires authentication",
"nutPasswordHint": "Optional — upsd user password",
"gpClientId": "OAuth Client ID",
"gpClientSecret": "OAuth Client Secret",
"gpClientSecretKeep": "OAuth Client Secret (leave empty to keep current)",
"gpRefreshToken": "Refresh Token",
"gpRefreshTokenKeep": "Refresh Token (leave empty to keep current)",
"gpRefreshTokenHint": "Obtain from Google OAuth Playground (developers.google.com/oauthplayground) with the Photos Library API scope.",
"gpAllFieldsRequired": "Client ID, Client Secret, and Refresh Token are all required",
"testAndSave": "Test & Save",
"saveWithoutTest": "Save without testing"
},
@@ -422,6 +430,14 @@
"attachmentCreated": "Attachment added",
"cardLabelAdded": "Label added",
"taskCompleted": "Task completed",
"upsOnline": "UPS online (mains restored)",
"upsOnBattery": "UPS on battery",
"upsLowBattery": "Low battery",
"upsBatteryRestored": "Battery recovered",
"upsCommsLost": "Communication lost",
"upsCommsRestored": "Communication restored",
"upsReplaceBattery": "Replace battery",
"upsOverload": "UPS overloaded",
"scheduledMessage": "Scheduled message",
"trackImages": "Track images",
"trackVideos": "Track videos",
@@ -841,7 +857,8 @@
"providerGitea": "Self-hosted Git service",
"providerPlanka": "Self-hosted Kanban board",
"providerScheduler": "Time-based scheduled messages",
"providerNut": "Network UPS monitoring"
"providerNut": "Network UPS monitoring",
"providerGooglePhotos": "Google Photos albums & shared libraries"
},
"error": {
"notFound": "Page not found",
+18 -1
View File
@@ -112,6 +112,7 @@
"typePlanka": "Planka",
"typeScheduler": "Планировщик",
"typeNut": "NUT (ИБП)",
"typeGooglePhotos": "Google Фото",
"loadError": "Не удалось загрузить провайдеры.",
"externalDomain": "Внешний домен",
"optional": "необязательно",
@@ -135,6 +136,13 @@
"nutPassword": "Пароль",
"nutUsernameHint": "Необязательно — только если upsd требует аутентификации",
"nutPasswordHint": "Необязательно — пароль пользователя upsd",
"gpClientId": "OAuth Client ID",
"gpClientSecret": "OAuth Client Secret",
"gpClientSecretKeep": "OAuth Client Secret (оставьте пустым для сохранения текущего)",
"gpRefreshToken": "Refresh Token",
"gpRefreshTokenKeep": "Refresh Token (оставьте пустым для сохранения текущего)",
"gpRefreshTokenHint": "Получите через Google OAuth Playground (developers.google.com/oauthplayground) с областью Photos Library API.",
"gpAllFieldsRequired": "Client ID, Client Secret и Refresh Token обязательны",
"testAndSave": "Проверить и сохранить",
"saveWithoutTest": "Сохранить без проверки"
},
@@ -422,6 +430,14 @@
"attachmentCreated": "Вложение добавлено",
"cardLabelAdded": "Метка добавлена",
"taskCompleted": "Задача завершена",
"upsOnline": "ИБП на сети (питание восстановлено)",
"upsOnBattery": "ИБП на батарее",
"upsLowBattery": "Низкий заряд батареи",
"upsBatteryRestored": "Заряд восстановлен",
"upsCommsLost": "Связь потеряна",
"upsCommsRestored": "Связь восстановлена",
"upsReplaceBattery": "Замена батареи",
"upsOverload": "Перегрузка ИБП",
"scheduledMessage": "Запланированное сообщение",
"trackImages": "Фото",
"trackVideos": "Видео",
@@ -841,7 +857,8 @@
"providerGitea": "Git-сервер для самостоятельного размещения",
"providerPlanka": "Канбан-доска для самостоятельного размещения",
"providerScheduler": "Запланированные сообщения по расписанию",
"providerNut": "Мониторинг ИБП через NUT"
"providerNut": "Мониторинг ИБП через NUT",
"providerGooglePhotos": "Альбомы и общие библиотеки Google Фото"
},
"error": {
"notFound": "Страница не найдена",
@@ -167,6 +167,17 @@
<label class="flex items-center gap-2 text-sm"><input type="checkbox" bind:checked={form.track_card_label_added} /> {t('trackingConfig.cardLabelAdded')}</label>
<label class="flex items-center gap-2 text-sm"><input type="checkbox" bind:checked={form.track_task_completed} /> {t('trackingConfig.taskCompleted')}</label>
</div>
{:else if form.provider_type === 'nut'}
<div class="grid grid-cols-2 gap-2 mt-2">
<label class="flex items-center gap-2 text-sm"><input type="checkbox" bind:checked={form.track_ups_online} /> {t('trackingConfig.upsOnline')}</label>
<label class="flex items-center gap-2 text-sm"><input type="checkbox" bind:checked={form.track_ups_on_battery} /> {t('trackingConfig.upsOnBattery')}</label>
<label class="flex items-center gap-2 text-sm"><input type="checkbox" bind:checked={form.track_ups_low_battery} /> {t('trackingConfig.upsLowBattery')}</label>
<label class="flex items-center gap-2 text-sm"><input type="checkbox" bind:checked={form.track_ups_battery_restored} /> {t('trackingConfig.upsBatteryRestored')}</label>
<label class="flex items-center gap-2 text-sm"><input type="checkbox" bind:checked={form.track_ups_comms_lost} /> {t('trackingConfig.upsCommsLost')}</label>
<label class="flex items-center gap-2 text-sm"><input type="checkbox" bind:checked={form.track_ups_comms_restored} /> {t('trackingConfig.upsCommsRestored')}</label>
<label class="flex items-center gap-2 text-sm"><input type="checkbox" bind:checked={form.track_ups_replace_battery} /> {t('trackingConfig.upsReplaceBattery')}</label>
<label class="flex items-center gap-2 text-sm"><input type="checkbox" bind:checked={form.track_ups_overload} /> {t('trackingConfig.upsOverload')}</label>
</div>
{:else}
<div class="grid grid-cols-2 gap-2 mt-2">
<label class="flex items-center gap-2 text-sm"><input type="checkbox" bind:checked={form.track_assets_added} /> {t('trackingConfig.assetsAdded')}</label>
@@ -166,6 +166,19 @@ _SAMPLE_CONTEXT = {
"attachment_id": "att-1",
"label_name": "bug",
"label_color": "berry-red",
# NUT (UPS) variables (for nut provider templates)
"ups_name": "kiper",
"ups_model": "Smart-UPS 1500",
"ups_manufacturer": "APC",
"battery_charge": 95,
"battery_runtime": "1:23:45",
"battery_runtime_seconds": 5025,
"ups_load": 42,
"ups_status": "OL",
"input_voltage": "230.0",
"output_voltage": "230.0",
"event_description": "UPS switched to battery power",
"previous_status": "OL",
# Scheduler variables (for scheduler provider templates)
"schedule_name": "Daily Reminder",
"fire_count": 42,