← Cockpit Wireframes Pages by level Navigation map
Session List Frame · 날짜 섹션 · 패널 필터 · 2+2 카드▾
Shipped app (old grammar)Components · 공유 키트상세 페이지 — 플랫 언어Session Card · 밴드 없는 카드
홈 · Home
Home · 홈
시작 · Entry
Onboarding · 시작
ArchiveStrip Map · 세션 스트립 전체 시나리오Headers · 헤더 아이콘Card Continuity · 카드 = 상세의 예고편Session Hero · 더 조용한 공유 카드 (제안)Session Share Card · 히어로 = 공유 카드Session List Frame · 날짜 섹션 · 패널 필터 · 2+2 카드Compaction — 일정 · 코트 · 스코어카드Compaction — 클럽 상세 · 홈Compaction — 기록 · 프로필Live anchor — 진행 중 밴드Density · 카드 밀도토스트 — 리디자인 제안Club List · 클럽Clubs · 클럽클럽 상세 — 여섯 탭 플랫운영 섹션 — 플랫 목표위저드 내비게이션 — 결정 보드드래프트 복원 — 무음 복원클럽 조 편성 — 모델 결정 보드게스트 → 회원 — 심사 흐름Page polish — titled postsWeb app — desktop layoutProduct questions — openWeb app — desktop adaptation, round 2Visual tone — pure white, flat rows, one Tag, a colour budgetLibrary — chrome, surfaces, rows, labelsLibrary — controls, overlays, states, formsLibrary — page patterns, scaling, motionLibrary — additions from the pagesEmpty-once — 프로필 빈 섹션Notification groups — 할 일 밴드 그룹화Profile Cockpit · 프로필 압축Session Detail — Redesign · 일정Venue Detail — Redesign · 테니스장Profile Detail — Redesign · 프로필Tournament Detail — Redesign · 대항전Applicant Detail — Redesign · 가입 심사Canvas Migration — 회비 · 멤버 · 규칙Record Detail — Redesign · 기록Venue Finder · 코트 찾기Venue Filters · 코트 필터 재구성Notifications · 알림Panel Placement · 하단 고정
Decided 2026-09-18 — shipped; kept as the decision record
Interactive kit · grounded in code

Session List Frame · 날짜 섹션 · 패널 필터 · 2+2 카드

