← К списку версий
v0.28.2
11.08.2026
PATCH
«Поля проекта»: ссылки и информация вместо копирования версий
Поля проекта со ссылками вместо копирования текста версий
- Зачем: Алексей ведёт версии проектов у себя (например, открытая история версий `/platform-version/` и `/about` на bober-bob.ipd.by). Копировать готовый текст в поле changelog — «бесполезная работа». Теперь по каждому проекту можно завести **поля = подпись + ссылка/текст**, и клиенту/ИИ отдаётся ссылка на исходник, а не копия.
- Новое поле `projects.fields` (миграция `2026_08_11_140000_add_fields_to_projects_table.php`): JSON-массив `{label, value, type: link|text, is_visible_to_client}` — разные поля под разные сайты, проекты, площадки.
- Админка (`/admin/projects/{id}/edit`): вкладка **«Поля проекта»** (заменила «Версии проекта»). Кнопки-пресеты в один клик добавляют готовое поле: «История версий», «Сайт проекта», «Платформа», «Ссылка», «Заметка (текст)» — остаётся вписать только ссылку. Строки добавляются/удаляются, у каждой — подпись, значение, тип и чекбокс «видно клиенту».
- Автопоказ клиенту без копирования: заполненные поля автоматически видны клиенту **без логина** — на гостевой странице (секция «Ссылки и информация», ссылки-чипы) и в личном кабинете (страница проекта). Скрытые от клиента поля не показываются.
- Для ИИ: поля попадают в экспорт JSON проекта (`fields`) и в импорт — ИИ получает ссылку на исходник (например, на историю версий) и сам её читает, копировать ничего не нужно.
- Страница проекта в админке: блок «Поля проекта (ссылки и информация)» со всеми полями (скрытые помечены) и ссылкой на редактирование.
- Текстовое поле `changelog` (Задание 94) сохранено в БД, но вводить его больше не нужно — вместо него поля со ссылками.
- `APP_VERSION` изменён: `0.28.1` → `0.28.2` (`.env`, `.env.example`).
Автотесты
- `tests/Feature/ProjectFieldsFeatureTest.php`: сохранение полей из формы редактирования (пресеты/произвольные), отображение на странице проекта в админке, в личном кабинете клиента и на гостевой странице (без логина), скрытие полей, помеченных «скрыто», пустой список → секции нет, экспорт включает `fields`, наличие пресетов в форме.
Результат
- У каждого проекта — ссылки и информация вместо копирования текста
- Клиент видит ссылки без логина на гостевой странице
- ИИ получает ссылки на исходники для анализа