Skip to content

feat(apollo-vertex): backport invoice shell nav - #1394

Merged
ruudandriessen merged 5 commits into
mainfrom
cursor/invoice-shell-nav-6830
Oct 19, 2026
Merged

ruudandriessen merged 5 commits into
mainfrom
cursor/invoice-shell-nav-6830

Conversation

@ruudandriessen

@ruudandriessen ruudandriessen commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator

Backports the invoice shell behaviors the package needs before that app can move onto @uipath/apollo-vertex. The invoice app is unchanged. The empty-logo animation and whether nav groups stay open are left as they are in the package.

Shell behaviors

  • Default child link. A nav group may set to. The row links to to, or to path when to is omitted. Rules can link to /rules/exceptions while path stays /rules. The minimal header highlights only the most specific matching path, so a landing page is not selected together with a section under it. A nested page still highlights that section. to is only the link target.
  • Prefix active, child pill. The group stays in the active color for path, every route under it, and any matching child path even when that child sits outside the parent prefix. Hover and press keep that color in light and dark. The matching child gets the current background. The parent pill stays off while a child matches, including while the sidebar is collapsed.
  • Group disclosure. The chevron's accessible name includes the translated group label (Expand {{label}} / Collapse {{label}}).
  • App catalog labels. Nav labels walk the configured defaultNS list in order, then apollo-vertex. Keys such as queue and invoices render as app strings. Vertex keys such as dashboard still resolve when the app catalog does not define them.
  • App i18n init. LocaleProvider and ApolloShell accept configureI18n, so an app that sets up i18next itself is not replaced by the vertex catalog.
  • Auth loading. While ShellAuthProvider is still resolving the token, ApolloShell shows the loading skeleton instead of the login screen.
  • Sidebar hairline. The inset line uses var(--border).
  • Collapse control. The sidebar collapse button has an accessible name from close_sidebar.

Docs

The shell page groups nested navigation, translations, and the minimal header under Usage, and role lookup under group access. The nested example opens on Active: that child is the current row, and Projects stays in the active color for the prefix without the current pill.

Open in Web Open in Cursor 

Let a nav group link to a default child and stay active for its
prefix, while the matching child keeps the current pill. Resolve
nav labels from the app catalog before the vertex catalog.

Also let LocaleProvider take the app i18n init, keep ApolloShell on
the loading skeleton until the token query finishes, paint the
sidebar hairline with var(--border), and name the collapse button.
Copilot AI balanced review requested due to automatic review settings October 16, 2026 12:48
@github-actions github-actions Bot added the size:XL 500-999 changed lines. label Oct 16, 2026
@github-actions
github-actions Bot temporarily deployed to preview/apollo-vertex October 16, 2026 12:50 Destroyed
@github-actions
github-actions Bot temporarily deployed to preview/apollo-docs October 16, 2026 12:50 Destroyed
@github-actions
github-actions Bot temporarily deployed to preview/apollo-landing October 16, 2026 12:50 Destroyed
@github-actions
github-actions Bot temporarily deployed to preview/apollo-design October 16, 2026 12:50 Destroyed
@github-actions

Copy link
Copy Markdown
Contributor

Dependency License Review

  • ✅ 1947 package(s) scanned
  • ✅ No license issues found
  • ⚠️ 2 package(s) excluded (see details below)
License distribution
License Packages
MIT 1713
ISC 91
Apache-2.0 56
BSD-3-Clause 28
BSD-2-Clause 23
BlueOak-1.0.0 8
MPL-2.0 4
MIT-0 3
CC0-1.0 3
MIT OR Apache-2.0 2
(MIT OR Apache-2.0) 2
Unlicense 2
LGPL-3.0-or-later 1
Python-2.0 1
CC-BY-4.0 1
(MPL-2.0 OR Apache-2.0) 1
Unknown 1
Artistic-2.0 1
(WTFPL OR MIT) 1
(BSD-2-Clause OR MIT OR Apache-2.0) 1
CC-BY-3.0 1
0BSD 1
(MIT OR CC0-1.0) 1
MIT AND ISC 1
Excluded packages
Package Version License Reason
@img/sharp-libvips-linux-x64 1.3.4 LGPL-3.0-or-later LGPL pre-built binary, not linked
khroma 2.1.0 Unknown MIT per GitHub repo, missing license field in package.json

@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

📊 Coverage + size by package

