@php $proName = trim(($proProfile->first_name ?? '') . ' ' . ($proProfile->last_name ?? '')) ?: __('PRO Profile'); $seoTitle = $proProfile->organization_name ? "{$proName} β€” {$proProfile->organization_name} β€” " . config('app.name') : "{$proName} β€” " . config('app.name'); $seoDesc = $proProfile->about_me ? Str::limit(strip_tags($proProfile->about_me), 155) : ($proProfile->core_activity ? Str::limit($proProfile->core_activity, 155) : null); @endphp @php $jsonLdPro = array_filter([ '@context' => 'https://schema.org', '@type' => $proProfile->organization_name ? 'ProfessionalService' : 'Person', 'name' => $proProfile->organization_name ?? $proName, 'description' => $seoDesc, 'url' => route('pro.show', $proProfile->id), 'logo' => $proProfile->logoUrl() ?: null, 'address' => $proProfile->city ? [ '@type' => 'PostalAddress', 'addressLocality' => $proProfile->city, ] : null, ]); @endphp @push('seo') @endpush

{{ trim(($proProfile->first_name ?? '') . ' ' . ($proProfile->last_name ?? '')) ?: __('PRO Profile') }}

{{-- Preview banner: owner viewing their own hidden profile --}} @if ($isOwn && ! $proProfile->is_visible)
πŸ‘ {{ __('Preview β€” your PRO profile is currently hidden. Other users cannot see it.') }} {{ __('Edit profile') }}
@endif
{{-- Prev/next navigation buttons --}} @if ($prev) {{-- Desktop: vertically centred --}} {{-- Mobile: above bottom bar --}} @endif @if ($next) {{-- Desktop: vertically centred --}} {{-- Mobile: above bottom bar --}} @endif
{{-- Profile card --}} @php $mainPhoto = $photos->firstWhere('is_primary', true) ?? $photos->first(); @endphp
{{-- ── Left column: main photo + gallery ──────────────────── --}}
@if ($mainPhoto) {{ $proProfile->first_name }} @else
@endif
@if ($photos->count() > 1) @endif
{{-- ── Right column: PRO info, scrollable ──────────────────── --}}
{{-- Logo --}} @if ($proProfile->logoUrl())
{{ $proProfile->organization_name ?? __('Logo') }}
@endif {{-- Name + org + ID --}}

{{ trim(($proProfile->first_name ?? '') . ' ' . ($proProfile->last_name ?? '')) ?: 'β€”' }}

@if ($proProfile->is_neurodivergent) 🧠 {{ __('Neurodivergent') }} @endif
@if ($proProfile->organization_name)

{{ $proProfile->organization_name }}

@endif @if ($proProfile->tagline)

{{ $proProfile->tagline }}

@endif {{-- Kernactiviteit (vrij tekstveld) --}} @if ($proProfile->core_activity)

{{ $proProfile->core_activity }}

@endif

#{{ $proProfile->user_id }}

{{-- Personal & location details --}} @php $age = $proProfile->date_of_birth?->age; $langLabels = ['nl' => 'πŸ‡³πŸ‡± Nederlands', 'en' => 'πŸ‡¬πŸ‡§ English', 'fr' => 'πŸ‡«πŸ‡· FranΓ§ais', 'de' => 'πŸ‡©πŸ‡ͺ Deutsch', 'es' => 'πŸ‡ͺπŸ‡Έ EspaΓ±ol']; $langs = array_values(array_filter([ $proProfile->preferred_language, $proProfile->preferred_language_2, $proProfile->preferred_language_3, ])); @endphp
@if ($proProfile->gender)
{{ __($proProfile->gender) }} - @if ($age !== null) {{ $age }} {{ __('years') }} @endif
@endif @if ($proProfile->address || $proProfile->zip_code || $proProfile->city || $proProfile->country) @php $mapQuery = collect([ $proProfile->address, $proProfile->zip_code, $proProfile->city, $proProfile->country ? \App\Helpers\CountryHelper::name($proProfile->country) : null, ])->filter()->implode(', '); $mapUrl = 'https://www.google.com/maps/search/' . urlencode($mapQuery); @endphp
{{ __('Adres') }}
@if ($proProfile->address) {{ $proProfile->address }} - @endif @if ($proProfile->zip_code || $proProfile->city) {{ collect([$proProfile->zip_code, $proProfile->city])->filter()->implode(' ') }} - @endif @if ($proProfile->country) {{ __(\App\Helpers\CountryHelper::name($proProfile->country)) }} @endif
{{ __('Toon op kaart') }}
@endif
{{-- About me --}} @if ($proProfile->about_me)

