Twenty-one list routes: the 클럽 and 경기 tab roots, the 알림 and 메시지 inboxes, the thirteen club management lists, a member’s 참가비 내역 and the three session sub-lists.
Every club the viewer belongs to, and the way to find, join or start one.
Find a pickup to join, and see my own schedule and the sessions I saved. The third pane, 테니스장, is drawn on List B.
Everything that reaches the viewer from any part of the app, newest first in three time sections over the last 30 days; one filter shows what is unread or what waits on them.
Conversations with members and hosts, at once; the requests waiting for an answer are one door row away.
The club’s people for the officials, one list: the applications waiting first, then the roster by role and the guests worth inviting; one Choice filters it, and the FAB invites.
The officials’ pages for the club’s own dues: the month, its rows (a 확인 대기 row confirmed in its own row, the 미납 rows reminded one by one or all at once), the balance line that opens the ledger, and the plan the month is made from. A member’s dues are 클럽 홈’s 회비 pane (the owner, 2026-10-21).
The club’s ledger, income and spending, newest first by month: its own page, opened from 회비 관리’s Cell 장부.
A member’s session fees across clubs, newest first: what they paid, what they still owe and what is coming back.
A club’s sessions, upcoming or past by the one Choice in its first head, with the one way to add another.
Each member’s show-up rate since joining, with the flagged ones first, and a way into any member’s club record.
Reports filed against members of the club, for the officials to read and resolve.
The venues a club plays at, added through the shared finder and edited in place.
The days and times the club meets every week, every other week or every month, listed for the officials; a row opens its editor, where a meet is changed, and the FAB adds one.
The club’s skill groups, in the order they fill: each row opens its Sheet, 재편성 previews who moves, and the FAB adds one.
The club’s challenges against other clubs: waiting, running and past, with the standing.
The club’s approved photos, newest first, grouped by the upload they came with.
The club’s photos for the officials: the ones waiting for an answer first, then the public ones with the 대표 사진 marked, then the ones turned down; a row opens its Sheet and the FAB adds a photo.
Members who suit the viewer as a doubles partner, best fit first, each with the number and the fact behind it.
Everyone in the session on one page of PersonRows, sectioned by what the host must do: money to confirm (a button on each row), money owed (a reminder on each row), the confirmed, the waitlist, the applications; a member sees names and times.
Players check themselves in from 일정 상세, so this page shows the host only the exceptions: who has not come, who is late, and a button on each row (and 모두 확인 on the group) that confirms the ones who have.
The pickup host decides who may join, applicant by applicant, in the row.
Page board for the first half of the list routes, composed from the shared flat v2 kit. Frames only; specs behind the toggle.
packages/features/clubs/src/club-list-screen.tsx · packages/features/activity/src/activity-screen.tsx · packages/features/home/src/notification-center-screen.tsx · packages/features/messaging/src/dm-inbox-screen.tsx
grounded in 86 source file(s)
packages/features/clubs/src/club-list/club-feed-row.tsxpackages/features/clubs/src/club-list/club-row-model.tspackages/features/clubs/src/club-list/club-relation.tspackages/features/clubs/src/club-list/my-clubs-sections.tspackages/features/clubs/src/club-list/my-clubs-pane.tsxpackages/features/clubs/src/club-list/discover-pane.tsxpackages/features/clubs/src/club-list/club-filter.tspackages/features/clubs/src/club-list/club-create-fab.tsxpackages/features/clubs/src/shared/offer-waiting-tag.tsxpackages/features/clubs/src/club-members/guests/proposed-row.tsxpackages/features/clubs/src/club-list-screen.tsxpackages/features/activity/src/activity-screen.tsxpackages/features/activity/src/shared/filter-groups.tspackages/app/src/presentation/components/sessions/venue-finder.tsxpackages/app/src/presentation/components/sessions/directory-venue-card.tsxpackages/features/home/src/notification-center-screen.tsxpackages/features/home/src/notification-center/notification-row.tsxpackages/features/home/src/notification-center/use-notification-center.tspackages/features/messaging/src/dm-inbox-screen.tsxpackages/features/clubs/src/club-members-screen.tsxpackages/features/clubs/src/club-members/member-row.tsxpackages/features/clubs/src/club-members/members-list.tsxpackages/features/clubs/src/club-members/applicant-row.tsxpackages/features/clubs/src/club-members/guest-row.tsxpackages/features/clubs/src/shared/guest-picker-modal.tsxpackages/features/clubs/src/join-review-detail-screen.tsxpackages/features/clubs/src/club-dues-screen.tsxpackages/features/clubs/src/club-dues/page/dues-list.tsxpackages/features/clubs/src/club-detail/dues-pane/member-dues-view.tsxpackages/features/clubs/src/club-dues/page/dues-person-row.tsxpackages/features/clubs/src/club-detail/dues-pane/attest-sheet.tsxpackages/features/clubs/src/club-sessions-screen.tsxpackages/features/clubs/src/club-attendance-screen.tsxpackages/features/clubs/src/club-reports-screen.tsxpackages/features/clubs/src/club-venues-screen.tsxpackages/features/clubs/src/club-challenges-screen.tsxpackages/features/clubs/src/club-challenges/challenge-dialogs.tsxpackages/features/clubs/src/club-album-screen.tsxpackages/features/clubs/src/partner-suggester-screen.tsxpackages/features/sessions/src/participants-screen.tsxpackages/features/sessions/src/participants/participant-person-row.tsxpackages/features/sessions/src/session-attendance-screen.tsxpackages/features/sessions/src/pickup-host-dashboard-screen.tsxpackages/app/src/presentation/hooks/queries/use-session-payments.tspackages/app/src/domain/entities/session.entity.tspackages/app/src/domain/session-info-model/payment-gate.tspackages/features/clubs/src/club-regular-meets/regular-meets-page.tsxpackages/features/clubs/src/club-regular-meets/regular-meet-editor-page.tsxpackages/features/clubs/src/club-regular-meets/repeat-sheet.tsxpackages/features/clubs/src/club-regular-meets/time-sheet.tsxpackages/ui/src/sheet.tsxpackages/features/clubs/src/club-groups/group-sheet.tsxpackages/features/clubs/src/club-groups/regroup-sheet.tsxpackages/features/clubs/src/club-album-manage/club-album-manage-page.tsxpackages/features/clubs/src/club-album-manage/photo-item.tsxpackages/features/clubs/src/club-album-manage/photo-sheet.tsxpackages/features/clubs/src/settings/use-club-image-pickers.tspackages/features/clubs/src/shared/club-page-state.tspackages/features/clubs/src/club-manage-host/use-club-host.tspackages/features/clubs/src/shared/club-gate-view.tsxpackages/features/clubs/src/club-regular-meets/club-regular-meets-screen.tsxpackages/features/clubs/src/club-groups/club-groups-screen.tsxpackages/features/clubs/src/club-groups/groups-list.tsxpackages/features/clubs/src/club-album-manage/club-album-manage-screen.tsxpackages/features/clubs/src/club-album-manage/use-album-page.tspackages/features/clubs/src/club-album-manage/use-album-upload.tspackages/features/clubs/src/club-album-manage/use-album-writes.tspackages/features/clubs/src/club-album-manage/album-manage-model.tspackages/features/clubs/src/club-members/guest-roster-section.tsxpackages/features/clubs/src/club-members/guests/roster-lists.tsxpackages/features/clubs/src/club-members/guests/roster-model.tspackages/features/clubs/src/club-members/guests/use-guest-roster.tspackages/features/clubs/src/club-members/guests/use-guest-actions.tspackages/features/clubs/src/club-settings-screen.tsxpackages/app/src/presentation/utils/recurrence-format.tspackages/app/src/domain/rules/club-groups.rules.tspackages/app/src/domain/entities/club-group.entity.tspackages/app/src/presentation/hooks/queries/use-club-regular-meets.tspackages/app/src/presentation/hooks/queries/use-club-groups.tspackages/app/src/presentation/hooks/queries/use-club-media.tspackages/app/src/presentation/hooks/mutations/use-regular-meet-mutations.tspackages/app/src/presentation/hooks/mutations/use-club-group-mutations.tspackages/app/src/presentation/hooks/mutations/use-club-media-mutations.tspackages/features/clubs/src/settings/info-group.tsxpackages/features/clubs/src/settings/join-group.tsxpackages/app/src/presentation/hooks/use-share-club-invite.ts