feat(web): add shared empty_state() and route every list through it #474
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/BUNYIP-468-empty-state"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implements BUNYIP-468 (2026-08-04 bunyip UI audit, F11): list empty-states rendered four different ways across the app (and twice differently within a single page). This adds one shared component and routes every list empty branch through it.
Change
views::ui::empty_state(icon_name, message, cta: Option<Markup>): a centeredpy-12column with a large muted icon, a muted message, and an optional CTA below. Modeled on the richest existing pattern (the membership-invoices icon block). Carries a regression test covering both the CTA and no-CTA arms.Some(...).Scope notes
is_empty()in bunyip-web was classified: 24 are list empty-states (routed); the ~90 others are input validation, query-string building, conditional-section omission, field placeholders, and error/loading branches (not list empties, left as-is).iconimport in entitlements.rs (it only usedicon(inside its empty state) was swapped forempty_stateto keep clippy green; every other file still usesiconelsewhere and only gained the new import.Verification
just check-container(dockerized fmt + clippy + workspace tests, incl. the new empty_state test) green.#BUNYIP-468