phone-desktop-mode: a Menu with folded sections below 1024 px

The owner, 2026-10-16: "Вариант 1. Но меню выглядит длинной простынёй. Там
бы сделать сворачивание разделов." As the mockup of e0e30e2: the bar's
navbar-menu loses is-active, so Bulma hides it below 1024 px, and the new
touchnav partial (layout.html) takes its place in the brand - Menu, a
<details> whose panel holds Overview, each group as a fold (the current
one open, its page aria-current), and the user's group last with Account,
Help and Sign out (the same POST form as the bar's). The same Show* flags
as the bar decide what is there. panel.css takes the mockup's rules (the
touch navigation, a 1rem gutter for the page and the sibling strip below
1024 px). No script.

The cause, measured, is written in the roadmap row: every width under
1024 px had the always-open menu; "desktop site" (~980 px) added Bulma's
side-by-side columns from 769 px; Bulma's container has no side margin
below 1024 px.

Tests: the Menu marks the current group and page and the bar's menu has
no is-active (TestMenuHighlightsTheCurrentGroupEntryAndSibling), it offers
nothing the bar does not to a domain administrator (TestTouchMenuFollowsTheBar),
the shell's Sign out is counted twice on the password page;
TestPanelCSSIsTheMockupStylesheet. go vet + go test (26 packages) and make
e2e on the test server for this tree. CHANGELOG [Unreleased]; roadmap row
done.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
mix
2026-10-16 22:03:18 +03:00
co-authored by Claude Opus 5.5
parent e0e30e284a
commit 3ba0e9c691
6 changed files with 103 additions and 10 deletions
+18 -1
View File
@@ -47,7 +47,7 @@ in `git log` and [CHANGELOG.md](../CHANGELOG.md).
| port25-bare-newline | The inbound relay's port 25 refuses bare newlines in DATA (`smtpd_forbid_bare_newline=normalize`) | shipped `2.6.1` | — | — |
| base-trixie | The image's base from Debian bookworm (LTS since 2026-07-12) to trixie: Postfix 3.10 with the 2026 security batches | shipped `2.7.0` | — | — |
| panel-dkim-signing | DKIM signing in the panel's own milter; OpenDKIM, the syslog relay and the parser port removed | shipped `2.8.0` | 14/14 | [plans/panel-dkim-signing.md](plans/panel-dkim-signing.md) |
| phone-desktop-mode | A phone browser in "desktop site" mode gets the phone navigation | agreed (2026-10-13: after stages 1 and 2 of audit-2026-10-12) | — | — |
| phone-desktop-mode | A phone browser in "desktop site" mode gets the phone navigation | done 2026-10-16, unreleased | — | — |
| from-header-binding | Hold a message's `From:` header against the application that sends it | shipped `2.4.0` | 9/9 | [plans/from-header-binding.md](plans/from-header-binding.md) |
| panel-redesign | Panel redesign (accepted mockups, design contract) | shipped `2.0.0` | 27/27 | [plans/panel-redesign.md](plans/panel-redesign.md) |
| schema-squash | Squash SQLite migrations into a 2.x baseline | built in panel-redesign (stage 1) | — | [plans/panel-redesign.md](plans/panel-redesign.md) |
@@ -526,6 +526,23 @@ expected there. A design change is mockup-first
has one coherent layout, checked on a phone in "desktop site" mode and in a
980 px window.
**Cause (2026-10-16):** not the mode - every width under 1024 px. The bar's
menu was always open (`navbar-menu is-active`, and no burger to close it),
and Bulma lays a navbar menu out below 1024 px as a block with every
dropdown open: on any phone the sections and all their pages filled the
first screen. "Desktop site" makes the page about 980 px wide, where Bulma
already puts columns side by side (from 769 px) but not yet the bar - the
mix in the screenshot. And a Bulma `.container` has side margins only from
1024 px, so below it the page met the screen's edge.
**Done (2026-10-16):** the owner chose "Вариант 1" - a menu behind a button
- with "сворачивание разделов". Below 1024 px the bar's menu is hidden and
*Menu* at the right of the brand opens a panel over the page: Overview, each
section a fold with the current one open, the user's last (Account, Help,
Sign out); `<details>` all through, no script. The page and the strip of
sibling pages have a 1rem gutter. From 1024 px nothing changed. Mockup
`e0e30e2`.
**Version:** `2.x` PATCH or MINOR; `agreed` (owner, 2026-10-13), taken up
after stages 1 and 2 of [audit-2026-10-12](audit-2026-10-12.md) - mail shown
wrong and the tenant boundary come before layout.