feat(layout): Layout-Einstellungen, Dark-Mode, Logo, Hilfe-Menü

- Settings Key-Value Store (DB + Cache)
- Einstellungen → Layout: Seitenname, Logo, Button-Farbe, Dark/Light-Mode
- Hilfe-Menü (Ebene 0): Handbuch + Changelog im Browser
- Navigation erweitert: Einstellungen-Dropdown + Hilfe-Dropdown
- CHANGELOG v0.4.0

Version: 0.4.0
This commit is contained in:
2026-06-29 14:15:41 +02:00
parent 69ce876138
commit eb57be730b
18 changed files with 613 additions and 24 deletions
+19 -4
View File
@@ -1,11 +1,12 @@
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}"
class="{{ ($appSettings['theme_mode'] ?? 'light') === 'dark' ? 'dark' : '' }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>{{ config('app.name', 'Laravel') }}</title>
<title>{{ $appSettings['site_name'] ?? config('app.name', 'Network-MGMT') }}</title>
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.bunny.net">
@@ -13,14 +14,28 @@
<!-- Scripts -->
@vite(['resources/css/app.css', 'resources/js/app.js'])
<!-- Dynamic Settings -->
<style>
:root {
--color-primary: {{ $appSettings['button_color'] ?? '#4f46e5' }};
}
.btn-primary {
background-color: var(--color-primary) !important;
color: #fff;
}
.btn-primary:hover {
opacity: 0.88;
}
</style>
</head>
<body class="font-sans antialiased">
<div class="min-h-screen bg-gray-100">
<div class="min-h-screen bg-gray-100 dark:bg-gray-900">
@include('layouts.navigation')
<!-- Page Heading -->
@isset($header)
<header class="bg-white shadow">
<header class="bg-white dark:bg-gray-800 shadow">
<div class="max-w-7xl mx-auto py-6 px-4 sm:px-6 lg:px-8">
{{ $header }}
</div>