Per-package coverage and bundle size on this PR. New-line coverage = of the source lines this PR adds or changes, the % hit by tests.

Package Coverage New-line coverage Packed (gzip) Unpacked vs main
@uipath/apollo-core — — — — —
@uipath/apollo-react — — — — —
@uipath/apollo-ui-icons — — — — —
@uipath/apollo-vertex 71.2% 89.2% (33/37) 330.0 KB 1.86 MB +1.6 KB
@uipath/apollo-wind — — — — —
@uipath/ap-chat — — — — —

"Coverage" is each package's own coverage.include scope (e.g. apollo-core instruments only scripts/). "Packed"/"Unpacked" come from npm pack --dry-run and only cover built packages — "—" means not measured this run (package not affected / not built). "vs main" is the packed (gzipped) delta against the last successful main build (the package-sizes artifact from the Release workflow); "—" there means no main baseline was available this run. The baseline is main's latest build, not this PR's exact merge-base, so it includes any drift since the branch diverged. Packages with no vitest config are omitted.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Namespace-array handling and navigation active-state behavior still need correction.

3 open findings
What changed in this PR

Backports invoice-shell behaviors into Apollo Vertex without changing the invoice app.

Changes:

  • Adds configurable navigation destinations, parent highlighting, and app-catalog labels.
  • Supports app-owned i18n initialization and authentication loading skeletons.
  • Updates sidebar styling, accessibility, tests, and documentation.
File Description
packages/​apollo-vertex/​registry/​shell/​shell.tsx Adds shell options and auth loading handling.
packages/​apollo-vertex/​registry/​shell/​shell-translation-key.ts Allows app-defined navigation labels.
packages/​apollo-vertex/​registry/​shell/​shell-text.tsx Uses app-first label lookup.
packages/​apollo-vertex/​registry/​shell/​shell-sidebar.tsx Updates navigation links, highlighting, and styling.
packages/​apollo-vertex/​registry/​shell/​shell-nav-label.ts Adds catalog lookup helpers.
packages/​apollo-vertex/​registry/​shell/​shell-nav-active.ts Centralizes navigation state calculation.
packages/​apollo-vertex/​registry/​shell/​shell-nav-active.test.tsx Tests navigation state and catalog fallback.
packages/​apollo-vertex/​registry/​shell/​shell-minimal-nav-item.tsx Accepts expanded label types.
packages/​apollo-vertex/​registry/​shell/​shell-locale-provider.tsx Accepts custom i18n initialization.
packages/​apollo-vertex/​registry/​shell/​shell-company.tsx Names the collapse control accessibly.
packages/​apollo-vertex/​registry.json Registers new shell helpers.
apps/​apollo-vertex/​content/​docs/​patterns/​shell.mdx Documents updated shell behaviors.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread packages/apollo-vertex/registry/shell/shell-nav-label.ts Outdated
Comment thread packages/apollo-vertex/registry/shell/shell-sidebar.tsx Outdated
Comment thread packages/apollo-vertex/registry/shell/shell-sidebar.tsx
@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Storybook visual diff

✅ No stories are affected by this PR's changes; nothing to compare. Logs

Updated (PT): Oct 16, 2026, 06:38:31 AM

Walk a defaultNS list in order before the vertex catalog. Keep a
prefix-active parent's primary color on hover and press. Highlight
minimal nav items by path, and use to only as the link target.
Copilot AI balanced review requested due to automatic review settings October 16, 2026 12:59
@github-actions
github-actions Bot temporarily deployed to preview/apollo-design October 16, 2026 12:59 Destroyed
@github-actions
github-actions Bot temporarily deployed to preview/apollo-vertex October 16, 2026 12:59 Destroyed
@github-actions
github-actions Bot temporarily deployed to preview/apollo-docs October 16, 2026 12:59 Destroyed
@github-actions
github-actions Bot temporarily deployed to preview/apollo-landing October 16, 2026 12:59 Destroyed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Minimal-header selection and group disclosure accessibility need correction before approval.

1 open finding
3 resolved since last review
Previously missed (1)

In code that hasn't changed since last review

Medium severity Include group labels in disclosure button accessible names

packages/​apollo-vertex/​registry/​shell/​shell-sidebar.tsx:268

Every group disclosure is now named only “Expand” or “Collapse.” With multiple groups, screen-reader users navigating by buttons cannot tell which group each control operates; the previous trigger included the group label. Include the translated item label in the accessible name.

🧠 Review effort: Balanced

