Work / Aakalan / Wiki / Surfaces
group-settings
Surfacecanonicalverified 2026-09-23
SURFACE.MOBILE.GROUP.SETTINGSSummary
Who is in this group, what currency it is in, how it settles, and how to leave it.
Raw wireframe
- .context/designs/mobile/group/settings.html
Why it is drawn this way
Membership was fixed at creation until this screen existed, which is backwards: it is the thing about a group most likely to change after it exists — somebody joins the trip late, somebody was added twice, somebody was never really part of it.
Removal is refused for anyone who appears in an expense, and the reason is on
screen. Their uid is still in that expense's splits, so dropping them would
leave a share divided between people the group no longer lists, and the balances
would stop adding up with no screen on which to see why. The store enforces it;
here it is explained rather than just blocked.
An invite button appears on members who are not on Aakalan. They cannot see this group at all, so an invite is the only thing that makes their membership mean anything.
Simplify lives here and only here. See group for why it is a group decision rather than a view.
The currency is locked once the group has an expense, with the reason in the veil rather than a disabled control that says nothing.
Leaving and deleting are last, and in that order — one is about you, the other is about everyone. Both are blocked with the reason written on screen: a disabled control that explains itself is the difference between "this app is broken" and "I need to settle up first".
The confirmation on removal is a system alert, not a drawn screen — it carries no product content beyond the name.
Related
Sources
- src/app/group/[id]/settings.tsx
- src/data/actions.ts
Every project of mine is written down like this.
Read the résumé