Revamp app layout, theming and navigation
Refactor Layout.vue to implement a redesigned, responsive shell: new branding (SVG icon, title & subtitle), computed sidebar/footer routes, route-aware page title & description, improved footer visibility, and a mobile-friendly navigation drawer. Theme handling now uses a data-theme attribute, persistent storage, accessible labels and toggle controls. Added new image assets (icon.svg, icon.png, 404NotFound.png), global.css and documentation files (style.md, codexInfo.md), updated related plugins/routes/components, and removed the old logo.png. Also updated the favicon.
This commit is contained in:
@@ -12,6 +12,7 @@ export enum Visibility {
|
||||
Authorized,
|
||||
Public,
|
||||
Footer,
|
||||
Route,
|
||||
}
|
||||
|
||||
export interface LayoutRoute {
|
||||
@@ -21,14 +22,25 @@ export interface LayoutRoute {
|
||||
icon: string
|
||||
disableFooter?: boolean
|
||||
visible: Visibility
|
||||
visibilityRoute?: string | string[]
|
||||
meta?: RouteRecordRaw
|
||||
}
|
||||
|
||||
/**
|
||||
* Kurzanleitung fuer Sidebar-Sichtbarkeit:
|
||||
* - `Visibility.Public`: Eintrag ist immer in der Sidebar sichtbar.
|
||||
* - `Visibility.Route`: Eintrag ist nur sichtbar, wenn die aktuelle URL im angegebenen Bereich liegt.
|
||||
* - Ohne `visibilityRoute` wird automatisch `path` als Bereich verwendet.
|
||||
* - Szenario 1: `path: '/dash'` -> sichtbar bei `/dash` und `/dash/*`.
|
||||
* - Szenario 2: `visibilityRoute: '/admin'` -> Eintrag wird nur im Admin-Bereich gezeigt.
|
||||
* - Szenario 3: `visibilityRoute: ['/dash', '/projects']` -> sichtbar in beiden Bereichen.
|
||||
* - `Visibility.Footer` und `Visibility.Hidden`: nicht in der Sidebar sichtbar.
|
||||
*/
|
||||
export const routes: LayoutRoute[] = [
|
||||
{
|
||||
path: '/',
|
||||
name: 'Startseite',
|
||||
description: 'Uebersicht der Anwendung',
|
||||
description: 'Self-hosted Datei-Workspace für Hoard',
|
||||
icon: 'mdi-home',
|
||||
visible: Visibility.Public,
|
||||
meta: {
|
||||
|
||||
Reference in New Issue
Block a user