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:
2026-04-05 17:17:06 +02:00
parent 7220aa7459
commit b749b5d192
91 changed files with 231 additions and 436 deletions

View File

@@ -25,7 +25,6 @@ class FrontendRuntimeHostContractTest extends TestCase
$this->assertStringNotContainsString("assetVersion('js/components/app-bookmark-init.js')", $defaultTemplate);
$this->assertStringContainsString('data-app-component="flash-auto-dismiss"', $flashPartial);
$this->assertStringContainsString('data-app-component="nav-history"', $topbarPartial);
$this->assertStringContainsString('data-app-component="tenant-switcher"', $topbarPartial);
$this->assertStringContainsString('data-app-component="theme-controls"', $topbarPartial);
$this->assertStringContainsString('data-app-component="contrast-toggle"', $topbarPartial);