feat(promo-offers): охват сегментов и прогресс доставки на странице отправки

Сегмент выбирался вслепую — в списке не было числа пользователей, а после
отправки экран показывал только количество созданных офферов: сколько
человек реально получило предложение и сколько заблокировало бота, узнать
было негде.

В селекте сегментов теперь стоит охват каждого (GET /promo-offers/segments),
под ним — сколько уйдёт по выбранному. После отправки экран результата
показывает прогресс доставки с карточками Всего/Отправлено/Заблокировали/
Ошибки и опрашивает запись рассылки раз в 3 секунды, пока она не завершится.

Прогресс-блок и бейдж статуса вынесены из AdminBroadcastDetail в
BroadcastDeliveryStats и переиспользуются обеими страницами, а условие
«доставка ещё идёт» — в утилиту broadcastStatus с тестами.
This commit is contained in:
kewldan
2026-07-28 22:24:58 +03:00
parent 51d0f0431a
commit c6d8c0afe0
10 changed files with 298 additions and 128 deletions

View File

@@ -4208,7 +4208,9 @@
"sendError": "Не удалось отправить предложение",
"notificationsSent": "Отправлено уведомлений",
"offersCreated": "Создано офферов",
"notificationsFailed": "(не отправлено: {{count}})"
"notificationsFailed": "(не отправлено: {{count}})",
"deliveryTitle": "Доставка в Telegram",
"openAsBroadcast": "Открыть как рассылку"
},
"notFound": "Шаблон не найден",
"noActiveTemplates": "Нет активных шаблонов",