-
Notifications
You must be signed in to change notification settings - Fork 2
Screen Spec
ClarusIubar edited this page Jun 12, 2026
·
6 revisions
기준일: 2026-06-12
기준 브랜치: main
이 문서는 JamIssue Web Front의 앱 전환 UI/UX 설계 기준을 정리한다. UI/UX 버그와 QA 추적은 UI/UX 기대 동작 QA 매트릭스의 UIUX-### ID를 기준으로 연결한다.
TSK-012 이후의 UI/UX 기준은 JamIssue 앱 전환 UI/UX 개편 추적성을 우선한다.
목표 구조는 다음과 같다.
Status Safe Area
-> App Header
-> Sub Navigation
-> Content
-> Bottom Tab Bar
기존 4탭 설명은 과거 기준이다. 현재 공식 하단 탭은 지도 / 행사 / 피드 / 코스 / 마이 5탭이다.
- 모바일 우선으로 설계한다.
- 기준 viewport는 iPhone 계열 모바일 폭을 우선한다.
- 하단 탭은 앱 셸 하단에 고정한다.
- 지도 화면과 비지도 탭은 시각적으로 분리한다.
- 사용자가 직접 읽어야 하는 설명보다 상태와 버튼 의미를 우선한다.
- 외부 API, DB schema, OAuth 경로는 UI 개편과 분리해 관리한다.
| Slot | 책임 | 완료 근거 |
|---|---|---|
| Status Safe Area | 상단 safe-area와 전역 상태 표시 | #382 / PR #397 |
| App Header | 서비스 타이틀과 주요 액션 슬롯 | #382 / PR #397 |
| Sub Navigation | 지도 필터, 탭별 보조 선택 영역 | #382, #384 |
| Content | 지도, 행사, 피드, 코스, 마이 화면 본문 | #385 / PR #400 |
| Bottom Tab Bar |
지도 / 행사 / 피드 / 코스 / 마이 5탭 이동 |
#384 / PR #399 |
하단 탭은 5개다.
지도행사피드코스마이
규칙:
- 각 탭은 독립 화면처럼 보여야 한다.
-
지도탭에서만 지도 배경과 지도 stage를 노출한다. -
행사 / 피드 / 코스 / 마이탭에서는 지도 배경이 노출되지 않아야 한다. - 탭 key는
map | event | feed | course | my를 유지한다.
장소와 행사를 빠르게 고르고 스탬프, 후기, 코스 흐름으로 이어가는 시작점이다.
- 상단 브랜드/상태 영역
- 카테고리 필터
- 지도 surface
- 장소/행사 상세 시트
- 하단 탭
앱 전환 기준의 시트 상태는 hidden / peek / half / full이다.
| 상태 | 기대 동작 |
|---|---|
hidden |
시트가 보이지 않는다. |
peek |
탭바 위에 간격을 둔 floating card처럼 보인다. |
half |
하단 탭을 숨기고 화면 하단 일부를 점유한다. |
full |
하단 탭을 숨기고 더 큰 상세 영역을 제공한다. |
기존 route drawer state와의 호환은 src/components/map-stage/mapSheetState.ts가 담당한다.
장소 시트는 다음 정보를 제공한다.
- 장소명
- 구/요약
- 카테고리 badge
- 방문/스탬프 상태
- 후기 작성 가능 여부
- 장소별 후기 목록
행사 시트는 다음 정보를 제공한다.
- 행사명
- 개최 장소
- 시작일/종료일
- 주소
- 외부 링크
행사 정보는 스탬프 인증 로직과 섞지 않는다.
피드 탭은 실제 방문 후기 소비 중심 화면이다.
필수 동작:
- 후기 목록 확인
- 댓글 열기/작성
- 좋아요 toggle
- 장소 이동 CTA
후기 작성 자체는 지도 장소 시트의 스탬프 완료 흐름에서 시작한다.
코스 탭은 추천 코스와 사용자 생성 코스를 탐색하는 화면이다.
필수 동작:
- 정렬 chip 제공
- 추천 코스 카드 확인
- 코스 상세 진입
- 최소 2개 장소 이상 코스만 공개 가능
마이 탭은 계정 상태와 개인 활동 요약을 담당한다.
로그아웃 상태:
- 로그인 유도만 노출한다.
로그인 상태:
- 프로필
- 방문/스탬프 통계
- 내가 쓴 피드
- 생성한 코스
- 설정 진입
- 로그아웃이면 비활성화하고 로그인 필요를 안내한다.
- 반경 밖이면 비활성화하고 거리 상태를 안내한다.
- 반경 안이면 활성화한다.
- 오늘 이미 완료했으면 완료 상태로 표시한다.
- 당일 해당 장소 스탬프가 있을 때만 활성화한다.
- GPS 진입만으로는 열리지 않는다.
- 공개 가능한
travel_session이 있을 때만 활성화한다.
상세 추적 ID는 UI/UX 기대 동작 QA 매트릭스를 기준으로 한다.
-
지도외 탭에서 지도 배경이 보이지 않는가 - 지도 탭에서 상단 카드, 필터, 지도, 시트가 서로 가리지 않는가
- 시트가
hidden / peek / half / full상태 계약을 유지하는가 - Peek 시트가 탭바 위 간격을 유지하는가
- Half/Full 시트에서 탭바가 숨는가
- 리뷰 작성 textarea focus 시 키보드로 인해 하단 탭/시트가 중간으로 떠오르지 않는가
- 스탬프 버튼이 로그인/거리/완료 상태에 맞게 동작하는가
- 피드 댓글/좋아요/장소 이동 CTA가 동작하는가
- 코스 정렬과 카드 진입이 동작하는가
- 마이 탭 로그인 전/후 상태가 구분되는가
| Issue | PR | Merge SHA | 내용 |
|---|---|---|---|
| #381 | #396 | c7f4c71 |
UI/UX redesign baseline |
| #382 | #397 | 8d85a67 |
App shell safe-area layout |
| #383 | #398 | ed5b817 |
Map bottom sheet state machine |
| #384 | #399 | e3f8481 |
Five-tab IA regression |
| #385 | #400 | 7ed1af2 |
Tab content surface E2E |
| #386 | #401 | 90f6cec |
Design token and layout constant gate |