Settings pages: responsive card layout on mobile (Rules, Users, Tags)
Settings pages: responsive card layout on mobile (Rules, Users, Tags)
Status: Delivered
CAS: CAS-2461
Delivered: 2026-05-12
PRs: #631
What’s new
Three settings pages that previously showed desktop-style tables — Rules, Users, and Tags — now render as scrollable card lists on mobile. Each card presents the row data vertically with tap-safe action buttons. Desktop layout is unchanged.
How to use it
On any phone-sized screen (≤ 768 px):
- Settings → Rules: each rule appears as a card with name, condition summary, enable/disable toggle, and Edit/Delete buttons.
- Settings → Users: each household member is a card with display name, role, and action icons.
- Settings → Tags: each tag is a card with colour swatch, name, and action icons.
On desktop the existing table layout is shown as before — no change.
What changed under the hood
- New shared
MobileDataCardcomponent wrapsGlassCardwith a title slot, optional prefix (colour swatch or badge), stacked label/value field pairs, and an actions slot. UserSettingsPage,TagSettingsPage, andRuleTableeach conditionally render either the new card stack (mobile) or the existing table (desktop) using theuseIsMobilehook.- All row-level action buttons use
ActionIcon size="lg"(≥ 44 px touch target) on mobile.
Why we built it
The mobile UX audit (CAS-2390) found that three core settings pages were effectively unusable on phones: wide table columns overflowed the viewport, row data was clipped, and action buttons were too small to tap reliably. This delivery applies a single shared card pattern across all three pages in one go, closing the overflow and tap-target findings from the audit.
Known limitations / follow-on work
- The card pattern is applied to Rules, Users, and Tags only; other settings pages (Notifications, License) were not in scope for this audit cluster.
MobileTransactionList(a parallel mobile list component for the Transactions view) was filed separately and is not part of this delivery.