{{ __('About me') }}

{!! str_contains($proProfile->about_me, '<') ? $proProfile->about_me : nl2br(e($proProfile->about_me)) !!}
@endif {{-- Education, training & certifications --}} @if ($proProfile->education)

{{ __('Education, training & certifications') }}

{{ $proProfile->education }}

@endif {{-- Beroepsvereniging & registratienummers --}} @if ($proProfile->professional_association || $proProfile->riziv_number || $proProfile->psychologist_registration || $proProfile->clinical_psychologist_visa)
@if ($proProfile->professional_association)

{{ __('Professional association') }}

{{ $proProfile->professional_association }}

@endif @if ($proProfile->riziv_number)

{{ __('RIZIV number (physiotherapy)') }}

{{ $proProfile->riziv_number }}

@endif @if ($proProfile->psychologist_registration)

{{ __('Psychologist registration number') }}

{{ $proProfile->psychologist_registration }}

@endif @if ($proProfile->clinical_psychologist_visa)

{{ __('Clinical psychologist visa number') }}

{{ $proProfile->clinical_psychologist_visa }}

@endif
@endif {{-- Support forms grouped by category --}} @php $selectedForms = $proProfile->support_forms ?? []; $sfTaxonomy = \App\Models\ProProfile::supportFormTaxonomy(); @endphp @if (!empty($selectedForms))

{{ __('Forms of support I offer') }}

@foreach ($sfTaxonomy as $cat) @php $catTags = collect($cat['subcats']) ->flatMap(fn($s) => collect($s['tags']) ->filter(fn($lbl, $slug) => in_array($slug, $selectedForms)) ->all() )->all(); @endphp @if (!empty($catTags))

{{ $cat['emoji'] }} {{ __($cat['label']) }}

@foreach ($catTags as $slug => $label) {{ __($label) }} @endforeach
@endif @endforeach
@endif {{-- Expertise: conditions --}} @if (!empty($proProfile->support_for))

{{ __('I support people with') }}

@foreach ($proProfile->support_for as $key) @if ($label = \App\Models\ProProfile::supportForOptions()[$key] ?? null) {{ __($label) }} @endif @endforeach
@endif {{-- Service format / target group / focus topics --}} @php $hasDims = !empty($proProfile->service_formats) || !empty($proProfile->target_groups) || !empty($proProfile->focus_topics); @endphp @if ($hasDims)
@foreach ([ ['field' => 'service_formats', 'label' => 'Service format', 'opts' => \App\Models\ProProfile::serviceFormatOptions()], ['field' => 'target_groups', 'label' => 'Target group', 'opts' => \App\Models\ProProfile::targetGroupOptions()], ['field' => 'focus_topics', 'label' => 'Focus topics', 'opts' => \App\Models\ProProfile::focusTopicOptions()], ] as $dim) @if (!empty($proProfile->{$dim['field']}))

{{ __($dim['label']) }}

