diff --git a/app/(main)/alerts/page.tsx b/app/(main)/alerts/page.tsx index 065d7ae0..6ae151d3 100644 --- a/app/(main)/alerts/page.tsx +++ b/app/(main)/alerts/page.tsx @@ -7,6 +7,7 @@ import {useAlertsTelegramPreview} from "@/hooks/use-alerts-telegram-preview" import {useAlertsConfigWrite} from "@/hooks/use-alerts-config-write" import {AlertsGroupForm} from "@/components/alerts-group-form" import {useAlertsTargets} from "@/hooks/use-alerts-targets" +import {AlertsOutboxPanel} from "@/components/alerts-outbox-panel" import {AlertsTelegramForm} from "@/components/alerts-telegram-form" import {AlertsTargetsStatus} from "@/components/alerts-targets-status" import { useDataSource } from "@/lib/data-source" @@ -2561,6 +2562,7 @@ function AlertsContent() { {config.busy?
Ожидаем подтверждение правил и групп…
:null} {config.unknown&&!config.busy?Результат сохранения правил неизвестен. Запрос мог выполниться; проверьте правила и группы в БД перед повтором. Обновление списка не разрешает повтор автоматически.
{error}{data?". Показан последний успешный снимок очереди.":""}
:null} +{busy?"Обновление очереди…":data?"Последний успешный ответ: "+new Date(receivedAt!).toLocaleString("ru-RU"):"Данные очереди ещё не получены."}
+ {data?<> +Ожидают: {data.counts.pending} · API принял: {data.counts.sent} · Завершены с ошибкой: {data.counts.failed}
+ {data.counts.unknown||data.counts.processing||data.counts.unrecognized?Нужна проверка: неизвестный результат — {data.counts.unknown}, в обработке — {data.counts.processing}, нераспознанный статус — {data.counts.unrecognized}. Эти записи автоматически не переотправляются. Обработка может означать текущий запрос или прерванный процесс отправки; проверьте чат и журнал перед повтором.
:null} +Показано {data.items.length} из {data.counts.processing+data.counts.unknown} удержанных записей. Повторная отправка из этого экрана пока недоступна.
+ {data.items.length?{item.ruleName||item.id}
{item.status==="unknown"?"Результат неизвестен":"Запрос начат, завершение не подтверждено"} · {new Date(item.attemptedAt).toLocaleString("ru-RU")}