Files
HexaHost-Panel/resources/views/layouts/app.blade.php
2026-05-17 13:26:14 +02:00

65 lines
3.8 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>@yield('title', 'Dashboard') {{ config('app.name', 'HexaHost Panel') }}</title>
@vite(['resources/css/app.css', 'resources/js/app.js'])
</head>
<body class="hexahost-panel min-h-screen antialiased">
<div class="flex min-h-screen">
<aside class="hexahost-sidebar hidden w-64 shrink-0 lg:block">
<div class="flex h-16 items-center border-b border-white/10 px-6">
<span class="hexahost-brand text-lg">HexaHost</span>
</div>
<nav class="space-y-1 p-4">
<a href="{{ route('dashboard') }}" class="hexahost-nav-link {{ request()->routeIs('dashboard') ? 'active' : '' }} flex items-center gap-3 px-3 py-2 text-sm font-medium">Dashboard</a>
<a href="{{ route('vms.index') }}" class="hexahost-nav-link {{ request()->routeIs('vms.*') ? 'active' : '' }} flex items-center gap-3 px-3 py-2 text-sm font-medium">Virtuelle Maschinen</a>
<a href="{{ route('iso-uploads.index') }}" class="hexahost-nav-link {{ request()->routeIs('iso-uploads.*') ? 'active' : '' }} flex items-center gap-3 px-3 py-2 text-sm font-medium">ISO-Upload</a>
<a href="{{ route('ip-pools.index') }}" class="hexahost-nav-link {{ request()->routeIs('ip-pools.*') ? 'active' : '' }} flex items-center gap-3 px-3 py-2 text-sm font-medium">IP-Pools</a>
@if(auth()->user()->isAdmin())
<a href="{{ route('users.index') }}" class="hexahost-nav-link {{ request()->routeIs('users.*') ? 'active' : '' }} flex items-center gap-3 px-3 py-2 text-sm font-medium">Benutzer</a>
<a href="{{ route('admin.templates.index') }}" class="hexahost-nav-link {{ request()->routeIs('admin.templates.*') ? 'active' : '' }} flex items-center gap-3 px-3 py-2 text-sm font-medium">VM-Templates</a>
<a href="{{ route('admin.health') }}" class="hexahost-nav-link {{ request()->routeIs('admin.health') ? 'active' : '' }} flex items-center gap-3 px-3 py-2 text-sm font-medium">System-Health</a>
@endif
</nav>
</aside>
<div class="flex flex-1 flex-col">
<header class="hexahost-header flex h-16 items-center justify-between px-6">
<h1 class="text-lg font-semibold">@yield('heading', 'Dashboard')</h1>
<div class="flex items-center gap-4">
<span class="hidden text-sm opacity-70 sm:inline">{{ auth()->user()->name }}</span>
<span class="rounded-full border border-white/20 px-2.5 py-0.5 text-xs font-medium" style="color: var(--hx-primary)">{{ auth()->user()->role->label() }}</span>
<form method="POST" action="{{ route('logout') }}">
@csrf
<button type="submit" class="text-sm opacity-70 hover:opacity-100">Abmelden</button>
</form>
</div>
</header>
<main class="flex-1 p-6">
@if(session('success'))
<div class="hexahost-card mb-4 border border-emerald-500/30 px-4 py-3 text-sm text-emerald-300">{{ session('success') }}</div>
@endif
@if(session('warning'))
<div class="hexahost-card mb-4 border border-amber-500/30 px-4 py-3 text-sm text-amber-300">{{ session('warning') }}</div>
@endif
@if($errors->any())
<div class="hexahost-card mb-4 border border-red-500/30 px-4 py-3 text-sm text-red-300">
<ul class="list-inside list-disc space-y-1">
@foreach($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
@yield('content')
</main>
</div>
</div>
@stack('scripts')
</body>
</html>