Repository navigation
feat(admin): the admin tabs are the library admin shell's underline strip - #872
Merged
Merged
Conversation
…trip The admin page drew its own tab strip (BeheerTabs). It now hands its twelve tabs to CnAdminSettingsShell (`tabs`, `tabsVariant: "underline"`), as board LpBeheerAlgemeen draws them. The shell opens the tab named by `?tab=`, else the one remembered under `launchpad.admin.activeTab` (the key BeheerTabs used, so a stored tab carries over), else General, and reports it with `tab-change`, which drives the title, the path line and the General-only cards. A tab's content still mounts only while it is open. BeheerTabs and its tests are retired; the e2e specs find a tab by its id through a small helper. Bumps @conduction/nextcloud-vue to ^2.89.0 (tabStorageKey and the mount-time tab-change, #1673). Assisted-by: ClaudeCode:claude-opus-5-5
rubenvdlinde
requested review from
Rem-Dam,
SudoThijn,
WilcoLouwerse,
bbrands02,
remko48 and
rjzondervan
as code owners
October 16, 2026 11:36
Contributor
Quality Report — ConductionNL/launchpad @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-manifest | ✅ | ||||
| format | ❌ | ||||
| check-schema-l10n | ✅ | ||||
| composer | ✅ | ✅ 107/107 | |||
| npm | ✅ | ✅ 636/636 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ❌ | ||||
| lockfile sync | ✅ | ||||
| PHPUnit | ✅ 1953/1953 | ||||
| Newman | ✅ 224/224 | ||||
| Playwright | ⏭️ deferred: E2E runs locally and on the promotion path only. This pull request targets development, so the suite is asked once per promotion into beta and main rather than once per push per open pull request. Run it locally with npx playwright test, or from the Actions tab on a branch with no open pull request into development. |
||||
| Hydra gates | ❌ |
Quality workflow — 2026-10-16 11:40 UTC
Download the full PDF report from the workflow artifacts.
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.
The admin page drew its own tab strip (
BeheerTabs.vue). It now hands its twelve tabs toCnAdminSettingsShell(tabs,tabsVariant: "underline"), as board LpBeheerAlgemeen draws them. Bumps@conduction/nextcloud-vueto ^2.89.0 (tabStorageKeyand the mount-timetab-change, nextcloud-vue #1673).What carries over from BeheerTabs:
?tab=<id>wins, then the tab remembered underlaunchpad.admin.activeTab(the same key, so a stored tab carries over), then General.tab-change(on mount and on click) drivesactiveTab, which sets the title, the breadcrumbs, the breadcrumb note and the General-only cards.v-if. Without that, all eleven tabs would fetch on page load, and the Templates list would not refetch when you come back to it.Retired:
BeheerTabs.vueand its spec. The unit tests inAdminSettings.tabs.spec.jsnow cover the wiring. The e2e specs find a tab by its id throughtests/e2e/support/adminTab.ts, which works in any locale.admin-templates-page.spec.tsopens?tab=templates; since #862 the page no longer opens on Templates.Verified locally: build, eslint and stylelint on the changed files, check:* and lint scripts, full vitest, and phpunit --no-coverage (one PHP test changed). I also checked the page live as pieter and ran a pixel diff against LpBeheerAlgemeen and LpBeheerDelen.
Inherited:
tests/vitest/shared-instance.spec.tsfails to load because the parentserver/tsconfig.jsoncannot resolve@vue/tsconfig. That comes from the environment and is unrelated to this change.WidgetWrapper.hide.spec.jsfailed once in a full run under load. It passed alone three times and passed in the next full run.AI assistance: prepared with Claude Code.