Skip to content
Ritesh FirodiyaGet in touch

Work / Aakalan / Wiki / Surfaces

group-settings

Surfacecanonicalverified 2026-09-23

SURFACE.MOBILE.GROUP.SETTINGS

Summary

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é