Skip to main content

Catalog

Status: ✅ Built (2026-07-02) — E1–E5 complete, see notes below.

Scope

The Catalog is the "browse" IA quadrant (act / glance / browse / people). It shows everything available: assigned chores, unassigned bounties, unlockable activities, and redeemable rewards. Read-only for members; Admin CRUD lives in the Admin area. Bounties are one-off chores with elevated rewards that any eligible member can claim.

Built (2026-07-02)

E1–E5 shipped across the token-economy UI phase:

  • E1 — parent reward CRUD (create / edit / archive / delete) in Admin.
  • E2 — parent activity CRUD + activity-gate editor (requiredChoreId + minTokenBalance) in Admin.
  • E3a — child-facing 4-tab Catalog browse (Chores / Bounties / Activities / Rewards) with member-selector ("who's acting?"), eligibility + lock visibility (grayed/locked-reason per CB-09), affordability gate.
  • E3b — bounty claim (FCFS per D-2 decision).
  • E3-redeem — Option A: adult immediate debit; child request → parental approve; hard-disabled when unaffordable (FR-CATALOG-4).
  • E4 — redemption history + pending spend-requests with cancel-and-rollback on member profile; Today approval rows show resolved item names.
  • E5 — chore auto-approve toggle (ApprovalPolicy) in chore editor; activity affordability gate in catalog (_activityEligibility mirrors _rewardEligibility); Home BlocListener error snackbar for approval failures; Activity.autoApproveRedemption flag (per-activity parent opt-in → immediate debit for ANY member incl. child; rewards unchanged).

Decisions settled during build

  • Ineligible items — shown grayed (not hidden), per D-1; locked reason visible to both child and parent (CB-09).
  • Search / filter — flat scrollable list for MVP-1; search deferred.
  • Template library — deferred.
  • Bounty claim — first-come-first-served (D-2); no undo on claim.

Relationship

Activity gating — gated activities surface in the Catalog with their unlock condition.