resetPage(); } public function updatedTypeFilter(): void { $this->resetPage(); } public function updatedOnlyActive(): void { $this->resetPage(); } public function with(): array { $this->authorize('viewAny', Partner::class); $partners = Partner::query() ->with(['hub', 'users']) ->when($this->search, fn ($q) => $q->where(function ($q) { $q->where('company_name', 'like', "%{$this->search}%") ->orWhere('city', 'like', "%{$this->search}%") ->orWhere('email', 'like', "%{$this->search}%"); })) ->when($this->typeFilter, fn ($q) => $q->where('type', $this->typeFilter)) ->when($this->onlyActive, fn ($q) => $q->where('is_active', true)) ->orderBy('company_name') ->paginate(20); return [ 'partners' => $partners, 'totalCount' => Partner::count(), 'activeCount' => Partner::where('is_active', true)->count(), ]; } }; ?>
{{-- Header --}}
{{ __('Partner-Verwaltung') }} {{ __('Alle registrierten Partner auf der Plattform') }}
{{ __('Partner einladen') }}
{{-- Statistics --}}
{{ __('Gesamt') }} {{ $totalCount }}
{{ __('Aktiv') }} {{ $activeCount }}
{{ __('Inaktiv') }} {{ $totalCount - $activeCount }}
{{-- Filter --}}
{{ __('Suche') }} {{ __('Partner-Typ') }} {{ __('Alle Typen') }} {{ __('Händler') }} {{ __('Hersteller') }} {{ __('Makler') }} {{ __('Status') }}
{{-- Partner-Tabelle --}} {{ __('Partner') }} {{ __('Typ') }} {{ __('Hub') }} {{ __('Benutzer') }} {{ __('Status') }} @forelse ($partners as $partner)
{{ $partner->company_name }}
@if ($partner->city)
{{ $partner->zip }} {{ $partner->city }}
@endif
{{ $partner->type?->label() ?? ucfirst($partner->type ?? '–') }} {{ $partner->hub?->name ?? '–' }} {{ $partner->users->count() }} @if ($partner->is_active) {{ __('Aktiv') }} @else {{ __('Inaktiv') }} @endif {{ __('Bearbeiten') }}
@empty
{{ __('Keine Partner gefunden') }}
@endforelse
@if ($partners->hasPages())
{{ $partners->links() }}
@endif