UX sprint U2: design-spec.md, screen catalogue, strings.csv (owner approved)
Kalas (muted) design spec with final tokens, components and every screen S-1 to S-22 in all states; 80-frame screen catalogue with 155 PNGs in docs/ux/screens/; strings.csv with D-017 module prefixes (558 rows, en and sv); colour tokens renamed to the landed contract names slate and amber; fixed category ids; proposed-decisions.md with the final §9.7 hex values and UX-9. Supersedes tokens.md, components.md, screens.md and the U1 Kalas PNGs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01U2TeboHB8AtnzTrt3bWFzY
This commit is contained in:
+8
-8
@@ -1,6 +1,6 @@
|
||||
# Kvitt: flows
|
||||
|
||||
Status: U1 proposal (2026-10-17). Step-by-step flows with screen ids (`ia.md`, `screens.md`). Rules referenced by spec section; nothing here redefines them. Data from the shared mock household (Jacob = owner/admin, Anna = partner; today lördag 17 oktober 2026).
|
||||
Status: U1 (2026-10-17), updated in U2 (2026-10-18) for the owner's decisions (category suggestion UX-3 with no caption and "most often" history; 14 default categories UX-8). Step-by-step flows with screen ids (`ia.md`, `design-spec.md` §4). Rules referenced by spec section; nothing here redefines them. Data from the shared mock household (Jacob = owner/admin, Anna = partner; today lördag 17 oktober 2026).
|
||||
|
||||
Notation: **User** does · *System* does · `S-n` screen · ⟶ navigation.
|
||||
|
||||
@@ -18,7 +18,7 @@ Notation: **User** does · *System* does · `S-n` screen · ⟶ navigation.
|
||||
8. **Jacob** taps "Dela" ⟶ Android share sheet ⟶ sends the message to Anna (SMS, Signal, …). Back ⟶ `S-3` now shows the expiry.
|
||||
9. When Anna has joined (F-2), the next sync replaces `S-3` with `S-4` empty state "Skapa ert första konto" ⟶ **Jacob** taps "Nytt konto" ⟶ `S-6` "Vardag", 50/50 ⟶ Spara ⟶ `S-4` with the account and the FAB.
|
||||
|
||||
Error branches: `invite_invalid` / network / `rate_limited` inline on `S-1` (screens.md S-1). Lost every phone later: `kvitt-server pair-device` (AC-1.6) then F-1 steps 2–5.
|
||||
Error branches: `invite_invalid` / network / `rate_limited` inline on `S-1` (`design-spec.md` S-1). Lost every phone later: `kvitt-server pair-device` (AC-1.6) then F-1 steps 2–5.
|
||||
|
||||
## F-2 Join as spouse (US-2, AC-2.4, AC-2.10)
|
||||
|
||||
@@ -28,13 +28,13 @@ Error branches: `invite_invalid` / network / `rate_limited` inline on `S-1` (scr
|
||||
4. *Full sync* ⟶ `S-4` loading ⟶ notification permission prompt ⟶ `S-4` empty "Skapa ert första konto" (or Jacob's accounts, if he created any after she joined).
|
||||
5. On Jacob's phone the next sync (or push-triggered sync) removes `S-3`.
|
||||
|
||||
## F-3 Add an expense online (US-3, AC-8.6) — the ten-second flow
|
||||
## F-3 Add an expense online (US-3, AC-8.6, UX-3) — the ten-second flow
|
||||
|
||||
1. **Jacob** opens Kvitt ⟶ `S-4`.
|
||||
2. Taps FAB "Lägg till utgift" ⟶ `S-7` with amount focused, keypad up; defaults: Konto Vardag (last used), Kategori (last used in Vardag, else Övrigt), Datum Idag, Betalt av Du, Delning Kontots standard 50/50.
|
||||
2. Taps FAB "Lägg till utgift" ⟶ `S-7` with amount focused, keypad up; defaults: Konto Vardag (last used), Kategori (last used in Vardag, else Övrigt, until a description exists), Datum Idag, Betalt av Du, Delning Kontots standard 50/50. The category row shows the five categories used most in Vardag plus "Alla".
|
||||
3. Types `412`.
|
||||
4. Taps Beskrivning, types "Systembolaget".
|
||||
5. (optional, one tap each) taps the Kategori chip ⟶ grid ⟶ Nöje; taps Betalt av to switch to Anna; taps Delning to open the split section.
|
||||
4. Taps Beskrivning, types "Systembolaget". *While he types, the category is suggested from the description (`category-suggestion.md` CS-5: the category used most often for this description in the household's history, else the keyword table, else the default) and Nöje becomes selected; no caption or marker (CS-7).*
|
||||
5. (optional, one tap each) a wrong guess: taps the right category tile (or "Alla" ⟶ sheet ⟶ category); from then on the suggestion no longer changes the category (CS-2); taps Betalt av to switch to Anna; taps Delning to open the split section.
|
||||
6. Taps "Spara" ⟶ *saved locally, pending* ⟶ back to `S-4`, snackbar "Utgiften sparades"; Vardag's wording/amount and the global hero update immediately (AC-10.4).
|
||||
7. *2 s later, sync pushes (AC-15.3)*; the sync line returns to "Synkad nyss"; *the server pushes `expense_created` to Anna's phone*, which syncs and shows "Jacob lade till en utgift · Systembolaget · 412,00 kr · Vardag".
|
||||
|
||||
@@ -51,7 +51,7 @@ Error branches: `invite_invalid` / network / `rate_limited` inline on `S-1` (scr
|
||||
|
||||
1. **Jacob** gets a notification "Anna lade till en utgift · ICA Maxi Lindhagen · 1 147,60 kr · Vardag" ⟶ taps ⟶ `S-8` (after sync).
|
||||
2. Timeline: "Anna skapade den här · 16 okt. 14:02". He sees the receipt says 1 247,60.
|
||||
3. Taps "Ändra" ⟶ `S-7` "Ändra utgift" with all fields loaded; amount focused.
|
||||
3. Taps "Ändra" ⟶ `S-7` "Ändra utgift" with all fields loaded, nothing focused, keypad hidden; the category is kept (no suggestion when editing, CS-1). He taps the amount; the keypad appears.
|
||||
4. Changes 1 147,60 to 1 247,60 ⟶ "Spara" ⟶ back to `S-8`; timeline gains a last line "Din ändring väntar på synk".
|
||||
5. *Sync* ⟶ the pending line is replaced by "Du ändrade beloppet från 1 147,60 kr till 1 247,60 kr · 16 okt. 19:40".
|
||||
6. *Anna's phone* gets "Jacob ändrade en utgift · ICA Maxi Lindhagen · 1 247,60 kr"; her `S-8` shows the same timeline (her view: "Jacob ändrade beloppet …").
|
||||
@@ -80,7 +80,7 @@ Variant: "Lägg till konto" ⟶ picker (all non-deleted accounts, archived inclu
|
||||
## F-8 Create a recurring expense (US-10, FR-9)
|
||||
|
||||
1. **Jacob** ⟶ Inställningar `S-13` ⟶ "Återkommande utgifter" `S-19` ⟶ "Ny".
|
||||
2. Editor: amount 12 400,00; description "Hyra"; Konto Huset; Kategori Hem; Betalt av Anna (one tap); Delning Kontots standard 60/40; Dag i månaden 25; Första månad: *defaults to oktober 2026 because the 25th is still ahead (AC-9.8)*; Sista månad empty.
|
||||
2. Editor: amount 12 400,00; description "Hyra"; Konto Huset; Kategori Boende; Betalt av Anna (one tap); Delning Kontots standard 60/40; Dag i månaden 25; Första månad: *defaults to oktober 2026 because the 25th is still ahead (AC-9.8)*; Sista månad empty.
|
||||
3. Spara (online) ⟶ list row "Hyra · 12 400,00 kr · Huset · Varje månad den 25:e · Nästa: 25 okt.".
|
||||
4. *On 25 Oct at 06:00 the server creates the expense* ⟶ both phones get "Återkommande utgift tillagd · Hyra · 12 400,00 kr · Huset" (AC-9.6) ⟶ `S-8` shows "Återkommande: Hyra" and "Skapad automatiskt (återkommande) · 25 okt. 06:00".
|
||||
5. Offline at step 3 ⟶ Spara disabled with "Kräver anslutning".
|
||||
|
||||
Reference in New Issue
Block a user