resetPage(); } public function updatedStatusFilter(): void { $this->resetPage(); } public function with(): array { $baseQuery = LegacyInvoice::query() ->where('user_id', auth()->id()); $invoices = (clone $baseQuery) ->when(filled($this->search), function ($query): void { $query->where('number', 'like', '%'.$this->search.'%'); }) ->when($this->statusFilter !== 'all', fn ($query) => $query->where('status', $this->statusFilter)) ->latest('invoice_date') ->paginate(100); return [ 'invoices' => $invoices, 'statusOptions' => (clone $baseQuery) ->whereNotNull('status') ->distinct() ->orderBy('status') ->pluck('status') ->filter() ->values(), 'stats' => [ 'count' => (clone $baseQuery)->count(), 'total_cents' => (int) (clone $baseQuery)->sum('total_cents'), 'paid_count' => (clone $baseQuery)->whereNotNull('paid_at')->count(), 'downloadable_count' => (clone $baseQuery)->count(), ], ]; } }; ?>
{{-- ============== PAGE HEADER ============== --}}
{{ __('User Backend') }} {{ __('Mein Bereich · Finanzen') }} {{ __('Archivdaten') }}

{{ __('Rechnungen') }}

{{ __('Ihr Rechnungsarchiv im User Backend. PDFs werden bei Bedarf aus den Archivdaten erzeugt.') }}

{{ __('Rechnungsadresse im Profil pflegen') }}
@if ($notification)
{{ $notification }}
@endif {{-- ============== HINWEIS-PANEL ============== --}}
{{ __('Hinweis zu Rechnungen') }}

{{ __('Aktuell sehen Sie hier die aus dem Legacy-System übernommenen Rechnungen. Neue Abrechnungen werden später in dieselbe Finanznavigation integriert.') }}

{{-- ============== KPI-Reihe ============== --}}
{{ __('Archivdatensätze') }} {{ __('User-spezifisch') }} {{ __('historisch') }} {{ __('alle Portale') }} {{ __('vollständig') }} {{ __('mit Zahlungsdatum') }} {{ __('verfügbar') }} {{ __('aus Archivdaten') }}
{{-- ============== FILTER-PANEL ============== --}}
{{ __('Filter & Suche') }}
@foreach ($statusOptions as $status) @endforeach
{{-- ============== TABELLE ============== --}}
{{ __('Alle Rechnungen') }} {{ __(':count Einträge', ['count' => $invoices->count()]) }}
{{ __('Rechnungsnr.') }} {{ __('Portal') }} {{ __('Betrag') }} {{ __('Status') }} {{ __('Rechnungsdatum') }} {{ __('Bezahlt am') }} {{ __('PDF') }} @forelse ($invoices as $invoice) {{ $invoice->number ?? ('#'.$invoice->legacy_id) }} {{ $invoice->legacy_portal?->label() }} {{ number_format($invoice->total_cents / 100, 2, ',', '.') }} € @if ($invoice->paid_at) {{ $invoice->status ?? __('Bezahlt') }} @else {{ $invoice->status ?? __('Offen') }} @endif {{ $invoice->invoice_date?->format('d.m.Y') ?? '–' }} {{ $invoice->paid_at?->format('d.m.Y') ?? '–' }} {{ __('Öffnen') }} @empty
{{ __('Keine Rechnungen gefunden') }}

{{ __('Sobald Rechnungen aus dem Archiv oder aus neuen Buchungen vorhanden sind, erscheinen sie hier.') }}

{{ __('Rechnungsadresse prüfen') }}
@endforelse
{{ $invoices->links('components.portal.pagination') }}