← Cockpit Wireframes
Clubs · 클럽
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 · 코트 필터 재구성
For owner review — open: Part 3 guest hub, drawn flat
Interactive kit · grounded in code

Clubs · 클럽

Recommended pathDiscover card under the corners law, with a bottom terms row; the non-member profile goes flat
1Discover card (owner 2026-09-07): tier top-left, recruitment status (N명 모집 중) top-right, flag bottom-left, the member/capacity chip stays on the seam — the same corners as the member card.
2Body: name + activity → tagline → identity chips (📍 👥 📅) → terms chips (join policy · dues) as the bottom row, same chip grammar.
3Member card unchanged (M23-D, shipped).
4Non-member profile: hero redrawn to the shipped collapsing-header + MediaHero identity pattern; proof strip, locked 게시판/랭킹/멤버 tease rows, gallery ahead of the description, CTA sublabel — drawn flat (Part 3).
Owner's word needed → the terms row is drawn as a second chip row under the identity chips — confirm that is the intended bottom placement
Club summary card — corners law (shipped 2026-08-04, confirmed by the owner 2026-09-07)

The photo's corners carry semantics: LEFT column = identity (tier top-left, flag bottom-left), RIGHT column = state and numbers (alarm top-right on the member card, capacity bottom-right). The headline is name + activity only. This is what club-card.tsx renders today; the rejected placements (tier in the headline, tier and alarm sharing a corner, alarm top-left) are not shown.

M23-D — member card, shipped~248px · 1.9/490
NTRP 3.5 –3.0
2
24/40
강남 라켓클럽
방금 활동
7/19 (토)07:00
양재 시민의숲
8/12
7/22 (화)20:00
올림픽공원 테니스장 실내코트 3번
11/12

Tier top-left, alarm circle top-right, flag bottom-left, capacity bottom-right. The member body carries no chip row, so the headline stays calm.

D23-E — discover card, owner direction 2026-09-07~268px · 2.1/575
NTRP 3.5 –3.0
16명 모집 중
24/40
방배 우먼스 클럽
방금 활동
즐겁게 치고, 시원하게 한 잔 해요
📍서울 강남구👥혼성 20~40대📅매주 화, 토
🔒가입 승인제💳월 3만원

Discover under the same corners law: tier top-left, recruitment status (16명 모집 중) top-right, flag bottom-left, the member/capacity chip on the seam as shipped. Body: name + activity → tagline → identity chips → terms chips (join policy · dues) as the bottom row.

Guest Hub Redesign — 비회원 미리보기 (PublicClubProfileScreen)
🕒 결정 대기 — proceeds after the card decision aboveGuest-only (PublicClubProfileScreen carries no tab shell): a proof strip + bait→payoff tease row for the public profile, against docs/architecture/club-surfaces-unification.md.
PROPOSED
1/5
방배 우먼스 클럽승인 후 가입
🏷실버 ~ 골드📍서초구 방배동👥멤버 16명
+12
16/24명
사진 확인일정 운영 중소개 완성📍 2.4km
클럽 정보
종목
복식 위주
실력
실버 ~ 골드
가입 방식
가입 승인제
홈 코트
양재 시민의숲
회비
월 30,000원
정기 일정
7/27
오전 8:00양재 시민의숲 코트
📰
게시판이번 주 새 글 3개
🔒 가입하면 열려요
🏆
랭킹시즌 랭킹 운영 중
🔒 가입하면 열려요
👥
멤버 16명
🔒 가입하면 열려요
갤러리
전체 보기
소개
매주 일요일 오전, 초급부터 중급까지 편하게 즐기는 여성 전용 클럽입니다. 라켓만 들고 오세요!
월 3만원 · 가입 승인제
가입 신청하기

Identity hero REDRAWN to the shipped hero identity pattern (collapsing header + MediaHero title/titleBadge/facts + a leading capacity row, 2026-09-08 ruling) — not part of the open proposal. NEW (still open): proof strip (proofSignals, zero consumers today) + distance chip; activity order unchanged (already meets-then-next); bait→payoff tease row (게시판/랭킹/멤버, locked); gallery moved ahead of description; CTA gains a sublabel recap (§5.3, not built yet).

Spec (grounding, anatomy)

