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>
45 lines
1.4 KiB
PHP
45 lines
1.4 KiB
PHP
<?php
|
|
|
|
use MintyPHP\Buffer;
|
|
use MintyPHP\Module\Helpdesk\HelpdeskAuthorizationPolicy;
|
|
use MintyPHP\Module\Helpdesk\Service\HelpdeskSettingsGateway;
|
|
use MintyPHP\Support\Guard;
|
|
|
|
Guard::requireLogin();
|
|
Guard::requireAbilityOrForbidden(HelpdeskAuthorizationPolicy::ABILITY_ACCESS);
|
|
|
|
$request = requestInput();
|
|
$query = $request->queryAll();
|
|
|
|
$filterSchema = require __DIR__ . '/filter-schema.php';
|
|
$listFilterContext = gridBuildListFilterContext($filterSchema, [
|
|
'query' => $query,
|
|
'search_keys' => ['search'],
|
|
]);
|
|
$toolbarFilterSchema = $listFilterContext['toolbarFilterSchema'];
|
|
$searchToolbarFilterSchema = $listFilterContext['searchToolbarFilterSchema'];
|
|
$drawerToolbarFilterSchema = $listFilterContext['drawerToolbarFilterSchema'];
|
|
$toolbarFilterState = $listFilterContext['toolbarFilterState'];
|
|
$clientFilterSchema = $listFilterContext['clientFilterSchema'];
|
|
$searchConfig = $listFilterContext['searchConfig'];
|
|
$filterChipMeta = [
|
|
'search' => [
|
|
'label' => t('Search'),
|
|
'type' => 'text',
|
|
],
|
|
'city' => [
|
|
'label' => t('City'),
|
|
'type' => 'text',
|
|
],
|
|
];
|
|
|
|
$settingsGateway = app(HelpdeskSettingsGateway::class);
|
|
$isConfigured = $settingsGateway->isConfigured();
|
|
|
|
Buffer::set('title', t('Customers'));
|
|
Buffer::set('style_groups', json_encode(['helpdesk']));
|
|
$breadcrumbs = [
|
|
['label' => t('Home'), 'path' => 'admin'],
|
|
['label' => t('Helpdesk')],
|
|
];
|