Skip to content
Ritesh FirodiyaGet in touch

Work / Aakalan / Wiki / Surfaces

person-claim

Surfacecanonicalverified 2026-09-23

SURFACE.MOBILE.PERSON.CLAIM

Summary

A settlement somebody else claimed, and the two buttons that answer it.

Raw wireframe

  • .context/designs/mobile/person/claim.html

Why it is drawn this way

Nothing this app writes lands here any more. Settlements are born confirmed — see settling-is-immediate — but claims written by OLDER clients are still on devices and in Firestore, and they still hold their slice of a debt. They have to remain answerable.

This is the ONLY screen in the product where that answer can be given. The card used to live on Home; Home became balances, the card was replaced by an "Unconfirmed" flag on the person's row, and the buttons it carried were never rebuilt anywhere. The claim was visible from two screens and answerable from none, so the balance stayed wrong permanently with the app explaining why and offering no way out.

It belongs on this screen rather than in a banner because a claim is a fact about THIS person, and this is the screen that shows every line between you.

The figure is stated once. The balance above deliberately still includes it, and the copy says so rather than letting the two numbers look inconsistent.

Confirming does not navigate. It used to push /settle/done — a whole screen to say "that worked" about something the ledger one line below already shows, with the balance already moved. The card disappears and the number changes; that is the confirmation.

Anything reading confirmedAt must keep handling undefined.

Related

Sources

  • src/components/person/pending-claim-card.tsx
  • src/app/person/[id].tsx

Every project of mine is written down like this.

Read the résumé