Recommended path: the discover ClubCard under the corners law (tier top-left, recruitment top-right) with a bottom terms-chip row, and the non-member public profile drawn flat. The member card, club list, join flow and 6-tab club detail are shipped — see the Screens lane for those.

route · apps/mobile/app/(tabs)/(clubs)/index.tsx → clubs/src/club-list-screen.tsx grounded in 67 source file(s)
packages/features/clubs/src/club-list-screen.tsxpackages/features/clubs/src/shared/club-card.tsxpackages/features/clubs/src/shared/club-discovery-controls.tsxpackages/features/clubs/src/join-club-screen.tsxpackages/features/clubs/src/shared/club-photo-seam.tsxpackages/features/clubs/src/public-club-profile-screen.tsxpackages/app/src/presentation/components/sessions/session-card-v2.tsxpackages/ui/src/card.tsxpackages/ui/src/section-eyebrow.tsxpackages/ui/src/banner-capacity-cluster.tsxpackages/ui/src/charts/CapacityRing.tsxpackages/ui/src/glyph-fact-row.tsxpackages/ui/src/media-hero.tsxpackages/features/clubs/src/public-club-profile/album-pager.tsxpackages/ui/src/tokens.tspackages/features/sessions/src/directory-venue-detail-screen.tsxpackages/ui/src/bottom-cta-band.tsxpackages/ui/src/button.tsxpackages/ui/src/segmented-tabs.tsxpackages/ui/src/pill-nav.tsxpackages/ui/src/collapsing-top-bar.tsxpackages/ui/src/place-shell.tsxpackages/ui/src/main-tab-shell.tsxapps/mobile/app/(tabs)/_layout.tsxpackages/app/src/presentation/components/sessions/session-compact-row.tsxpackages/ui/src/date-tile.tsxpackages/features/clubs/src/club-detail-screen.tsxpackages/features/clubs/src/club-detail/club-place-header.tsxpackages/features/clubs/src/club-detail/club-identity-header.tsxpackages/features/clubs/src/club-detail/home-tab.tsxpackages/features/clubs/src/club-detail/sessions-pane.tsxpackages/features/clubs/src/club-detail/chat-pane.tsxpackages/features/clubs/src/club-detail/records-pane.tsxpackages/features/clubs/src/club-detail/members-pane.tsxpackages/features/clubs/src/club-detail/dues-pane.tsxpackages/features/clubs/src/club-admin-screen.tsxpackages/features/clubs/src/club-detail/admin-tab.tsxpackages/features/clubs/src/club-detail/ranking-tab.tsxpackages/features/clubs/src/public-club-profile-screen.tsxpackages/features/clubs/src/shared/post-row.tsxpackages/features/clubs/src/post-detail-screen.tsxpackages/features/clubs/src/post-create-screen.tsxpackages/features/clubs/src/club-sessions-screen.tsxpackages/features/clubs/src/club-venues-screen.tsxpackages/features/sessions/src/venue-detail-screen.tsxpackages/features/clubs/src/club-members-screen.tsxpackages/features/clubs/src/club-dues-screen.tsxpackages/features/clubs/src/club-attendance-screen.tsxpackages/features/clubs/src/club-settings-screen.tsxpackages/features/clubs/src/join-review-detail-screen.tsxpackages/features/clubs/src/create-club-screen.tsxpackages/features/clubs/src/shared/club-card-model.tspackages/features/clubs/src/shared/club-card-summary.tspackages/app/src/domain/entities/club.entity.tspackages/app/src/domain/club-info-model.tspackages/app/src/domain/rules/attribute-derive.tspackages/app/src/config/i18n/ko/clubs.tspackages/app/src/domain/entities/regular-meet.entity.tspackages/app/src/presentation/utils/recurrence-format.tspackages/app/src/domain/entities/profile.entity.tssupabase/migrations/00263_club_regular_meets.sqlpackages/app/src/presentation/hooks/queries/use-posts.tspackages/features/clubs/src/shared/club-logo-bubble.tsxpackages/ui/src/avatar-stack.tsxpackages/ui/src/day-dots-row.tsxpackages/features/clubs/src/shared/club-vitals.tsdocs/architecture/club-surfaces-unification.md