diff --git a/frontend/src/routes/study/topics/[id]/questions/[qid]/+page.svelte b/frontend/src/routes/study/topics/[id]/questions/[qid]/+page.svelte index d90ba7e..996be4e 100644 --- a/frontend/src/routes/study/topics/[id]/questions/[qid]/+page.svelte +++ b/frontend/src/routes/study/topics/[id]/questions/[qid]/+page.svelte @@ -132,18 +132,17 @@ loading = true; try { q = await api(`/study-questions/${qid}`); - // 페이지 진입 시 AI 해설 상태 초기화 — q.ai_explanation_status 가 ready/stale 이면 1회 prefetch (캐시 hit). - // 사용자가 [해설 보기] 누르기 전엔 본문 표시 안 함, 다만 상태는 미리 알 수 있음. aiState = 'idle'; aiData = null; aiError = null; related = null; - // 회차 prev/next + 반복 출제/유사 유형 병렬 로드. - await Promise.all([loadRoundSiblings(), loadRelatedTypes()]); + // body 표시는 q 도착 직후. 관련 유형/회차 sibling 은 fire-and-forget — + // related 섹션은 자체 relatedLoading 플래그, prev/next 는 siblings 비면 안 보임. + loading = false; + void Promise.allSettled([loadRoundSiblings(), loadRelatedTypes()]); } catch (err) { addToast('error', err?.detail || '문제 로드 실패'); q = null; - } finally { loading = false; } }