← Cockpit Wireframes Pages by level Navigation map
운영 섹션 — 플랫 목표▾
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 · 하단 고정
Archived — superseded by Pages — lists A: tabs, inboxes, club management
Interactive kit · grounded in code

운영 섹션 — 플랫 목표

Recommended pathMove 관리 and the six 운영 screens to the flat canvas
1Flat FlListRow/FlFactRow rows and FlColumn's full-bleed dividers replace every AdminNavRow, boxed MemberRow header, StrikeRecordRow, SummaryCard, VenueRow, and ChallengeCard box.
2An FlStatStrip lead states the headline numbers on 관리, 출석, 회비, and 대항전 — no boxed StatTile clusters.
3SessionCardV2 stays the one object card, kept only on 일정.
4Migration order: 회비 → 출석 → 멤버 → 관리 → 코트 → 대항전 → 일정.
5Build starts on approval of these drawings.
Migration order — 회비 → 출석 → 멤버 → 관리 → 코트 → 대항전 → 일정회비 and 출석 first: highest-traffic 총무 screens, and their headline numbers (완납/미납/부분납, 평균 출석률) are already computed — the lift is a container swap only. Now (2026-09-17): 출석 already shipped this shape (2026-09-07); 회비's own row (DuesRow) separately gained inline pills + a note editor since this board was drawn. EXCEPTION-LEDGER (decided) supersedes the flat container swap for 회비 specifically — see the second Recommended-path block below.멤버 next: its rows are already flat, only the two boxed triage entries (Now: 파트너 추천 moved off this screen entirely, U-35 — 가입 심사/추천할 만한 게스트 remain) and the join-review header need to drop their Card. 관리 and 코트 follow — pure row-shape swaps, no new aggregates.대항전 needs a new club-wide win/loss reduce before its lead strip exists, so it comes second-to-last. 일정 closes the list — SessionCardV2 already reuses the canon card unmodified, so nothing there actually moves.
Recommended pathEXCEPTION-LEDGER — 회비 and 출석 state the rule once, the roster shows only the exception
1회비: the header states 1인당 20,000원 and 매월 25일 once; the roster groups into 확인 대기/미납(+부분납)/납부 완료/면제, only the non-empty sections; one visible pill (납부 확인) on an open row, none on a resolved one — 면제/메모/납부 취소 move behind the existing whole-row tap.
2출석 확인 (per-session): every default row is silent (참석, no button) — only the one no-show row shows a control (X → 불참), matching that screen's own promised copy instead of two buttons on every row.
3Decided in the autonomous pass — veto on the decision log.
관리
2건가입 심사
3명미납 회비
1건대항전 대기
운영
👤
멤버가입 심사 2건 대기
✅
출석주의 인원 2명
💳
회비9월 · 미납 3명
📅
일정모집 중 1건
📍
코트등록 4곳
⚔️
대항전응답 대기 1건
설정
📈
성장 분석멤버십 등급 전용
준비 중
⚙️
클럽 설정
관리 entry — snapshot strip leads, six 운영 rows are bare icon+chevron rows, no Card
멤버 관리
24명총원
조는 클럽 순위로 나눈 실력 그룹이에요
📝
가입 심사
2건
🤝
추천할 만한 게스트
운영진
김
김철수총무 · A조
👑
이
이서연경기이사 · B조
🔥
멤버 (22)
박
박지훈A조
🌱
최
최민지B조 · 수기 배정
🌿
멤버 — 총원 fact leads; triage entries and role-grouped rows are all bare FlListRow
출석 현황
82%가입 후 출석률
2명주의
24명추적
멤버
김
김철수
95%
박
박지훈
주의
54%
최
최민지
88%
출석 현황 (club-wide) — a flagged Badge only on the exception row; every row's own trailing is a 5-bar MiniBarMeter + percent, no per-row ProgressBar
출석 확인참석한 멤버를 확인하고 불참 시에는 X 버튼을 눌러 주세요
출석 13 / 전체 14
불참 1명완료되면 자동으로 기록돼요. 예외만 수정해 주세요
김
김민준
참석
이
이서연
참석
박
박지훈
불참
최
최유나
참석
정
정하은
참석
한
한소율
참석
오
오유진
참석
강
강도현
참석
확인 완료
출석 확인 (per-session) — every default row is silent (참석, no button); the one no-show row is the visible exception, matching the screen's own promised copy
회비 관리
2026년 9월
1인당 20,000원매월 25일 납부
확인 대기1명
박
박준서
납부 확인
미납2명
이
이서연
납부 확인
김
김도윤부분납
납부 확인
납부 완료2명
최
최민서
9/3 납부
정
정하은
9/5 납부
면제1명
한
한소율
회비 — the amount + due day state once in the header; 확인 대기/미납/납부 완료/면제 sections, only non-empty; one pill on an open row, none on a resolved one
일정
모집 중
진행 중
완료
8월 23일 (토)
양재 시민의숲
⏰06:00–09:00
🎾남복
🎯
3.0–4.0
응답 기한 임박 1시간 남음
6/8
8월 25일 (월)
실내 A코트
⏰20:00–22:00
🎾남복
🎯
3.0–4.0
25,000원
모집 중
5/8
일정 — day headers frame the pane (D10); the session card stays the one object card, drawn without its top strip (WFSessionCardV3)
코트
양재 시민의숲 코트강남구 · 코트 4면 · 🏠
실내 A코트서초구 · 코트 2면 · 🏠 · 💡
한티근린공원 코트강남구 · 코트 3면
코트 — flat rows, no Card; name → district · courts · glyphs, chevron trailing
대항전
8승승
3패패
1건진행 중
진행 중
서
서초 테니스클럽9/16 – 9/30
진행 중
완료
송
송파 라켓클럽8/2 – 8/16
3–1 승
강
강동 코트클럽7/12 – 7/26
1–2 패
대항전 — club-wide 승/패/진행 중 leads the strip; grouped rows replace the ChallengeCard scoreboard
Spec (grounding, anatomy)

