Files
lernapp/resources/views/layouts/admin.blade.php
T

62 lines
3.6 KiB
PHP

<!DOCTYPE html>
<html lang="de" class="h-full">
<head>
<meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
<title>Lernapp Admin</title>
@vite(['resources/css/app.css','resources/js/app.js'])
</head>
<body class="h-full bg-slate-100 font-sans" x-data="{open:false}">
<div class="flex h-full">
<!-- Sidebar -->
<aside class="hidden md:flex flex-col w-60 bg-slate-900 text-slate-100 shrink-0">
<div class="flex items-center gap-3 px-6 py-5 border-b border-slate-700">
<span class="text-2xl">🎓</span>
<div><div class="font-bold text-white text-sm">Lernapp</div><div class="text-xs text-slate-400">Admin-Bereich</div></div>
</div>
<nav class="flex-1 px-3 py-4 space-y-1 text-sm">
<a href="{{ route('admin.dashboard') }}" class="flex items-center gap-3 px-3 py-2 rounded-lg {{ request()->routeIs('admin.dashboard') ? 'bg-violet-600 text-white' : 'text-slate-300 hover:bg-slate-800' }}">
<span>📊</span> Dashboard
</a>
<a href="{{ route('admin.users.index') }}" class="flex items-center gap-3 px-3 py-2 rounded-lg {{ request()->routeIs('admin.users.*') ? 'bg-violet-600 text-white' : 'text-slate-300 hover:bg-slate-800' }}">
<span>👦</span> Kinder
</a>
<a href="{{ route('admin.questions.index') }}" class="flex items-center gap-3 px-3 py-2 rounded-lg {{ request()->routeIs('admin.questions.*') ? 'bg-violet-600 text-white' : 'text-slate-300 hover:bg-slate-800' }}">
<span></span> Fragen
</a>
<a href="{{ route('admin.rewards.index') }}" class="flex items-center gap-3 px-3 py-2 rounded-lg {{ request()->routeIs('admin.rewards.*') ? 'bg-violet-600 text-white' : 'text-slate-300 hover:bg-slate-800' }}">
<span>🎁</span> Belohnungen
</a>
<a href="{{ route('admin.reference.index') }}" class="flex items-center gap-3 px-3 py-2 rounded-lg {{ request()->routeIs('admin.reference.*') ? 'bg-violet-600 text-white' : 'text-slate-300 hover:bg-slate-800' }}">
<span>💡</span> Erinnerung
</a>
<a href="{{ route('admin.redemptions.index') }}" class="flex items-center gap-3 px-3 py-2 rounded-lg {{ request()->routeIs('admin.redemptions.*') ? 'bg-violet-600 text-white' : 'text-slate-300 hover:bg-slate-800' }}">
<span></span> Einlösungen
@php $p = \App\Models\RewardRedemption::where('status','pending')->count() @endphp
@if($p > 0)<span class="ml-auto bg-red-500 text-white text-xs rounded-full px-1.5">{{ $p }}</span>@endif
</a>
</nav>
<div class="px-3 py-4 border-t border-slate-700">
<form method="POST" action="{{ route('logout') }}">
@csrf
<button class="flex items-center gap-3 px-3 py-2 w-full text-sm text-slate-400 hover:text-white rounded-lg hover:bg-slate-800">
<span>🚪</span> Abmelden
</button>
</form>
</div>
</aside>
<!-- Main -->
<div class="flex-1 flex flex-col overflow-hidden">
<header class="bg-white border-b border-slate-200 px-6 py-4 flex items-center justify-between">
<h1 class="font-semibold text-slate-800">@yield('title','Dashboard')</h1>
<span class="text-sm text-slate-500">{{ auth()->user()->name }}</span>
</header>
<main class="flex-1 overflow-y-auto p-6">
@if(session('success'))<div class="mb-4 bg-green-100 border border-green-300 text-green-800 rounded-lg px-4 py-3 text-sm">{{ session('success') }}</div>@endif
@if(session('error'))<div class="mb-4 bg-red-100 border border-red-300 text-red-800 rounded-lg px-4 py-3 text-sm">{{ session('error') }}</div>@endif
@yield('content')
</main>
</div>
</div>
</body>
</html>