Parent
#918 — 🗺️ [wayfinder] Error page 준수 (결정 D9·D6)
What to build
app/loading.tsx는 루트 loading이라 앱 전 라우트의 Suspense 폴백으로 쓰이는데, 내용은 홈 전용 스켈레톤이다(HomeLoading — 70vh 히어로 + 에디토리얼/트렌딩 2열 + 매거진 4그리드). 그래서 explore·library·settings 등 홈과 아무 상관 없는 라우트로 이동할 때도 홈 히어로 스켈레톤이 잠깐 떴다가 사라진다. 로딩 스켈레톤의 목적(들어올 콘텐츠의 형태를 미리 알려주는 것)과 정반대로 작동한다.
동시에 이 파일도 다크 팔레트가 하드코딩돼 있어(#050505 배경, neutral-900 블록) 라이트 테마에서 어긋난다 — 같은 파일이므로 D6 토큰화를 함께 처리한다.
홈 스켈레톤을 홈이 실제로 렌더되는 자리로 옮기고, 루트 폴백은 어느 라우트에 놓여도 거짓말하지 않는 중립 형태로 만든다. posts/[id]는 이미 자기 loading.tsx를 갖고 있으니 그 선례를 따른다.
Acceptance criteria
Blocked by
None - can start immediately
Parent
#918 — 🗺️ [wayfinder] Error page 준수 (결정 D9·D6)
What to build
app/loading.tsx는 루트 loading이라 앱 전 라우트의 Suspense 폴백으로 쓰이는데, 내용은 홈 전용 스켈레톤이다(HomeLoading— 70vh 히어로 + 에디토리얼/트렌딩 2열 + 매거진 4그리드). 그래서 explore·library·settings 등 홈과 아무 상관 없는 라우트로 이동할 때도 홈 히어로 스켈레톤이 잠깐 떴다가 사라진다. 로딩 스켈레톤의 목적(들어올 콘텐츠의 형태를 미리 알려주는 것)과 정반대로 작동한다.동시에 이 파일도 다크 팔레트가 하드코딩돼 있어(
#050505배경,neutral-900블록) 라이트 테마에서 어긋난다 — 같은 파일이므로 D6 토큰화를 함께 처리한다.홈 스켈레톤을 홈이 실제로 렌더되는 자리로 옮기고, 루트 폴백은 어느 라우트에 놓여도 거짓말하지 않는 중립 형태로 만든다.
posts/[id]는 이미 자기loading.tsx를 갖고 있으니 그 선례를 따른다.Acceptance criteria
posts/[id]의 기존loading.tsx가 계속 우선 적용된다 (회귀 없음)bun run build로 정적 렌더 회귀가 없는지 확인 (#942의setRequestLocale규율)Blocked by
None - can start immediately