Comment thread packages/apollo-vertex/registry/shell/shell-minimal-nav-item.tsx Outdated
Highlight only the longest matching minimal-header path, so a section
does not also select its landing page. Name each group disclosure
button with the translated group label.
Copilot AI balanced review requested due to automatic review settings October 16, 2026 13:07
@github-actions
github-actions Bot temporarily deployed to preview/apollo-landing October 16, 2026 13:08 Destroyed
@github-actions
github-actions Bot temporarily deployed to preview/apollo-docs October 16, 2026 13:08 Destroyed
@github-actions
github-actions Bot temporarily deployed to preview/apollo-vertex October 16, 2026 13:08 Destroyed
@github-actions
github-actions Bot temporarily deployed to preview/apollo-design October 16, 2026 13:08 Destroyed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Collapsed groups lose active styling when the selected child route lies outside the parent’s path prefix.

1 open finding
Previously missed (1)

In code that hasn't changed since last review

Medium severity Collapsed parent loses active styling for child routes outside its prefix

packages/​apollo-vertex/​registry/​shell/​shell-nav-active.ts:41

When a child route is outside its parent’s path prefix (for example, /invoices under a /work group), selecting it now leaves the collapsed parent without active styling. Previously, isParentActive matched any child, and ShellNavItem does not require children to share the parent prefix. Include matching childPaths in the active-color calculation while leaving current unchanged so the parent pill stays suppressed.

🧠 Review effort: Balanced

A collapsed group stays in the active color when a child route matches,
even if that child is outside the parent path. The parent pill stays off.
Copilot AI balanced review requested due to automatic review settings October 16, 2026 13:14
@github-actions
github-actions Bot temporarily deployed to preview/apollo-docs October 16, 2026 13:14 Destroyed
@github-actions
github-actions Bot temporarily deployed to preview/apollo-vertex October 16, 2026 13:14 Destroyed
@github-actions
github-actions Bot temporarily deployed to preview/apollo-landing October 16, 2026 13:14 Destroyed
@github-actions
github-actions Bot temporarily deployed to preview/apollo-design October 16, 2026 13:14 Destroyed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

Static review identified no blocking defects in the scoped shell changes; runtime checks were not run.

1 open finding

🧠 Review effort: Balanced

Nest navigation, translations, and the minimal header under Usage, and
role lookup under group access. Open the nested example on the default
child so that row is current and the parent keeps the prefix color.
Copilot AI balanced review requested due to automatic review settings October 16, 2026 13:33
@github-actions
github-actions Bot temporarily deployed to preview/apollo-vertex October 16, 2026 13:33 Destroyed
@github-actions
github-actions Bot temporarily deployed to preview/apollo-design October 16, 2026 13:33 Destroyed
@github-actions
github-actions Bot temporarily deployed to preview/apollo-landing October 16, 2026 13:34 Destroyed
@github-actions
github-actions Bot temporarily deployed to preview/apollo-docs October 16, 2026 13:34 Destroyed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

Static review identified no blocking defects, and focused helper tests cover route matching and translation lookup; tests were not executed.

1 open finding

🧠 Review effort: Balanced

@ruudandriessen ruudandriessen added the dev-packages Adds dev package publishing on pushes to this PR label Oct 16, 2026
@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

📦 Dev Packages

🧹 Dev packages cleaned up after PR close.

Last updated: 2026-10-19 01:11:02 PT

@ruudandriessen
ruudandriessen marked this pull request as ready for review October 19, 2026 07:32
@ruudandriessen
ruudandriessen requested a review from a team as a code owner October 19, 2026 07:32
@ruudandriessen
ruudandriessen merged commit 9e8110c into main Oct 19, 2026
58 of 62 checks passed
@ruudandriessen
ruudandriessen deleted the cursor/invoice-shell-nav-6830 branch October 19, 2026 08:08

This branch was successfully deployed

No deployments
preview/apollo-docs — 94d3f2d6 Deployed Oct 16, 2026 by github-actions[bot]
preview/apollo-landing — 94d3f2d6 Deployed Oct 16, 2026 by github-actions[bot]
preview/apollo-design — 94d3f2d6 Deployed Oct 16, 2026 by github-actions[bot]
preview/apollo-vertex — 94d3f2d6 Deployed Oct 16, 2026 by github-actions[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app:apollo-vertex dev-packages Adds dev package publishing on pushes to this PR size:XL 500-999 changed lines.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants