← К списку версий
v0.41.2
26.08.2026
PATCH
Интерактивный виджет «Предстоящие письма»
Что сделано
- `AdminController@index` — `buildScheduleItems()` теперь включает реальных получателей (до 20), команды для предпросмотра и тестовой отправки
- `AdminController::schedulePreview($command)` — возвращает HTML предпросмотра письма (GET JSON)
- `AdminController::scheduleRecipients($command)` — возвращает список получателей (GET JSON)
- `AdminController::scheduleTestSend(Request $request, $command)` — отправляет тестовое письмо на указанный email
- Приватные методы: `getActiveClientRecipients()`, `getOverdueClientRecipients()`, `getBallReminderRecipients()`, `previewProjectStatusDigest()`, `previewOverdueReminder()`, `previewReportEmail()`, `previewBallReminder()`, `wrapPreview()`, `sendTestProjectStatus()`, `sendTestOverdueReminder()`, `sendTestReport()`, `sendTestBallReminder()`
- Исправлены китайские символы "取决于「мяч」статусов" → корректный русский текст
- Кликабельные строки расписания с раскрытием деталей (onclick toggle)
- Вкладки «Получатели» и «Предпросмотр письма» в раскрытой секции
- Список получателей с аватарами, именами, email, метаданными проекта
- Если ≥20 получателей — показ «... и ещё N получателей»
- Предпросмотр письма в iframe через fetch JSON
- Кнопка «Отправить тест» с prompt для email
- `GET /admin/schedule/preview/{command}` → `AdminController::schedulePreview`
- `GET /admin/schedule/recipients/{command}` → `AdminController::scheduleRecipients`
- `POST /admin/schedule/test-send/{command}` → `AdminController::scheduleTestSend`
- `.schedule-expandable`, `.schedule-open`, `.schedule-right`, `.schedule-chevron` — раскрывающиеся строки
- `.schedule-detail`, `.schedule-detail-inner`, `.schedule-detail-tabs`, `.sdtab`, `.sdtab-panel` — вкладки деталей
- `.recipients-list`, `.recipient-row`, `.recipient-avatar`, `.recipient-info`, `.recipient-name`, `.recipient-email`, `.recipient-meta`, `.recipients-more`, `.recipients-empty` — список получателей
- `.preview-loading`, `.preview-content`, `.preview-content iframe` — предпросмотр
- `.schedule-detail-actions`, `.btn`, `.btn-sm`, `.btn-primary`, `.btn-outline` — кнопки действий
- `.spin` — анимация загрузки
- Убита мёртвая ссылка «Рассылки» в клиентском дашборде (была видна non-admin пользователям)
- Типографика: шрифт мин. 14px в элементах расписания
- `APP_VERSION` изменён: `0.41.1` → `0.41.2` (`.env`, `config/app.php`)