Frontend: hide admin-only node/system controls from non-admins (#222, #283) + popup contrast #291

Merged
logan merged 2 commits from fix/222-283-admin-gating into main 2026-10-25 22:17:26 -04:00
Owner

UI gate only, no route auth changes: node page override/config/restart, /nodes setup cards, /systems writes + admin panels are admin-only. Plus: muted text in Leaflet popups pinned to an AA grey (regression from #282, found in review).

Code-reviewed (drb-qa-review); not visually checked.

Closes #222
Closes #283

🤖 Generated with Claude Code

UI gate only, no route auth changes: node page override/config/restart, /nodes setup cards, /systems writes + admin panels are admin-only. Plus: muted text in Leaflet popups pinned to an AA grey (regression from #282, found in review). Code-reviewed (drb-qa-review); not visually checked. Closes #222 Closes #283 🤖 Generated with [Claude Code](https://claude.com/claude-code)
logan added 2 commits 2026-10-25 22:17:25 -04:00
UI gate only — no route auth changes. Node page: override Ack/Force
Revert, Configure/Reassign and Restart OP25 are admin-only; non-admins on
an unconfigured node get a "an admin needs to assign it" note. /nodes
"Needs Configuration" cards open the config modal only for admins, and
link to the node page otherwise. /systems: New/Edit/Duplicate/Delete and
the AI-flags, area-context, talkgroup-pending and vocabulary panels are
admin-only; operators get a read-only list. (Delete's missing catch was
fixed in #290.)

Widening any of these routes to org owners/operators is a separate,
security-reviewed backend change.

Frontend unverified: no Node on the authoring box (#207).

Closes #222
Closes #283

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Token text-ink-muted is #8C98AE in dark mode, ~2.9:1 on the always-white
popups (node, incident, path-stop, AIS, 511 camera). Scoped override to
#5B6577 (~6:1). Found in tonight's regression review.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
logan merged commit 33056e2269 into main 2026-10-25 22:17:26 -04:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: logan/server-26#291