Skip to content

feat: 아이 상세에 할 일 타임라인 탭 - #101

Merged
RosieOh merged 1 commit into
mainfrom
feat/child-timeline-screen
Sep 25, 2026
Merged

RosieOh merged 1 commit into
mainfrom
feat/child-timeline-screen

Conversation

@RosieOh

@RosieOh RosieOh commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

Closes #100
서버: CareCode-Repo/CareCode_Interface#129 (머지됨)

무엇

아이 상세의 첫 탭 "할 일" 에 접종·검진·지원금 마감·신학기를 날짜순으로 보여준다.

내용
타입·API·쿼리 childTimelineSchema, getChildTimeline, useChildTimeline
컴포넌트 TimelineItem — 날짜·월령 축 + 종류·상태 칩
화면 놓친 일 배너 → 조회 구간·예정 건수 → 목록 → 권장 시기 안내

판단

새 라우트를 만들지 않았다 — 이미 아이 상세에 와 있는 사용자가 이동 없이 보는 게 맞고, 이 질문("다음에 뭘 해야 하나")이 그 화면에서 가장 먼저 나온다. 그래서 기본 탭으로 뒀다.

놓친 일은 목록 위에 따로 알린다 — 목록에 섞으면 지나친다. 서버가 주는 overdueCount 를 쓴다.

종류·상태는 문자열로 받는다 — z.enum 으로 받으면 서버가 항목을 늘릴 때 화면 전체가 파싱 실패로 죽는다. 모르는 값은 원본을 그대로 보여 주고, 이 동작을 테스트로 고정했다.

권장 시기임을 밝힌다 — 검진·신학기는 기관마다 일정이 달라, 목록 아래에 한 줄로 적었다.

테스트

  • TimelineItem.test.tsx(5) — 날짜·월령·종류·상태 표시, 기한 경과, 완료, 참고(신학기), 모르는 종류·상태에도 화면 유지
  • contracts-alignment.test.ts — 서버 응답 모양 고정 + 새 종류 추가 시 파싱 통과
  • 전체 209 tests, typecheck·lint·production build 통과
  • npm run sync:openapi 로 스펙 갱신(경로 237) — 계약 대조가 새 경로를 인식한다

접종은 접종 탭, 검진은 건강 기록, 지원금 마감은 정책 화면에 흩어져 있어서
"다음에 뭘 해야 하나" 를 알려면 화면 세 곳을 돌아야 했다. 서버가 한 축으로 합쳐 주므로
(CareCode_Interface #128) 아이 상세에서 바로 보여 준다.

- 새 라우트를 만들지 않고 아이 상세의 첫 탭으로 뒀다. 이미 그 화면에 와 있는 사용자가
  이동 없이 볼 수 있고, 이 질문이 아이 상세에서 가장 먼저 나오는 질문이다.
- 놓친 일은 목록 위에 따로 알린다. 목록에 섞으면 지나친다.
- type·status 는 문자열로 받고 표시할 때 매핑한다. 서버가 항목을 늘려도 화면이 죽지 않고
  모르는 값은 원본을 그대로 보여 준다(테스트로 고정).
- 검진·신학기가 권장 시기 안내임을 목록 아래에 밝힌다.
@RosieOh
RosieOh merged commit 1430006 into main Sep 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ 아이 ] 다음에 뭘 해야 하는지 한 화면에서 볼 수 없다

1 participant