Skip to content

Owner review 28 — rulings (2026-10-15) ​

Status: Superseded in part — direction B was chosen in review 29; 내 일정 left 홈 in review 38 · Date: 2026-10-15

Answers: the owner's review of the composed 홈 (review 27 §6):

  1. No metadata row below the Block: the Block holds the complete data.
  2. Keep the 내 일정 and 참여할 수 있는 일정 separation.
  3. The precedence of the Block's states. A player in a live match is confined to the live session page, so no score is entered after the session.
  4. What is "the official page"?
  5. The greyed-out 참석 should not exist.
  6. "What you brought to me is really a rearrangement and edit of the components we had. The overall layout hasn't really changed. Is that the direction you want?"

Board: flat-v2-hub § 홈, groups "Direction A" and "Direction B".

1. The Block holds the whole next game ​

The faces and the line under the Block are gone. The next game is complete inside the Block:

  • When: the eyebrow ("내일, 9월 19일 (토)") and the figure ("09:00").
  • Where: the unit beside the figure ("올림픽공원 테니스장").
  • Who: four faces on ink, ringed in the block's ink like the kit's AvatarStack.
  • How it stands: the meta, either "6/8 참석" with the weather, or the fee and its deadline.

The Block stays one press target with one door.

A proposal for the library's day Block: a face pile in zone C. With the faces, zone C is 32 tall instead of the 22 of a meta line, so the Block grows by 10.

2. The separation stays ​

Both directions keep 내 일정 (your games) apart from 참여할 수 있는 일정 (your clubs' open sessions and your saved ones).

3. One subject for the Block, and live mode ​

The Block shows one thing: your next game, meaning the earliest session you have joined and are not playing in. Other games keep their state on their own day or row, and what you owe across all of them is 할 일. When several states apply to that one game, the first in this order wins:

OrderState of your next gameThe Block
1Cancelled, not yet seen"취소됐어요", door 다른 일정 찾기; after it is seen, the next game takes over
2Check-in open (it is about to start)"곧 시작해요", door 출석하기, which enters live mode
3A fee duedoor 입금하기, meta: the amount and the deadline
4Waitlistedmeta "예비 2번", door 일정 보기
5Confirmeddoor 일정 보기, meta: attendance and weather

Live mode (the owner's rule). It replaces the review-27 backstop.

  • When it starts: at check-in, or when the player's first match starts, whichever comes first.
  • What holds the player: they stay in the session's live page until their last match is settled.
    • The tab bar hides and back does not leave.
    • A cold start returns to the live page.
    • The session's chat is reachable inside it; other pushes wait.
  • Leaving early is a settlement: the player records 기권 on their remaining matches, or the host takes them out of the draw.

So no score is ever owed outside the session, and four things go:

  • 홈's "playing now" and "score owed" states (홈 cannot be reached while you play);
  • the 참석 held while a score was owed;
  • the member 할 일 Cell 점수 입력;
  • the overdue line on 홈.

A player who RSVPed but never checked in is not held, so a no-show is never trapped. The rule is library §10, principle 7.

To decide with the live page: whether anything else may be opened from live mode without leaving it. The recommendation is the session chat only.

4. "The official page" ​

It is not a separate page. It is the same 홈 for a club officer: the 총무 and 운영진, meaning the club owner, admins and match directors. 홈 adds the 할 일 module for them (입금 확인, 가입 신청, 회비 미납 and the rest), and their FAB makes a club session instead of a 번개. The frames are now labelled "Club officer".

5. The greyed-out 참석 ​

Gone. Live mode means no score is owed after a session, so there is nothing to hold joining behind.

6. Is a rearrangement the direction? No. ​

What review 27 delivered was an information fix:

  • the Block became your next game;
  • joined and open were separated;
  • what you owe moved into 할 일;
  • each section was limited to three rows.

Those are worth keeping, but the layout grammar was untouched. Every module was still a section head over a stack of rows, so the page still read as a list.

Changing the layout means changing the forms, not their order. The board now draws two directions so the choice is concrete:

  • A: the list, recomposed (member, club officer).
    • The complete Block.
    • 내 일정 as agenda rows, with the weekday and date instead of a map.
    • Open sessions as map rows with the spots left and an inline 참석.
    • Better information, same layout.
  • B: a composed layout (member, a fee due, club officer, nothing joined). Each module takes the form of its question:
ModuleQuestionForm in B
The BlockWhat is next?The complete next game, on ink
할 일 (officers)How much is waiting?A Strip of counts side by side: 입금 확인 3건, 가입 신청 1건, 회비 미납 4명; each count opens its tool
내 일정What does my week look like?The next seven days as columns, today ringed, one time chip per game (ink; a fee due in the warning tone); a day is one press target
참여할 수 있는 일정Where could I play, and is there room?A two-up grid of map tiles (3:2, the surface pin), the time first, then the venue and the room left; four tiles, then 전체 보기

What B costs:

  • The week shows times, not venues; you tap a day to see where.
  • The tiles are less dense than rows (four against three, at about twice the height).
  • 참석 moves to the session screen, one tap more than A's inline button.
  • Three new components need library entries: the face pile on the Block, the week timeline and the tile grid.

What B gains:

  • The page has four distinct shapes instead of one repeated row, so it scans by shape before text.
  • Your week becomes a picture of busy and free days.
  • Open games lead with their place.

Recommendation: B for the hubs (홈, 기록, 프로필, 클럽 홈), A's grammar for real lists (경기 › 예정, 번개 찾기, member lists), where rows are the right form.

The seven laws stay as the reasoning. C3, "form follows the question", is the one that turns a list into a layout, and review 27 applied it too timidly.

Markdown remains the source of truth. Run yarn docs:check before handoff.