feat(#389): mobile wave D — admin drill-in, ceremony cards, editor bar #523

Merged
Cordy merged 5 commits from fix-389d into main 2026-09-13 19:17:19 +00:00
Owner

Final wave of the #389 mobile pass, per the "functional admin, 3 desktop-only ceremonies" decision on the issue.

Admin drill-in (≤819px): the admin rail lives inside the sidebar, which has always been hidden below 820px — so Administration was unreachable on phones even after wave A exposed the entry points. Opening admin from the More sheet or avatar menu now lands on a topic list (body[data-admlist] screen flag) built by proxying the real rail buttons — same icons and translated labels, and openAdmin keeps all its logic since the proxies just .click() the originals. Picking a topic shows the normal topic content; a back affordance in the admin header returns to the list. closeAdmin clears the flag.

Tab bar in adminmode (revisits wave A): the #app.adminmode #tabbar{display:none} rule is removed — the tab bar stays visible in admin, and a tab tap calls closeAdmin() before navigating, so save-bar dirty-revert semantics run as usual.

Ceremony cards: audit leak tracing (Trace pane), recovery key rotation/drain (encryption slot), and peering key exchange each get a .deskcard note at narrow widths — "multi-step ceremony, more comfortable on a desktop" in en/de-CH/fr/it (no eszett). Advice, not a gate: nothing is disabled.

Editor bar (≤480px): 44px bar, icon-only back, path and app tag hidden. The read-only chip never degrades.

Desktop invariant: third base line #admtopics, #admback, .deskcard{display:none}, everything else fenced; gate re-verified across all style blocks including the new body[data-admlist] flag; node --check green.

Final wave of the #389 mobile pass, per the "functional admin, 3 desktop-only ceremonies" decision on the issue. **Admin drill-in (≤819px):** the admin rail lives inside the sidebar, which has always been hidden below 820px — so Administration was unreachable on phones even after wave A exposed the entry points. Opening admin from the More sheet or avatar menu now lands on a topic list (`body[data-admlist]` screen flag) built by proxying the real rail buttons — same icons and translated labels, and `openAdmin` keeps all its logic since the proxies just `.click()` the originals. Picking a topic shows the normal topic content; a back affordance in the admin header returns to the list. `closeAdmin` clears the flag. **Tab bar in adminmode (revisits wave A):** the `#app.adminmode #tabbar{display:none}` rule is removed — the tab bar stays visible in admin, and a tab tap calls `closeAdmin()` before navigating, so save-bar dirty-revert semantics run as usual. **Ceremony cards:** audit leak tracing (Trace pane), recovery key rotation/drain (encryption slot), and peering key exchange each get a `.deskcard` note at narrow widths — "multi-step ceremony, more comfortable on a desktop" in en/de-CH/fr/it (no eszett). Advice, not a gate: nothing is disabled. **Editor bar (≤480px):** 44px bar, icon-only back, path and app tag hidden. The read-only chip never degrades. **Desktop invariant:** third base line `#admtopics, #admback, .deskcard{display:none}`, everything else fenced; gate re-verified across all style blocks including the new `body[data-admlist]` flag; `node --check` green.
feat(#389): mobile wave D - admin drill-in, ceremony cards, editor bar
All checks were successful
ci / test-and-build (pull_request) Successful in 51s
d52ecd795f
The admin rail lives inside the sidebar, which has always been hidden
below 820px - so Administration was unreachable on phones even after
wave A exposed the entry points. Phones now get a drill-in: opening
admin lands on a topic list built by proxying the real rail buttons
(openAdmin keeps its logic untouched), picking a topic shows the
normal topic content, and a back affordance in the header returns to
the list. The wave-A rule hiding the tab bar in adminmode is removed:
the tab bar stays, and a tab tap closes admin before navigating.

Three multi-step ceremonies - audit leak tracing (Trace pane),
recovery key rotation/drain, and peering key exchange - get a note
card at narrow widths saying a desktop browser is more comfortable
(en/de-CH/fr/it, no eszett). Nothing is disabled; the card is advice,
not a gate.

At phone width the editor bar compacts to 44px: icon-only back
button, path and app tag hidden. The read-only chip never degrades.

Fence discipline as before: one new base display:none line, all other
rules behind max-width media queries, gate re-verified across every
style block including the new body[data-admlist] flag.
Cordy scheduled this pull request to auto merge when all checks succeed 2026-09-13 19:16:22 +00:00
Cordy merged commit 8f326c4bd7 into main 2026-09-13 19:17:19 +00:00
Cordy deleted branch fix-389d 2026-09-13 19:17:21 +00: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: Cordy/Cairn#523
No description provided.