fix(admin-feedback): show name + masked email on each row + toggle Reviewed #102

Merged
YousifShkara merged 1 commit from fix/feedback-admin-row into main 2026-06-10 08:47:56 +02:00
Owner

Two small fixes to the admin /feedback triage list.

Show the submitter on each row. AdminFeedbackSummary from bunyip-api already carries name: Option<String> and email_masked: Option<String>; both were dropped on the floor in the row template. They now render as a Name · email@masked.com line under the subject, with the obvious None-handling: only the name when no email was given, only the email when no name was given, the whole line suppressed when both are missing. No DTO change.

Make "Reviewed" toggle. With a row already showing the "reviewed" badge and the unchanged "Reviewed" button right next to it, clicking did a no-op POST that re-set the same status. The button now flips behaviour off the current status: on a row whose status == Reviewed it labels "Un-review" and posts status=new, sending the row back to the triage queue. On every other status it stays "Reviewed" / status=reviewed. Closed rows still expose the Reviewed button so a row can be re-opened with closed -> reviewed -> new without touching the API directly.

The Close button is unchanged.

Two small fixes to the admin /feedback triage list. Show the submitter on each row. AdminFeedbackSummary from bunyip-api already carries `name: Option<String>` and `email_masked: Option<String>`; both were dropped on the floor in the row template. They now render as a `Name · email@masked.com` line under the subject, with the obvious None-handling: only the name when no email was given, only the email when no name was given, the whole line suppressed when both are missing. No DTO change. Make "Reviewed" toggle. With a row already showing the "reviewed" badge and the unchanged "Reviewed" button right next to it, clicking did a no-op POST that re-set the same status. The button now flips behaviour off the current status: on a row whose `status == Reviewed` it labels "Un-review" and posts `status=new`, sending the row back to the triage queue. On every other status it stays "Reviewed" / `status=reviewed`. Closed rows still expose the Reviewed button so a row can be re-opened with closed -> reviewed -> new without touching the API directly. The Close button is unchanged.
fix(admin-feedback): show name + masked email on each row + toggle Reviewed
All checks were successful
Create release / Create release from merged PR (pull_request) Has been skipped
Check / fmt / clippy / build / test (pull_request) Successful in 1m30s
70191f4803
Two small fixes to the admin /feedback triage list.

Show the submitter on each row. AdminFeedbackSummary from bunyip-api already carries `name: Option<String>` and `email_masked: Option<String>`; both were dropped on the floor in the row template. They now render as a `Name · email@masked.com` line under the subject, with the obvious None-handling: only the name when no email was given, only the email when no name was given, the whole line suppressed when both are missing. No DTO change.

Make "Reviewed" toggle. With a row already showing the "reviewed" badge and the unchanged "Reviewed" button right next to it, clicking did a no-op POST that re-set the same status. The button now flips behaviour off the current status: on a row whose `status == Reviewed` it labels "Un-review" and posts `status=new`, sending the row back to the triage queue. On every other status it stays "Reviewed" / `status=reviewed`. Closed rows still expose the Reviewed button so a row can be re-opened with closed -> reviewed -> new without touching the API directly.

The Close button is unchanged.
YousifShkara deleted branch fix/feedback-admin-row 2026-06-10 08:47:56 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
psa-systems/bunyip!102
No description provided.