← Cockpit Wireframes
Strip Map · 세션 스트립 전체 시나리오
Approved — build queue
Venue Finder · 코트 찾기
ArchiveStrip Map · 세션 스트립 전체 시나리오Headers · 헤더 아이콘Compaction — 일정 · 코트 · 스코어카드Compaction — 클럽 상세 · 홈Compaction — 기록 · 프로필Live anchor — 진행 중 밴드Density · 카드 밀도토스트 — 리디자인 제안위저드 내비게이션 — 결정 보드드래프트 복원 — 무음 복원클럽 조 편성 — 모델 결정 보드Session Detail — Redesign · 일정Venue Detail — Redesign · 테니스장Profile Detail — Redesign · 프로필Tournament Detail — Redesign · 대항전Applicant Detail — Redesign · 가입 심사Canvas Migration — 회비 · 멤버 · 규칙Record Detail — Redesign · 기록Venue Filters · 코트 필터 재구성
Archived — superseded by Session Card · 밴드 없는 카드
Interactive kit · grounded in code

Strip Map · 세션 스트립 전체 시나리오

SessionStrip v2 — 역할 기반 + 리본 문법
스트립 = 칩의 행. 자유 텍스트·구두점 없음. 솔리드 칩 = 긴급(시한·지금) 또는 종결(취소됨) · 흰 칩 = 경고·진행 중·스탠딩(의미는 글자색). 메시지와 한정어는 한 칩 — 서브 세그먼트는 본문과 동일 렌더, 구분은 헤어라인뿐 (B안). 역할 우선순위 호스트 > 확정 > 예비자 > 브라우즈; 공통 인터럽트(취소·라이브)가 전 역할 선점. 모집 상태는 브라우즈 전용.
언어 문법
· 상태는 ~중 (라이브 → 진행, 예비, 입금 확인 중) · 결과는 ~됨/확정 (취소됨, 참석 확정) · 행동은 ~필요 (입금 필요, 점수 확인 필요)
· 카운트다운 한정어는 N 남음, 미래 시작은 N 뒤 — “3시간 전”은 단독 칩으로 읽으면 과거형이라 금지
· 웨이팅은 ‘예비’ — 신청함은 새 신청 N건으로 분리. ‘대기’는 결제 대기 등 프로세스 대기에만 남김 (성사 대기처럼 사람이 아니라 절차가 기다리는 경우)
· RSVP 동사는 참석/불참(참석하다/불참하다) — 참가는 참가비·토너먼트 참가에만. 참가비 송금 확인 절차는 클럽 총무 어휘에 맞춰 입금 (입금 필요/입금 확인 중/입금 완료)
· 신청/접수 시점: 접수는 받는 쪽, 신청은 하는 쪽 — 뷰어 칩은 항상 뷰어의 동사 (예비 가능)
· 칩 색 원칙: 솔리드 = 긴급(마감 시한·지금 벌어짐) 또는 종결 — 취소됨·라이브·입금 필요·마감 임박·곧 시작. 흰 칩 = 경고·진행 중·스탠딩 — 우천 예보·새 신청·점수 확인 필요·입금 확인 중·호스트·참석 확정·예비·모집 마감
적용 서피스 렌더 — 카드 + 상세
SHIPPED (session-strip-ui.tsx:341-371,444): the bare Bookmark glyph is baked into SessionStripView and always renders at the strip's end on every non-null strip — filled when saved, ~0.7-opacity outline when not; it is not tappable there. The detail screen additionally carries its own tappable toggle in the header (SessionSaveButton, session-detail-screen.tsx:342) — the strip's indicator only mirrors that state, it never replaces it.
서초구
양재 클레이코트
토 7/26 · 오전 10:00₩10,000
복식친선NTRP 3.0–5.0
모집 중5/12
라이브
송파구
올림픽공원 테니스장
오늘 · 오후 7:00
복식정기NTRP 3.0–5.0
12/12
입금 필요8분 남음
영등포구
한강공원 코트
일 7/27 · 오전 8:00₩8,000
복식친선NTRP 3.0–4.0
8/12
참석 확정
성동구
서울숲 코트
월 7/28 · 오후 8:00
단식정기NTRP 3.5
11/12
카드 4종① 브라우즈(밴드 없음 — 표시할 곳 없음 = 미저장 기본) ② 라이브 리본 끝 아웃라인(미저장) ③ 입금 리본 끝 필드(저장) ④ 캄 밴드 끝 필드(저장). 썸네일은 지도+핀만 — 오버레이 금지(라운드4 캐논)
양재 클레이코트 · 토 10:00
밴드 없음 (모집 중 브라우즈) — 북마크는 헤더에 상주
VenueHero …
한강공원 코트 · 일 8:00
입금 필요8분 남음
VenueHero …
상세 2종헤더 아이콘 로우(공유·수정 옆)에 북마크 토글 상주 — 아웃라인(미저장) / 필드+브랜드그린(저장). 상세 리본은 카드보다 한 단계 큼
공통 인터럽트 — 모든 역할 선점
취소됨
모든 역할rank 10 — 전부를 이김. 북마크 = 맨 아이콘 토큰 (흰색)
라이브
모든 역할rank 20 — 앱 전역 in_progress 배지와 동일 어휘. 북마크 = 맨 끝 아이콘 토큰(모든 non-null 스트립 공통, session-strip-ui.tsx:444)
호스트 — 모집 상태 없음
새 신청 2건
호스트게스트 신청 도착 — 행동 대상이지만 시한이 없음 → 흰 앰버 칩 (새 메시지 N개 패턴)
우천 예보강수확률 70%
호스트진행 판단 — 경고 클래스 → 흰 앰버 칩. 기상 표준어는 '강수확률'
곧 시작45분 뒤
호스트시작 임박 — 구어체 '뒤' (문어체 '후' 대신, 토스 레지스터)
호스트
호스트 (평시)기본 스탠딩 — 캄 밴드 위 흰 서피스 칩
확정 참가자
입금 필요8분 남음
유료 확정자 (홀드)미입금 시 자동 취소 — '입금 대기'는 기다린다는 뜻이라 오독; 실제론 뷰어가 행동해야 함 → ~필요 (클럽-총무 어휘 '입금')
입금 확인 중
유료 확정자 (입금 완료)진행 중 클래스 → 흰 앰버 칩 (흰 칩이 규범)
점수 확인 필요
확정 참가자경기 후 점수 동의 — 행동 대상이지만 시한 없음 → 흰 앰버 칩 (⚑ 시한 도입 시 솔리드 승격)
곧 시작45분 뒤
확정 참가자시작 임박
참석 확정
확정 참가자 (평시)기본 스탠딩 — 흰 칩 + 녹색 글자
예비자
예비3번
예비자'대기 명단'은 명부(사물) — 뷰어의 상태는 '예비'. 순번은 같은 칩의 서브 세그먼트 (예비 N번 패턴)
브라우즈 — 유일하게 모집 상태를 봄
밴드 없음 — open + 무관계가 기본 상태 (밴드의 부재 자체가 신호)
브라우즈 (모집 중)밴드 없음 — 미터가 모집 중을 말함
마감 임박3시간 남음
브라우즈신청 마감 임박 — '3시간 전'은 단독 칩으로 과거형('3시간 전에 마감됨')으로 읽히는 버그 → N 남음
모집 마감예비 가능
브라우즈 (만석)복합 상태 = 한 칩: 예비 가능은 일반 서브 세그먼트 (별도 색 없음). '접수'는 받는 쪽 동사 → 뷰어 어휘는 '예비 가능'
모집 마감
브라우즈완전 마감 — 들어갈 길 없음
Spec (grounding, anatomy)
grounded in 3 source file(s)
packages/app/src/domain/session-attention.tspackages/app/src/domain/session-strip.tspackages/app/src/presentation/components/sessions/session-strip-ui.tsx