Skip to content

feat(layout): 탭 화면에 기준(아이·지역)을 세우고 홈을 할 일 중심으로 - #97

Open
RosieOh wants to merge 1 commit into
mainfrom
feat/screen-layout-contract
Open

RosieOh wants to merge 1 commit into
mainfrom
feat/screen-layout-contract

Conversation

@RosieOh

@RosieOh RosieOh commented Sep 24, 2026

Copy link
Copy Markdown
Contributor

왜

로그인한 상태로 주요 화면 11개를 390×844 에서 실제로 띄워 보고, 개별 화면 취향이 아니라 화면들 사이에서 어긋나는 것만 골랐습니다. 진단 기록은 docs/ui-audit.md 에 있습니다.

  1. 상단바가 "화면 이름 + 종" 뿐이라, 이 서비스의 답을 좌우하는 어느 아이 · 어디 사는가가 화면 어디에도 없었습니다.
  2. 홈 위쪽 절반이 검색창 · 아이콘 5개 · 배너였고, 놓치면 사라지는 것들은 스크롤 아래에 있었습니다.
  3. 같은 목적지가 홈 퀵메뉴 · 마이페이지 · 탭에 흩어져 있고, 정작 지원금과 어린이집은 탭에 없었습니다.
  4. 목록·주요 버튼·오류의 자리가 화면마다 달랐습니다.

무엇을

  • 기준을 상단에 — ContextBar(아이 칩 · 지역 칩 · 알림)를 탭 화면 넷에. 선택된 아이는 전역 상태 useSelectedChild(기기 저장, SSR 때문에 skipHydration 후 마운트 뒤 복구)
  • 홈을 할 일 중심으로 — TodoSection 을 맨 위로, 검색·퀵메뉴·챗봇은 "찾아보기" 로
  • 탭 재편 — 홈 · 지원금 · 어린이집 · 커뮤니티 · 마이. facility/page.tsx → (with-tabs), 챗봇 → (without-tabs)(뒤로 가기 추가)
  • 자리 규칙 — MenuList(카드+꺾쇠), BottomAction(주요 행동은 화면 아래), ErrorView 기본값을 인라인으로

판단

없는 마감은 만들지 않았습니다. "신청 마감 D-3" 는 서버에 데이터가 없습니다 — 정책의 applicationPeriod 가 자유 문장이고, 구조화된 applicationEndDate 는 관리자 타입에만 있습니다. 그래서 할 일에는 날짜가 실제로 있는 것만 올립니다(건강 알림 dueDate, 다음 접종일, 대기 순번, 빠진 프로필). 정책 API 가 마감일을 열어주면 그때 추가합니다.

45일 규칙 — 날짜가 있어도 먼 것은 올리지 않습니다. 1년 뒤 접종까지 올리면 목록이 달력이 되고 이번 주에 할 일이 묻힙니다.

ErrorView 는 실제 버그였습니다 — absolute inset-0 z-50 이 기본이라, 목록 한 칸이 실패했을 뿐인데 상단바와 탭 바까지 덮여 다른 탭으로 옮겨갈 수단이 사라졌습니다.

확인

  • npx tsc --noEmit · npx eslint src · npx vitest run (198 passed)
  • 개발 계정으로 로그인해 홈 · 지원금 · 어린이집 · 커뮤니티 · 마이 · 건강 · 챗봇 화면 확인(390×844)
  • 아이가 둘 이상인 계정에서 아이 칩 전환 확인 — 개발 계정에 아이가 하나라 못 했습니다

실제 화면 11개를 띄워 보고 화면들 사이에서 어긋나는 것만 골라 고쳤다. 진단 기록은 docs/ui-audit.md.

- 상단: 탭 화면은 ContextBar(아이 칩·지역 칩·알림). 이 서비스의 답은 전부 '어느 아이, 어디 사는가' 에 달려 있는데 화면 어디에도 그 기준이 없었다
- 선택된 아이를 전역 상태로(useSelectedChild, 기기 저장). 화면마다 useState 로 흩어져 있어 화면을 옮기면 첫째로 되돌아갔다
- 홈: 기한이 걸린 것(TodoSection)을 맨 위로, 검색·퀵메뉴·챗봇은 '찾아보기' 로 내림. 없는 마감은 만들지 않는다 — 정책 신청 기간이 자유 문장이라 날짜가 있는 것(건강 알림·접종·대기·프로필)만, 그중 45일 안의 것만 올린다
- 탭: 홈·지원금·어린이집·커뮤니티·마이. 시설 목록을 (with-tabs) 로, 챗봇을 (without-tabs) 로 옮기고 뒤로 가기를 넣었다. 퀵메뉴에서 탭과 겹치던 시설 찾기 제거
- 목록·버튼·오류의 자리를 규칙으로: MenuList(카드+꺾쇠), BottomAction(주요 행동은 화면 아래), ErrorView 는 기본이 목록 자리만 채우고 라우트 오류 경계만 fullScreen
@RosieOh RosieOh added enhancement 새로운 기능 추가 (feat) style 포맷팅 등 동작에 영향 없는 변경 labels Sep 24, 2026
@RosieOh RosieOh self-assigned this Sep 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement 새로운 기능 추가 (feat) style 포맷팅 등 동작에 영향 없는 변경

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant