Чеклист для добавления нового квиза. Обновляет 10+ файлов.
Добавление нового квиза с ID = $1, blockId = $2. Следуй чеклисту строго.
quiz/apps/frontend/src/data/questions-{blockId}.ts
import type { Question } from "./questions";
export const questions{BlockId}: Question[] = [
{
id: 1,
question: "...",
code: "...", // опционально
options: ["A", "B", "C", "D"],
correct: 0, // 0-3
explanation: "..."
},
// ... 50 вопросов
];
Добавить z.literal({quizId}) в union во ВСЕХ трёх файлах:
src/schemas/question.ts (3 места)src/schemas/block.ts (1 место)src/schemas/progress.tsДобавить | {quizId} к типу quizId в:
src/data/blocks.tssrc/App.tsxsrc/Home.tsxsrc/BlockDetail.tsxsrc/api/client.tssrc/locales/ru.json — добавить quizCard.{quizId}.title/subtitle/topicssrc/locales/en.json — то же на английскомQUIZ_TO_BLOCKbatchesquizId, topicCount, topicsquizId в buildQuestionDoc и batchescd quiz && pnpm build
cd apps/backend
pnpm exec tsx --tsconfig tsconfig.seed.json scripts/seed.ts
pnpm exec tsx --tsconfig tsconfig.seed.json scripts/migrate-i18n.ts
pnpm build проходит