partner = Partner::with([ 'hub', 'media', 'products' => function ($q) { $q->where('status', ProductStatus::Active) ->where('is_curated', true) ->where('is_available', true) ->with(['categories', 'media']) ->latest() ->limit(6); }, ])->findOrFail($partnerId); $this->title = $this->partner->display_name ?? $this->partner->company_name; } public function with(): array { return [ 'partner' => $this->partner, 'products' => $this->partner->products, 'teamPhotos' => $this->partner->media->where('type', 'team_photo')->sortBy('order_column')->values(), 'showroomPhotos' => $this->partner->media->where('type', 'showroom')->sortBy('order_column')->values(), 'brandImages' => $this->partner->media->where('type', 'brand_image')->sortBy('order_column')->values(), ]; } }; ?>
{{-- Partner-Header --}}
{{-- Logo / Placeholder --}}
{{ $partner->display_name ?? $partner->company_name }} @if($partner->display_name && $partner->display_name !== $partner->company_name)
{{ $partner->company_name }}
@endif
@if($partner->type) {{ $partner->type?->label() ?? $partner->type }} @endif @if($partner->hub) {{ $partner->hub->name }} @endif @if($partner->is_active) {{ __('Aktiv') }} @endif
{{-- Kontaktdaten --}}
@if($partner->city) {{ $partner->zip }} {{ $partner->city }} @endif @if($partner->phone) {{ $partner->phone }} @endif @if($partner->website) {{ parse_url($partner->website, PHP_URL_HOST) }} @endif @if($partner->founded_year) {{ __('Seit') }} {{ $partner->founded_year }} @endif
{{-- Linke Spalte: Story + Showroom + Marken-Bilder + Produkte --}}
{{-- Story / Über uns --}} @if($partner->story_text) {{ __('Über uns') }}
{{ $partner->story_text }}
@endif {{-- Showroom-Galerie (Händler) --}} @if($showroomPhotos->isNotEmpty()) {{ __('Unser Showroom') }}
@foreach($showroomPhotos as $photo)
{{ __('Showroom') }}
@endforeach
@endif {{-- Marken-Bilder (Hersteller) --}} @if($brandImages->isNotEmpty()) {{ __('Unsere Marke') }}
@foreach($brandImages as $photo)
{{ __('Markenbild') }}
@endforeach
@endif {{-- Produkte --}} @if($products->isNotEmpty())
{{ __('Aktuelle Produkte') }} {{ __('Alle ansehen') }}
@foreach($products as $product)
@if($product->media->first()?->url) {{ $product->name }} @else @endif
{{ $product->name }}
@if($product->price_display_text)
{{ $product->price_display_text }}
@elseif($product->price)
{{ number_format($product->price, 2, ',', '.') }} €
@else
{{ __('Auf Anfrage') }}
@endif
@endforeach
@endif
{{-- Rechte Spalte: Öffnungszeiten + Spezialisierungen --}}
{{-- Öffnungszeiten --}} @if($partner->opening_hours) {{ __('Öffnungszeiten') }} @php $days = [ 'monday' => __('Montag'), 'tuesday' => __('Dienstag'), 'wednesday' => __('Mittwoch'), 'thursday' => __('Donnerstag'), 'friday' => __('Freitag'), 'saturday' => __('Samstag'), 'sunday' => __('Sonntag'), ]; @endphp
@foreach($days as $key => $label) @if(isset($partner->opening_hours[$key])) @php $hours = $partner->opening_hours[$key]; @endphp
{{ $label }} @if(!empty($hours['closed'])) {{ __('Geschlossen') }} @elseif(!empty($hours['open']) && !empty($hours['close'])) {{ $hours['open'] }} – {{ $hours['close'] }} @else @endif
@endif @endforeach
@endif {{-- Spezialisierungen --}} @if($partner->specialties && count($partner->specialties) > 0) {{ __('Spezialisierungen') }}
@foreach($partner->specialties as $specialty) {{ $specialty }} @endforeach
@endif {{-- Team-Fotos --}} @if($teamPhotos->isNotEmpty()) {{ __('Unser Team') }}
@foreach($teamPhotos as $photo)
{{ __('Team') }}
@endforeach
@endif {{-- Adresse --}} @if($partner->street || $partner->city) {{ __('Adresse') }}
@if($partner->street)
{{ $partner->street }} {{ $partner->house_number }}
@endif @if($partner->zip || $partner->city)
{{ $partner->zip }} {{ $partner->city }}
@endif
@endif