feat: centralize breadcrumbs in topbar and remove history navigation
Move breadcrumb rendering from individual page templates into the core topbar. Each page now sets $breadcrumbs in its action .php file; the topbar renders it automatically via the shared partial. - Remove global back/forward buttons and app-nav-history.js component - Remove Alt+Arrow keyboard shortcuts for history navigation - Render breadcrumb in topbar-left section (replaces button area) - Clean up breadcrumb CSS: context-neutral base (flex, no margin) - Recalculate sticky titlebar offset in details container - Migrate all 41 pages (core + helpdesk, audit, addressbook, api-docs) - Add missing breadcrumbs to addressbook detail view - Update architecture contract tests (nav-history references removed) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -122,6 +122,10 @@
|
||||
}
|
||||
|
||||
@media (max-width: 576px) {
|
||||
.app-topbar-left .app-breadcrumb {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.app-topbar-search-trigger-text,
|
||||
.app-topbar-search-trigger-shortcut {
|
||||
display: none;
|
||||
@@ -160,9 +164,7 @@
|
||||
color var(--app-transition);
|
||||
}
|
||||
|
||||
.app-topbar-left > li > a,
|
||||
.app-topbar-right > li > a,
|
||||
.app-topbar-left button,
|
||||
.app-topbar-right button {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@@ -181,39 +183,26 @@
|
||||
color var(--app-transition);
|
||||
}
|
||||
|
||||
.app-topbar-left > li > a:hover,
|
||||
.app-topbar-right > li > a:hover,
|
||||
.app-topbar-left button:hover,
|
||||
.app-topbar-right button:hover,
|
||||
.app-header details.dropdown > summary:not([role]):hover {
|
||||
background: color-mix(in srgb, var(--app-contrast) 8%, transparent);
|
||||
color: var(--app-color);
|
||||
}
|
||||
|
||||
.app-topbar-left > li > a:active,
|
||||
.app-topbar-right > li > a:active,
|
||||
.app-topbar-left button:active,
|
||||
.app-topbar-right button:active,
|
||||
.app-header details.dropdown > summary:not([role]):active {
|
||||
background: color-mix(in srgb, var(--app-contrast) 12%, transparent);
|
||||
}
|
||||
|
||||
.app-topbar-left > li > a:focus-visible,
|
||||
.app-topbar-right > li > a:focus-visible,
|
||||
.app-topbar-left button:focus-visible,
|
||||
.app-topbar-right button:focus-visible,
|
||||
.app-header details.dropdown > summary:not([role]):focus-visible {
|
||||
outline: 2px solid var(--app-primary);
|
||||
outline-offset: -2px;
|
||||
}
|
||||
|
||||
.app-header #global-back.is-disabled,
|
||||
.app-header #global-forward.is-disabled {
|
||||
opacity: 0.4;
|
||||
cursor: not-allowed;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.app-topbar-tenant-chip {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
|
||||
Reference in New Issue
Block a user