- 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>
28 lines
1.3 KiB
PHP
28 lines
1.3 KiB
PHP
@extends('layouts.admin')
|
|
@section('title', 'Banner')
|
|
@section('content')
|
|
<div class="flex justify-between items-center mb-6">
|
|
<h2 class="text-lg font-semibold">Startseiten-Banner</h2>
|
|
<a href="{{ route('admin.banners.create') }}" class="bg-blue-600 text-white px-4 py-2 rounded hover:bg-blue-700 text-sm">+ Neuer Banner</a>
|
|
</div>
|
|
<div class="grid grid-cols-3 gap-4">
|
|
@forelse($banners as $banner)
|
|
<div class="bg-white rounded shadow overflow-hidden">
|
|
@if($banner->image)<img src="{{ asset('storage/'.$banner->image) }}" class="w-full h-32 object-cover">@endif
|
|
<div class="p-4">
|
|
<p class="font-medium text-sm">{{ $banner->headline ?: '(kein Titel)' }}</p>
|
|
<p class="text-xs text-gray-400">Reihenfolge: {{ $banner->sort_order }}</p>
|
|
<div class="flex gap-2 mt-3">
|
|
<a href="{{ route('admin.banners.edit', $banner) }}" class="text-blue-600 text-sm hover:underline">Bearbeiten</a>
|
|
<form method="POST" action="{{ route('admin.banners.destroy', $banner) }}" onsubmit="return confirm('Löschen?')">
|
|
@csrf @method('DELETE')<button class="text-red-600 text-sm hover:underline">Löschen</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@empty
|
|
<p class="col-span-3 text-gray-400">Keine Banner.</p>
|
|
@endforelse
|
|
</div>
|
|
@endsection
|