Repository navigation
feat(web): group every admin link under the Admin Panel - #1867
Merged
joshunrau merged 3 commits intoNov 5, 2026
Merged
Conversation
A nav group collapsed whenever the path stopped exactly matching one of its links, so following a link inside a page, such as from Branding to its Login Page editor, closed the Admin Panel. A link now also counts as active on any path beneath it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Manage Groups, Manage Users and Manage Permission Sets sat at the top level of the sidebar, right beside the group manager's Manage Group link and with the same icon. They now live in the Admin Panel, which opens with a direct link to the Audit Logs, followed by three groups: - Access: Groups, Users, Permission Sets - Instruments: Form & Interactive, Series, Repositories - Instance: Settings, Branding, Mail Server The links drop their "Manage" prefix, since the panel already says what they are. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
5fa1391 title-cased the walkthrough's dismiss button but left its tests looking for "Don't show again". One of them failed outright, which dropped WalkthroughProvider below the coverage gate on main; the other asserted the button's absence and so passed whatever rendered. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Three admin-only links sat at the top level of the sidebar: Manage Groups, Manage Users and Manage Permission Sets. They were right beside a group manager's Manage Group link, with the same icon. Every admin page now lives in the Admin Panel:
The links drop their "Manage" prefix. "App Settings", "Mail" and "Instrument Repos" become "Settings", "Mail Server" and "Repositories". On a user's page, the note shown when no permission sets exist pointed to "Manage Permission Sets"; it now points to the new location.
fix(web): a nav group collapsed whenever the path stopped exactly matching one of its links. Following a link inside an admin page, such as Branding → Login Page or Users → Create, therefore closed the Admin Panel. A link now counts as active on paths beneath it. A side effect: Data Hub → Subjects now stays open and highlighted on a subject's pages.feat(web): the regrouping.test(web): not part of this feature, but CI needs it. 5fa1391 title-cased the walkthrough's "Don't Show Again" button without updating its tests. Main currently fails one of them, which dropsWalkthroughProvider.tsxbelow the 100% coverage gate.Verification
apps/web/src/components/NavGroup/__tests__/NavGroup.test.tsxandapps/web/src/hooks/__tests__/useNavItems.test.ts. I confirmed the new cases fail against the previous code.testing/src/specs/admin-navigation.spec.ts, whose specs also fail against the previous code, plusadmin-settings.spec.tsupdated for the new Spanish labels.AppPage.expandNavGroupnow matches labels exactly, because "Access" and "Instruments" are substrings of "Accessible Instruments".--last-failedrerun.pnpm lintandpnpm test:e2estopped at turbo'sgateway#db:push, which refused to drop a column that still holds data in my localgateway.db. Instead I ran lint onwebandtestingdirectly, and the e2e suite throughpnpm --filter @opendatacapture/testing test:e2e. I didn't look at the new sidebar in a browser.Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com