feat(web): consolidate shared UI kit across admin/settings/auth #471
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/BUNYIP-467-shared-kit"
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?
Consolidates the bunyip-web shared UI kit so admin/settings/auth surfaces stop re-implementing the same patterns. Implements the BUNYIP-467 slice of the 2026-08-04 UI audit (findings F10, F12, F13, F14, F15).
Changes
error_box("Could not load X config.")when the API config fetch returnsNone, instead of silently drawing an empty form. Matches the reachability pattern the list handlers already use (BUNYIP-461).success_box/error_boxand its inputs throughdashboard_input(), and its spacing is normalised to the dashboard scale (space-y-4,gap-4). The message textarea keeps its ~7-row height viamin-h-[168px](needed becausedashboard_input()setsh-10, which would otherwise shrink it).dashboard_input()for a consistent border/focus treatment.auth_cardis refactored into a privateauth_card_shell(icon_spec: Option<...>, ...)with two thin public wrappers:auth_card(icon bubble, unchanged public signature so no call site churns) and a newauth_card_plainfor the icon-less login card, which previously hand-rolled its own shell.pager(base, param, page, total_pages)is promoted toviews::uias the single implementation. The duplicatesettings_pageris deleted and the settings + admin call sites route through the sharedpager. Dead imports removed.Verification
just check-container(dockerized fmt + clippy + workspace tests) green.#BUNYIP-467