Files
WitShop/resources/views/admin/newsletter/index.blade.php
T
marcoandClaude Sonnet 4.6 092dae6085
Deploy to Production (witstore.wende.it) / deploy (push) Successful in 8s
Add coupons, newsletter, country-based shipping, sale prices, USP bar
- Gutscheincodes: DB-Verwaltung (%, €-Rabatt, Mindestbestellwert, Ablauf),
  Eingabefeld im Checkout, Admin unter Marketing → Gutscheine
- Newsletter: Double-Opt-In per E-Mail, Formular im Footer,
  Admin-Liste mit CSV-Export
- Länderzonen-Versand: DE / DACH / EU / WORLD, Versandkosten nach
  Lieferland dynamisch berechnet, Coupon-Rabatt in Bestellung gespeichert
- Sale-Preise: sale_price auf Produkten, durchgestrichener UVP auf
  Produktkarte, Sonderangebote-Sektion auf Startseite
- USP-Leiste auf Startseite: Versand, Zahlung, Rückgabe, Service

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-21 11:07:14 +02:00

56 lines
2.6 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.
@extends('layouts.admin')
@section('title', 'Newsletter-Abonnenten')
@section('content')
<div class="flex items-center justify-between mb-6">
<h2 class="text-xl font-bold">Newsletter-Abonnenten</h2>
<a href="{{ route('admin.newsletter.export') }}" class="bg-green-600 text-white px-4 py-2 rounded hover:bg-green-700 text-sm">CSV exportieren</a>
</div>
@if(session('success'))
<div class="bg-green-100 border border-green-300 text-green-800 px-4 py-3 rounded mb-4">{{ session('success') }}</div>
@endif
<div class="mb-3 text-sm text-gray-500">
{{ $subscribers->whereNotNull('confirmed_at')->count() }} bestätigt,
{{ $subscribers->whereNull('confirmed_at')->count() }} ausstehend
</div>
<div class="bg-white rounded shadow overflow-hidden">
<table class="w-full text-sm">
<thead class="bg-gray-50 text-gray-600 uppercase text-xs">
<tr>
<th class="px-4 py-3 text-left">E-Mail</th>
<th class="px-4 py-3 text-left">Status</th>
<th class="px-4 py-3 text-left">Angemeldet am</th>
<th class="px-4 py-3 text-left">Bestätigt am</th>
<th class="px-4 py-3"></th>
</tr>
</thead>
<tbody class="divide-y divide-gray-100">
@forelse($subscribers as $sub)
<tr class="hover:bg-gray-50">
<td class="px-4 py-3">{{ $sub->email }}</td>
<td class="px-4 py-3">
@if($sub->isConfirmed())
<span class="bg-green-100 text-green-800 text-xs px-2 py-0.5 rounded-full">Bestätigt</span>
@else
<span class="bg-yellow-100 text-yellow-800 text-xs px-2 py-0.5 rounded-full">Ausstehend</span>
@endif
</td>
<td class="px-4 py-3 text-gray-500">{{ $sub->created_at->format('d.m.Y H:i') }}</td>
<td class="px-4 py-3 text-gray-500">{{ $sub->confirmed_at?->format('d.m.Y H:i') ?? '–' }}</td>
<td class="px-4 py-3 text-right">
<form method="POST" action="{{ route('admin.newsletter.destroy', $sub) }}" onsubmit="return confirm('Abonnent löschen?')">
@csrf @method('DELETE')
<button class="text-red-500 hover:underline text-sm">Löschen</button>
</form>
</td>
</tr>
@empty
<tr><td colspan="5" class="px-4 py-8 text-center text-gray-400">Keine Abonnenten.</td></tr>
@endforelse
</tbody>
</table>
</div>
@endsection