Initial commit: WitShop Laravel Online-Shop
- Laravel 11, Blade, Alpine.js, Tailwind CSS - Produkt- & Kategorieverwaltung mit Varianten - Checkout (Vorkasse + Rechnung), Session-Warenkorb - Admin-Backend (Dashboard, Bestellungen, Kunden, CMS) - DSGVO-konform: Cookie-Consent, Impressum, Widerruf, AGB - PDF-Rechnung via dompdf, SMTP-Mailversand - Kundenverwaltung mit manueller Freischaltung Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>@yield('title', 'Admin') — {{ \App\Models\Setting::get('shop_name', 'Shop') }}</title>
|
||||
@vite(['resources/css/app.css', 'resources/js/app.js'])
|
||||
@stack('head')
|
||||
</head>
|
||||
<body class="bg-gray-100 text-gray-800 min-h-screen flex">
|
||||
|
||||
{{-- Sidebar --}}
|
||||
<aside class="w-64 bg-gray-900 text-white flex flex-col shrink-0">
|
||||
<div class="p-4 text-lg font-bold border-b border-gray-700">
|
||||
🛒 Admin
|
||||
</div>
|
||||
<nav class="flex-1 p-4 space-y-1 text-sm">
|
||||
<a href="{{ route('admin.dashboard') }}" class="block px-3 py-2 rounded hover:bg-gray-700 {{ request()->routeIs('admin.dashboard') ? 'bg-gray-700' : '' }}">Dashboard</a>
|
||||
<div class="pt-2 pb-1 text-xs text-gray-400 uppercase tracking-wide">Sortiment</div>
|
||||
<a href="{{ route('admin.categories.index') }}" class="block px-3 py-2 rounded hover:bg-gray-700 {{ request()->routeIs('admin.categories.*') ? 'bg-gray-700' : '' }}">Kategorien</a>
|
||||
<a href="{{ route('admin.products.index') }}" class="block px-3 py-2 rounded hover:bg-gray-700 {{ request()->routeIs('admin.products.*') ? 'bg-gray-700' : '' }}">Artikel</a>
|
||||
<a href="{{ route('admin.attributes.index') }}" class="block px-3 py-2 rounded hover:bg-gray-700 {{ request()->routeIs('admin.attributes.*') ? 'bg-gray-700' : '' }}">Attribute</a>
|
||||
<div class="pt-2 pb-1 text-xs text-gray-400 uppercase tracking-wide">Kunden & Bestellungen</div>
|
||||
<a href="{{ route('admin.customers.index') }}" class="block px-3 py-2 rounded hover:bg-gray-700 {{ request()->routeIs('admin.customers.*') ? 'bg-gray-700' : '' }}">Kunden</a>
|
||||
<a href="{{ route('admin.orders.index') }}" class="block px-3 py-2 rounded hover:bg-gray-700 {{ request()->routeIs('admin.orders.*') ? 'bg-gray-700' : '' }}">Bestellungen</a>
|
||||
<div class="pt-2 pb-1 text-xs text-gray-400 uppercase tracking-wide">CMS</div>
|
||||
<a href="{{ route('admin.pages.index') }}" class="block px-3 py-2 rounded hover:bg-gray-700 {{ request()->routeIs('admin.pages.*') ? 'bg-gray-700' : '' }}">Seiten</a>
|
||||
<a href="{{ route('admin.banners.index') }}" class="block px-3 py-2 rounded hover:bg-gray-700 {{ request()->routeIs('admin.banners.*') ? 'bg-gray-700' : '' }}">Banner</a>
|
||||
<a href="{{ route('admin.faqs.index') }}" class="block px-3 py-2 rounded hover:bg-gray-700 {{ request()->routeIs('admin.faqs.*') ? 'bg-gray-700' : '' }}">FAQ</a>
|
||||
<div class="pt-2 pb-1 text-xs text-gray-400 uppercase tracking-wide">System</div>
|
||||
<a href="{{ route('admin.settings.index') }}" class="block px-3 py-2 rounded hover:bg-gray-700 {{ request()->routeIs('admin.settings.*') ? 'bg-gray-700' : '' }}">Einstellungen</a>
|
||||
</nav>
|
||||
<div class="p-4 border-t border-gray-700 text-xs text-gray-400">
|
||||
{{ auth()->user()->name }}<br>
|
||||
<form method="POST" action="{{ route('logout') }}">@csrf
|
||||
<button class="text-gray-400 hover:text-white mt-1">Abmelden</button>
|
||||
</form>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
{{-- Main --}}
|
||||
<div class="flex-1 flex flex-col overflow-hidden">
|
||||
<header class="bg-white shadow px-6 py-3 flex items-center justify-between">
|
||||
<h1 class="text-xl font-semibold">@yield('title', 'Admin')</h1>
|
||||
<a href="{{ url('/') }}" class="text-sm text-blue-600 hover:underline" target="_blank">Shop ansehen</a>
|
||||
</header>
|
||||
|
||||
<main class="flex-1 overflow-y-auto p-6">
|
||||
@if(session('success'))
|
||||
<div class="mb-4 bg-green-100 text-green-800 px-4 py-3 rounded">{{ session('success') }}</div>
|
||||
@endif
|
||||
@if(session('error'))
|
||||
<div class="mb-4 bg-red-100 text-red-800 px-4 py-3 rounded">{{ session('error') }}</div>
|
||||
@endif
|
||||
|
||||
@yield('content')
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user