@foreach ($proProfile->{$dim['field']} as $key) @if ($lbl = $dim['opts'][$key] ?? null) {{ __($lbl) }} @endif @endforeach
@endif @endforeach
@endif {{-- Booking CTA --}} @if ($proProfile->booking_url) @endif {{-- Praktische info: prijs, wachtlijst, actief sinds --}} @if ($proProfile->consultation_price || $proProfile->waitlist || $proProfile->active_since)
@if ($proProfile->consultation_price) πŸ’Ά {{ $proProfile->consultation_price }} @endif @if ($proProfile->waitlist) ⏳ {{ __('Waiting list') }} @endif @if ($proProfile->active_since) {{ __('Active since :year', ['year' => $proProfile->active_since]) }} @endif
@endif @if (!empty($langs))
{{ __('Languages') }}
{{ implode(' Β· ', array_map(fn($l) => $langLabels[$l] ?? $l, $langs)) }}
@endif {{-- Contact details --}} @php $hasContact = $proProfile->contact_email || $proProfile->mobile || $proProfile->phone || $proProfile->website; @endphp @if ($hasContact)

{{ __('Contact') }}

@if ($proProfile->contact_email) {{ $proProfile->contact_email }} @endif @if ($proProfile->mobile) {{ $proProfile->mobile }} @endif @if ($proProfile->phone) {{ $proProfile->phone }} @endif @if ($proProfile->website) {{ preg_replace('#^https?://#', '', rtrim($proProfile->website, '/')) }} @endif
@endif {{-- Social media --}} @php $proSocialUrl = function(string $platform, ?string $value): ?string { if (!$value) return null; if (str_starts_with($value, 'http')) return $value; $value = ltrim($value, '/@'); return match($platform) { 'linkedin' => 'https://linkedin.com/in/' . $value, 'reddit' => 'https://reddit.com/u/' . $value, 'facebook' => 'https://facebook.com/' . $value, 'instagram' => 'https://instagram.com/' . $value, 'x' => 'https://x.com/' . $value, 'tiktok' => 'https://tiktok.com/@' . $value, 'youtube' => 'https://youtube.com/@' . $value, 'pinterest' => 'https://pinterest.com/' . $value, 'tumblr' => 'https://' . $value . '.tumblr.com', 'vimeo' => 'https://vimeo.com/' . $value, default => null, }; }; $socialPlatforms = [ ['linkedin', 'LinkedIn', '#0A66C2', $proProfile->social_linkedin, ''], ['reddit', 'Reddit', '#FF4500', $proProfile->social_reddit, ''], ['facebook', 'Facebook', '#1877F2', $proProfile->social_facebook, ''], ['instagram', 'Instagram', '#E1306C', $proProfile->social_instagram, ''], ['x', 'X', '#000000', $proProfile->social_x, ''], ['tiktok', 'TikTok', '#010101', $proProfile->social_tiktok, ''], ['youtube', 'YouTube', '#FF0000', $proProfile->social_youtube, ''], ['pinterest', 'Pinterest', '#E60023', $proProfile->social_pinterest, ''], ['tumblr', 'Tumblr', '#35465C', $proProfile->social_tumblr, ''], ['vimeo', 'Vimeo', '#1AB7EA', $proProfile->social_vimeo, ''], ]; $visibleSocials = array_filter( $socialPlatforms, fn($p) => !empty($p[3]) ); @endphp @if (!empty($visibleSocials))

{{ __('My social media') }}

@foreach ($visibleSocials as [$platform, $label, $color, $value, $svgPath]) @php $url = $proSocialUrl($platform, $value); @endphp @if ($url) @endif @endforeach
@endif
{{-- /detail-info --}}
{{-- /profile card --}}
{{-- Lightbox --}}
@push('bottom-bar-buttons')
{{ __('Back') }} @if ($isOwn) {{ __('Edit profile') }} @elseif ($viewer) {{-- Like button β€” non-PRO viewers only --}} @if (! $viewer->is_pro) @endif {{-- Follow button β€” all authenticated non-owners --}} {{-- Message button β€” only when the PRO has allow_messages enabled --}} @if ($proProfile->user->allow_messages)
@csrf
@endif @else {{-- Guest: invite to create an account --}} {{ __('Sign up') }} {{ __('Log in') }} @endif
@endpush @push('scripts') @endpush