Session list frame — day sections, panel filters, the 2+2 cardRound 2 on the same-day plan (session-event-type-plan.md D10–D13): the owner vetoed the quick chips this morning's build shipped — they duplicated the panel's own rows one tap away — and asked for the date to become the FRAME of every session list instead of a per-card omission. Every list now groups by day (a `WFDayHeader` per day, never restated on the card); the card's freed L2 carries two facts (⏰ time · 🎾 format+type) instead of one, and L3 is the 🎯/🔒 tier band alone (the fee left the card on 2026-09-19 — dues-covered or paid upfront, it never decides a tap; the detail and the 요금 filter keep it). Home's 주/월 panes grow no filter control — they list only the viewer's own handful of sessions, where a filter would remove nothing. Now (2026-09-21): the owner reversed the fee ruling (via a Gemini session — reversal #2 on this card): the ONE chip moved off L1 to the closing line's left pole so the venue title owns its line, and a browsing viewer sees the fee there beside the meter (a host / confirmed viewer's standing chip sits there instead). The cards on this board render that.
경기
내 경기
번개 찾기
저장됨
테니스장
지역 · 설명 검색
필터
날짜
종목
경기 유형
다가오는 일정
마마테니스 역삼점
📅9/18 (금) 10:00~14:00
🎾복식
🎯
3.0–4.0
무료
4/8
대치유수지체육공원 테니스장
📅9/19 (토) 19:00~21:00
🎾복식 번개
🎯
3.5–4.5
8,000원
6/8
Now (this morning's build) — quick chips + the 3-fact-L3 card
경기
내 경기
번개 찾기
저장됨
테니스장
지역 · 설명 검색
필터
9월 18일 (금)오늘
마마테니스 역삼점
⏰10:00~14:00
🎾복식
🎯
3.0–4.0
무료원
모집 중
4/8
9월 19일 (토)내일
대치유수지체육공원 테니스장
⏰19:00~21:00
🎾복식 번개
🔒
3.5–4.5
8,000원원
마감 임박
6/8
올림픽공원 테니스장
⏰09:00~11:00
🎾단식
🎯
3.0–3.5
무료원
마감 임박
3/4
9월 21일 (월)
역삼 테니스장
⏰20:00~22:00
🎾혼복
🎯
3.0–4.0
호스트
2/8
Decided — 경기 tab, 내 경기: day sections, the 2+2 card
주간 브리핑
3
오늘
이번 주
이번 달
이번 주 · 9/14 – 9/20이번 주
이번 주 기록
이번 주 리캡자세히
6경기4승 1패 1무
승률 67%
+18
월
화
수
목
금
토
일
9월 18일 (금)오늘
마마테니스 역삼점
⏰10:00~14:00
🎾복식
🎯
3.0–4.0
무료원
모집 중
4/8
9월 19일 (토)내일
대치유수지체육공원 테니스장
⏰19:00~21:00
🎾복식 번개
🎯
3.5–4.5
8,000원원
마감 임박
6/8
올림픽공원 테니스장
⏰09:00~11:00
🎾단식
🎯
3.0–3.5
무료원
마감 임박
3/4
9월 21일 (월)
역삼 테니스장
⏰20:00~22:00
🎾혼복
🎯
3.0–4.0
호스트
2/8
Decided — home 주 pane: day sub-headers, no filter control
경기
내 경기
번개 찾기
저장됨
테니스장
지역 · 설명 검색
필터1
번개 필터초기화
날짜 전체
종목 복식
경기 유형 전체
지역 전체
티어 전체
경기 방식 전체
코트 전체
요금 전체
9월 18일 (금)오늘
마마테니스 역삼점
⏰10:00~14:00
🎯
3.0–4.0
무료원
모집 중
4/8
대치유수지체육공원 테니스장
⏰19:00~21:00
🎾번개
🎯
3.5–4.5
8,000원원
마감 임박
6/8
Decided — 필터 panel open: 종목 복식 set, cards drop the fact
Decided (owner, 2026-09-18, Round 2): DATE-SECTIONS (D10) — every session list groups by day; a day header states the date once, the card never restates it, not even under an omission. CARD 2+2 (D11) — the date leaving L2 frees it for a second fact (🎾 format+type beside ⏰ time); L3 is the 🎯/🔒 tier band alone (fee gone, 2026-09-19). No filters on home's 주/월 (D12) — those panes list 2–12 of the viewer's OWN sessions on the QA bed; a filter that removes nothing is chrome (Baymard), so the decision is a line on the board, not a control on the pane. Quick chips reversed (owner veto #1, same day as ship) — the panel (필터 toggle + count badge) is the ONE filter surface; the card-omission law now derives from ITS active rows, never a chip. Taxonomy stays five values (D13) — carried unchanged from session-filters.jsx.
Rejected: `GroupedFeedList` for the day sections — it is an un-virtualized `SectionList`, and every list here already virtualizes through `FeedList`; a segmented 종목/유형 control pinned above every list — it would only restate the panel one scroll away, the exact chrome the quick chips were vetoed for; keeping the date on the card underneath its own day header — the header already states it, so the card doing it too restates the frame instead of shortening under it.
Spec (grounding, anatomy)

DECIDED 2026-09-18 (Round 2, session-event-type-plan.md D10–D13): every session list (경기 탭의 내 경기/번개 찾기, 홈의 주/월 pane) groups by day via a WFDayHeader (SectionHeader variant="list" — the date, then 오늘/내일 at the right pole); the card never restates the date. The card body regroups into 2+2: L2 ⏰ time · 🎾 format(+event type), L3 🎯/🔒 tier band alone (the fee left the card 2026-09-19). The always-visible quick-chip row (날짜·종목·경기 유형) shipped and was reversed the SAME day — QUICK-CHIPS-REVERSED — because it duplicated the panel; the panel is the one filter surface and now drives the card-omission law directly. Home's 주/월 panes grow no filter control (D12). Supersedes session-filters.jsx.

grounded in 12 source file(s)
packages/features/activity/src/shared/filter-groups.tspackages/ui/src/filter-head.tsxpackages/app/src/presentation/components/expandable-filter-bar.tsxpackages/ui/src/dropdown-chip.tsxpackages/app/src/presentation/components/sessions/session-card-v2.tsxpackages/features/activity/src/activity-screen.tsxpackages/ui/src/empty-state.tsxpackages/app/src/presentation/components/sessions/session-day-header.tsxpackages/app/src/presentation/utils/session-day-groups.tspackages/app/src/presentation/hooks/use-session-list-renderer.tsxpackages/ui/src/section-header.tsxpackages/features/home/src/news/news-feed-list.tsx