- useSidebar: collapsed below 1100px (matchMedia) or by the admin's choice, persisted as a boolean under summer-admin.sidebar; the viewport never overwrites the stored choice - SectionPanel collapse and rail expand buttons; SectionFlyout (role menu) opens on hover, focus, Enter or ArrowDown on a rail item, closes on Esc or about 200 ms after leaving and returns focus to the rail item - Breadcrumbs with plugin, controller and record crumbs; UserMenu (Reka DropdownMenu) with initials, name, role and Wyloguj - useAuth.logout POSTs /auth/logout, clears user, navigation and settings and routes to login even when the call fails - applyColorScheme toggles .dark from prefers-color-scheme (no toggle, A6) - newest toast first, 200 ms fade and scale for dialogs and toasts - one relation-manager type constant in the registry - shell smoke tests; tests default to a desktop, light matchMedia
17 lines
463 B
TypeScript
17 lines
463 B
TypeScript
// The record crumb of the header breadcrumbs (design: Top header). The form
|
||
// view owns the record's title; it publishes it here while it is mounted so
|
||
// the shell can show "Plugin › Controller › Record".
|
||
import { readonly, ref } from 'vue'
|
||
|
||
const record = ref('')
|
||
|
||
export const recordCrumb = readonly(record)
|
||
|
||
export function setRecordCrumb(label: string): void {
|
||
record.value = label
|
||
}
|
||
|
||
export function clearRecordCrumb(): void {
|
||
record.value = ''
|
||
}
|