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