From 4c26b9153f43dbb079bef1c400275464a474e1c2 Mon Sep 17 00:00:00 2001 From: Hyungi Ahn Date: Wed, 29 Apr 2026 13:13:13 +0900 Subject: [PATCH] =?UTF-8?q?fix(study):=20=EC=83=88=20=ED=9A=8C=EC=B0=A8=20?= =?UTF-8?q?=EC=8B=9C=EC=9E=91=20=EB=8F=99=EC=84=A0=20=E2=80=94=20query=20?= =?UTF-8?q?=ED=9A=8C=EC=B0=A8=EB=AA=85=EC=9D=B4=20examRounds=20=EC=97=90?= =?UTF-8?q?=20=EC=97=86=EC=9D=84=20=EB=95=8C=20mode=3D'new'=20=EC=9E=90?= =?UTF-8?q?=EB=8F=99=20=EC=A0=84=ED=99=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 회차 카드 페이지의 [새 회차 시작] → /questions/new?exam_round=...&start_qnum=1 진입 시 query 의 회차명이 기존 examRounds 에 없으면 (신규 회차라 등록된 문제 0개) select dropdown 옵션에 매칭이 없어서 회차 정보가 표시 안 되는 회귀. onMount 에서 query 회차명이 examRounds 에 없으면 mode='new' + f_exam_round_new prefill. 사용자가 신규 회차로 입력한 이름이 그대로 폼에 박힘. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../routes/study/topics/[id]/questions/new/+page.svelte | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/frontend/src/routes/study/topics/[id]/questions/new/+page.svelte b/frontend/src/routes/study/topics/[id]/questions/new/+page.svelte index 8311ea3..92fcfcb 100644 --- a/frontend/src/routes/study/topics/[id]/questions/new/+page.svelte +++ b/frontend/src/routes/study/topics/[id]/questions/new/+page.svelte @@ -203,6 +203,15 @@ f_qnum = found.next_question_number; } } + // FIX: 새 회차 시작 동선 — query 로 받은 회차명이 기존 examRounds 에 없으면 + // 신규 회차로 보고 mode='new' + new input 에 채움 (dropdown 에 옵션이 없어서 안 보이는 회귀 차단). + if (f_exam_round) { + const exists = examRounds.some((r) => r.exam_round === f_exam_round); + if (!exists) { + f_exam_round_mode = 'new'; + f_exam_round_new = f_exam_round; + } + } // 진입 시점은 사용자가 input 박스를 만진 적 없음 — false 로 reset. f_qnum_user_edited = false; // $effect 의 lastExamRound 를 현재 값으로 sync — 첫 실행이 또 reset 하지 않도록.