Flat-canvas migration path for the 관리 entry and all six 운영 screens (멤버·출석·회비·일정·코트· 대항전), per the 2026-09-07 owner ruling already shipped on club-detail. The Recommended-path block states the swap; the migration-order list gives the build sequence; the phones below are each screen's final flat state — bare rows, FlColumn section dividers, an FlStatStrip lead wherever a screen has a headline number cluster, and SessionCardV2 kept as the one object card on 일정. EXCEPTION-LEDGER (decided): 회비 states its rule (amount + due day) once and groups the roster into 확인 대기/미납/납부 완료/면제 with one visible pill per open row; a second, per-session 출석 확인 phone (a different screen from the club-wide 출석 dashboard) keeps every default row silent and shows a control only on the one 불참 exception.

route · apps/mobile/app/clubs/[clubId]/admin/index.tsx → club-admin-screen.tsx; 운영 rows route to /clubs/[clubId]/{members,attendance,dues,sessions,venues,challenges} grounded in 14 source file(s)
packages/features/clubs/src/club-members-screen.tsxpackages/features/clubs/src/club-members/members-list.tsxpackages/features/clubs/src/club-attendance-screen.tsxpackages/features/clubs/src/club-dues-screen.tsxpackages/features/clubs/src/club-dues/page/dues-person-row.tsxpackages/features/clubs/src/club-dues/page/dues-lead.tsxpackages/features/sessions/src/participants/participant-person-row.tsxpackages/features/sessions/src/session-attendance-screen.tsxpackages/features/clubs/src/club-sessions-screen.tsxpackages/features/clubs/src/club-venues-screen.tsxpackages/features/clubs/src/club-challenges-screen.tsxpackages/ui/src/stat-strip.tsxpackages/ui/src/flat-column.tsxpackages/features/clubs/src/club-detail/club-manage-sheet.tsx