feat(admin): redesign feedback list as scannable rows linking to detail (BUNYIP-422) #410
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/BUNYIP-422-feedback-list-redesign"
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?
What
Closes BUNYIP-422. Redesigns the admin Feedback list to match the Users list from BUNYIP-405: a clean, scannable list where each row links into the detail view, with all triage actions moved off the rows and onto that detail page.
Before: every row carried the full toolbar inline (Reply, Reviewed/Un-review, Close, Archive, Spam, Delete). After: each row is a whole-row link showing subject, submitter identity, source page, message excerpt, relative time, and a color-coded status chip with a trailing chevron and hover highlight. No inline buttons.
How
feedback_rowis now a whole-row<a href="/admin/feedback/{id}?from={tab}">with a status chip + chevron, no forms. Newfeedback_status_chipmirrors the usersverified_indicator(icon + short label, color-coded per status).feedback_detail_actions(id, status, tab)helper, rendered tab-aware. The?from=slug is parsed byFeedbackTab::from_queryso the detail page shows the right action set and each action redirects back to the originating list tab (the existingfrom->from_tab_pathredirect contract is unchanged).Action coverage moved to detail, tab-aware, nothing lost:
Tests
feedback_row_links_to_detail_with_no_inline_actions- row is a detail link with the tab slug, shows the status chip, and carries no<form>and none of the action endpoints.feedback_row_carries_originating_tab_slug- a Spam-tab row links back with?from=spam.feedback_detail_actions_are_tab_aware- Active vs Closed vs Spam render the correct buttons (incl. Un-review when already reviewed) with the correctfromredirect value.feedback_tab_from_query_round_trips- slug <-> tab round-trip, unknown/absent falls back to Active.just check-containeris green (fmt + clippy -D warnings + build + full workspace tests, 141 bunyip-web tests pass).Verification
The row and detail markup reuse the exact
icon/button_class/ hover + focus token classes the users rows already use, so both light and dark themes render without bespoke styling. Structural behavior (row-as-link, no inline actions, tab-aware detail actions, correct redirects) is covered by the unit tests above.🤖 Generated with Claude Code
https://claude.ai/code/session_01LerAorB26HGHLfjC9iDUbd