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

@@ -3807,7 +3807,9 @@
"sendError": "Failed to send offer",
"notificationsSent": "Notifications sent",
"offersCreated": "Offers created",
"notificationsFailed": "(failed: {{count}})"
"notificationsFailed": "(failed: {{count}})",
"deliveryTitle": "Telegram delivery",
"openAsBroadcast": "Open as broadcast"
},
"notFound": "Template not found",
"noActiveTemplates": "No active templates",