현재 검증된 model 계층 위에 실제 시간표 페이지를 올립니다. 우선 API 응답 -> 상태 관리 -> 화면 렌더링 흐름을 만들고, 이후 Figma에 맞는 스타일 디테일을 다듬습니다.
fetchTimetable()을 만듭니다.404 응답을 그대로 반환하거나, 필요한 경우 한 곳에서 에러를 정리합니다.404 응답 처리, 예상치 못한 실패 처리.useTimetable() 또는 TimetablePage 내부 상태 관리.toTimetableViewModel()을 여기서 호출해 UI가 항상 ViewModel만 받도록 정리합니다.404 시 빈 상태 분기.displayStartHour, displayEndHour를 사용해 시간 축을 만듭니다.9시부터 시작, 가장 늦게 끝나는 시각까지 표시.blocks를 사용해 위치와 높이를 계산합니다.topOffsetMinutes, durationMinutes, weekIndex를 기반으로 절대 위치 또는 grid 레이아웃을 적용합니다.