Redesign test editor: meta, content, AI shape, command bar

- Split draft editor into AccSection Метаинформация and Содержание
- AI generation: topic, question count (1–30), answers per question (2–8)
- Move save and back-to-list to bottom command panel; remove AI from hero
- Normalize generated options to requested count; sync ai topic on import draft
- Add DOC/ШАГИ/ШАГ_2026-04-27_001.md and track design proposal doc

Made-with: Cursor
This commit is contained in:
Константин Лебединский
2026-04-27 19:07:00 +05:00
parent b3e3757a92
commit 2a05f41b65
3 changed files with 481 additions and 214 deletions
+20
View File
@@ -0,0 +1,20 @@
# Шаг 2026-04-27 — редизайн формы редактора теста (ветка `dev-redisign`)
## Сделано
- Создана ветка `dev-redisign` от `dev` в репозитории `TestingWebApp`.
- Страница автора `frontend/src/pages/TestDetail.jsx` приведена к структуре из `docs/ПРЕДЛОЖЕНИЕ_ДИЗАЙН_СОЗДАНИЕ_ТЕСТА.md` (адаптация под существующий React/JSX, без Ant Design):
- блок **«Метаинформация»** — название, описание, порог зачёта;
- блок **«Содержание»** — мини-панель ИИ (тема, число вопросов 1…30, число вариантов 2…8, кнопка генерации) и список вопросов с локальными кнопками ИИ;
- панель **«Команды»** — «Сохранить черновик» (основная), «К списку»; строка статуса черновика под панелью.
- Кнопка **«Сгенерировать тест (ИИ)»** убрана из шапки; генерация строит `shape` из введённых чисел, тема — из поля «Тема» с запасным вариантом на «Название»; после ответа API варианты в каждом вопросе нормализуются к выбранному числу (добор/обрезка, минимум один верный).
- Копирование темы при загрузке редактора и при применении импорта/черновика LLM (`setAiGenTopic` при `applyGeneratedDraft`).
## Бэкенд
- Менять не требовалось: `POST .../ai/generate-test` уже принимает `shape` с `optionsCount` (см. `backend/src/services/aiEditorService.js`).
## Проверка
- `npm run lint` и `npm run build` в `TestingWebApp/frontend` — без ошибок.
- Ручной прогон `docker compose` по чек-листу из предложения — остаётся на стороне исполнителя.