Skip to content

feat(design): edit the menu in Appearance - #848

Closed
mortondev wants to merge 2 commits into
feat/portal-design-v2-phase4-home-editorfrom
feat/portal-design-v2-phase4-menu
Closed

mortondev wants to merge 2 commits into
feat/portal-design-v2-phase4-home-editorfrom
feat/portal-design-v2-phase4-menu

Conversation

@mortondev

@mortondev mortondev commented Oct 31, 2026 •

Copy link
Copy Markdown
Member

The fifteenth of the stack that builds a new design engine for the portal, and the third of phase 4. On the design engine the header's menu comes from the design, but the Navigation tab still edited the legacy menu, so its changes never showed. The menu now lives in Appearance and writes the design draft. Behind the portalDesignV2 Labs switch; with it off, nothing changes.

The menu in Sections

Under the header's layout and menu style:

  • Home's tab. While Home is on: Home in the menu, and the tab's name (Home by default).
  • Pages and links. In order, each shown or hidden and renamed, with links added and removed. It is the same editor as before, drag to reorder included. Feedback can be hidden too, as the design engine allows; a page whose product is off says so.
  • Only whole menus reach the draft. The rows reach the draft once every link in them has a name and an http(s) address and, with Home off, they show a page to start on. Until then a note says what is missing ("Show at least one page, or turn Home on."), so the draft is never refused. A menu changed elsewhere, such as by Quackback AI or a discard, replaces the rows.

Review and publish

The menu and Home's tab name have names, and the menu reads as how many items it shows.

Portal settings

On the design engine the Portal settings page is Appearance alone; the Navigation tab is gone. The legacy theme keeps its page as it was, its navigation editor included.

Performance

Appearance imports the portal header's menu module for the editor, which moves a chunk boundary the post page loads across: 0.2 KB more script there, just over the ceiling it sat at, so ui:portal-post-load takes its reading (459.1 KB). Request counts hold.

Verification

  • On the local Juniper workspace (Home on), Playwright named Home's tab Start, hid Changelog and added a Status page link in Sections. The preview header showed all three, review named them, and after publishing the live header had Start current on Home, the link, no Changelog, and Feedback current at /feedback. No page errors.
  • New tests, each checked by breaking the code it covers: the rows round-trip the design's menu, read hidden rows and trim names, open links in a new tab by default, and make no menu while a link is half typed; a hidden page reaches the draft; a menu with no page stays out of it while Home is off; with Home on every page can be hidden, and its tab and name save; a menu changed elsewhere replaces the rows; the menu's names and shown count in review.

@mortondev
mortondev added this pull request to stack #833 October 31, 2026 03:00
On the design engine the header's menu comes from the design, but the
Navigation tab still edited the legacy menu, so its changes never showed.
The menu now lives in Sections, under the header, and writes the draft.

- While Home is on: Home in the menu, and its tab's name.
- The pages and links in order, each shown or hidden and renamed, with
  links added and removed, in the same editor as before. Feedback can be
  hidden too, as the design engine allows.
- The rows reach the draft once every link in them is whole and, with Home
  off, they show a page to start on; until then a note says what is
  missing. A menu changed elsewhere, such as by a discard, replaces them.
- Review and publish names the menu and Home's tab name, and counts what
  the menu shows.

The Portal settings page on the design engine is Appearance alone; its
Navigation tab is gone.
@mortondev
mortondev force-pushed the feat/portal-design-v2-phase4-menu branch from 9e1fbb7 to 5a66bf2 Compare October 31, 2026 04:36
Appearance now imports the portal header's menu module for the menu
editor, which moves a chunk boundary the post page loads across: 0.2 KB
more script there, just over a ceiling it sat at.
@mortondev

Copy link
Copy Markdown
Member Author

Condensed into #879. The stack is now five PRs, #878 to #882; this branch is kept as it was.

@mortondev mortondev closed this Nov 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant