← К списку версий
v0.39.1
21.08.2026
PATCH
Клиентская панель инструкций, Материалы поддержки, Напоминания по мячу
Что сделано
- Инструкции проекта теперь видны клиенту на странице проекта (только с флагом `is_visible_to_client`)
- 3 типа инструкций: онлайн-встреча (ссылка), видео-запись, текст с скриншотами
- Секция «Инструкции» на клиентской странице проекта с иконками по типу
- Таймлайн событий проекта теперь виден клиенту (без CRUD — только просмотр)
- Цветные точки по датам с типами событий и описаниями
- Статус мяча виден клиенту на странице проекта (только при `ball_status !== 'none'`)
- Цветной индикатор + дата + заметка
- предупреждение для клиента когда мяч у него
- Новый JSON-блок `support_materials` в проекте — обучающие видео, презентации, PDF, документы
- CRUD для админа: вкладка «Материалы поддержки» в редактировании + секция на странице проекта
- Видно клиенту на странице проекта (с флагом `is_visible_to_client`)
- 4 типа материалов: ссылка, видео, PDF, текст
- Новая команда `project:ball-reminder` — проверяет проекты где мяч не двигается 7/14/30 дней
- Отправляет email-напоминания админу + in-app уведомления владельцу проекта
- Запускается ежедневно в 10:00 (Europe/Minsk) через планировщик
- Дублирование не допускается (трекинг порогов в памяти)
- Миграция `add_support_materials_to_projects_table` — JSON-поле `support_materials`
- Модель `Project`: +`support_materials` в fillable/casts
- `AdminProjectController`: +`cleanSupportMaterials()`, +`updateSupportMaterials()`, валидация
- `AdminProjectEventController`: события проекта — CRUD без изменений
- `MailLog`: добавлен тип `TYPE_BALL_REMINDER`
- `BallStatusReminderMail` — HTML-письмо напоминания
- Планировщик: +`project:ball-reminder` ежедневно в 10:00
- Версия: 0.39.1
Результат
- Клиент видит инструкции, материалы поддержки и статус «мяча» на странице проекта
- Админ получает автоматические напоминания о застрявших проектах
- Отдел заботы загружает обучающие материалы для клиентов