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:
@@ -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` по чек-листу из предложения — остаётся на стороне исполнителя.
|
||||
Reference in New Issue
Block a user