@extends('layouts.app') @php use App\Helpers\SeoHelper; $locale = app()->getLocale(); // Helper function to generate localized routes (English has no prefix) $localizedRoute = function($routeName, $params = []) use ($locale) { return SeoHelper::localizedRoute($routeName, $params, $locale); }; // Get localized slug for services (translates English slug to current locale) $getLocalizedSlug = function($slug) use ($locale) { return SeoHelper::getTranslatedSlug($slug, $locale); }; // Service icons mapping $serviceIcons = [ 'web-development' => 'M12 21a9.004 9.004 0 008.716-6.747M12 21a9.004 9.004 0 01-8.716-6.747M12 21c2.485 0 4.5-4.03 4.5-9S14.485 3 12 3m0 18c-2.485 0-4.5-4.03-4.5-9S9.515 3 12 3', 'ecommerce' => 'M2.25 3h1.386c.51 0 .955.343 1.087.835l.383 1.437M7.5 14.25a3 3 0 00-3 3h15.75m-12.75-3h11.218c1.121-2.3 2.1-4.684 2.924-7.138a60.114 60.114 0 00-16.536-1.84M7.5 14.25L5.106 5.272M6 20.25a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm12.75 0a.75.75 0 11-1.5 0 .75.75 0 011.5 0z', 'digital-marketing' => 'M10.34 15.84c-.688-.06-1.386-.09-2.09-.09H7.5a4.5 4.5 0 110-9h.75c.704 0 1.402-.03 2.09-.09m0 9.18c.253.962.584 1.892.985 2.783', 'seo-sem' => 'm21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z', 'social-media' => 'M7.217 10.907a2.25 2.25 0 100 2.186m0-2.186c.18.324.283.696.283 1.093s-.103.77-.283 1.093m0-2.186l9.566-5.314m-9.566 7.5l9.566 5.314m0 0a2.25 2.25 0 103.935 2.186 2.25 2.25 0 00-3.935-2.186zm0-12.814a2.25 2.25 0 103.933-2.185 2.25 2.25 0 00-3.933 2.185z', 'branding' => 'M4.098 19.902a3.75 3.75 0 005.304 0l6.401-6.402M6.75 21A3.75 3.75 0 013 17.25V4.125C3 3.504 3.504 3 4.125 3h5.25c.621 0 1.125.504 1.125 1.125v4.072M6.75 21a3.75 3.75 0 003.75-3.75V8.197', 'advertising' => 'M6 20.25h12m-7.5-3v3m3-3v3m-10.125-3h17.25c.621 0 1.125-.504 1.125-1.125V4.875c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125z', 'hosting' => 'M2.25 15a4.5 4.5 0 004.5 4.5H18a3.75 3.75 0 001.332-7.257 3 3 0 00-3.758-3.848 5.25 5.25 0 00-10.233 2.33A4.502 4.502 0 002.25 15z', 'optimization' => 'M2.25 18L9 11.25l4.306 4.307a11.95 11.95 0 015.814-5.519l2.74-1.22m0 0l-5.94-2.28m5.94 2.28l-2.28 5.941', ]; // Country flags mapping $countryFlags = [ 'PT' => '🇵🇹', 'ES' => '🇪🇸', 'FR' => '🇫🇷', 'DE' => '🇩🇪', 'IT' => '🇮🇹', 'UK' => '🇬🇧', 'GB' => '🇬🇧', 'NL' => '🇳🇱', 'BE' => '🇧🇪', 'CH' => '🇨🇭', 'AT' => '🇦🇹', 'PL' => '🇵🇱', 'SE' => '🇸🇪', 'DK' => '🇩🇰', 'NO' => '🇳🇴', 'FI' => '🇫🇮', 'IE' => '🇮🇪', 'GR' => '🇬🇷', 'CZ' => '🇨🇿', 'US' => '🇺🇸', 'CA' => '🇨🇦', 'AU' => '🇦🇺', 'BR' => '🇧🇷', 'MX' => '🇲🇽', 'AR' => '🇦🇷', ]; @endphp @section('title', __('messages.all_services.meta_title')) @section('meta_description', __('messages.all_services.meta_description')) @section('meta_keywords', __('messages.all_services.meta_keywords')) @php $firstServiceAll = $servicesWithIndustries ? collect($servicesWithIndustries)->first() : null; $firstListingImage = $firstServiceAll && isset($firstServiceAll['service']['listingImage']) ? $firstServiceAll['service']['listingImage'] : null; $allServicesOgImage = $firstListingImage ? asset($firstListingImage) : asset('images/og-services.jpg'); @endphp @section('og_image', $allServicesOgImage) @push('schema') @endpush @push('styles') @endpush @section('content')
{{-- Hero Section - Clean, Matching Site Design --}}
{{-- Left: Content --}}

{{ __('messages.all_services.hero_title') }}

{{ __('messages.all_services.hero_subtitle') }}

{{-- Stats --}}
{{ count($servicesData) }} {{ __('messages.all_services.services') }}
{{ count($locationsByCountry) }} {{ __('messages.all_services.countries') }}
{{ __('messages.all_services.industries_count', ['count' => 50]) }}
{{-- CTAs --}}
{{-- Right: Quick Navigation Cards --}}
{{-- ============================================================== --}} {{-- SECTION 1: ALL SERVICES OVERVIEW --}} {{-- ============================================================== --}}
{{ __('messages.all_services.our_services') }}

{{ __('messages.all_services.digital_marketing_services') }}

{{ __('messages.all_services.services_count', ['count' => count($servicesData)]) }}

@foreach($servicesData as $serviceSlug => $service)

{{ $service['name'] }}

{{ $service['listingDescription'] ?? '' }}

@endforeach
{{-- ============================================================== --}} {{-- SECTION 2: SERVICES BY INDUSTRY --}} {{-- ============================================================== --}}
{{ __('messages.all_services.nav_by_industry') }}

{{ __('messages.all_services.section_by_industry') }}

{{ __('messages.all_services.specialized_solutions') }}

@foreach($servicesWithIndustries as $serviceSlug => $serviceData) @php $service = $serviceData['service']; $industries = $serviceData['industries']; @endphp @if(count($industries) > 0)
{{-- Service Header --}}

{{ $service['name'] }}

{{ count($industries) }} {{ __('messages.all_services.industries') }}

{{-- Industries Grid --}}
@foreach($industries as $industrySlug => $industry) {{ $industry['name'] }} @endforeach
@endif @endforeach
{{-- ============================================================== --}} {{-- SECTION 3: SERVICES BY LOCATION --}} {{-- ============================================================== --}}
{{ __('messages.all_services.nav_by_location') }}

{{ __('messages.all_services.section_by_location') }}

{{ __('messages.all_services.find_in_city') }}

{{-- Country Quick Links --}}
@foreach($locationsByCountry as $countrySlug => $country) {{ $countryFlags[$country['code']] ?? '🌍' }} {{ $country['name'] }} @endforeach
{{-- Countries with Cities --}}
@foreach($locationsByCountry as $countrySlug => $country)
{{-- Country Header --}}
{{ $countryFlags[$country['code']] ?? '🌍' }}

{{ $country['name'] }}

{{ count($country['cities']) }} {{ __('messages.all_services.cities') }} • {{ count($servicesData) }} {{ __('messages.all_services.services_per_city') }}

{{-- Cities Grid --}}
@foreach($country['cities'] as $city)
{{-- City Header --}}

{{ $city['name'] }}

@if(isset($city['native_name']) && $city['native_name'] !== $city['name'])

{{ $city['native_name'] }}

@endif
{{-- All Services for this City - Full SEO Links --}}
@foreach($servicesData as $serviceSlug => $service) {{ $service['name'] }} {{ __('messages.service_location.in') }} {{ $city['name'] }} @endforeach
@endforeach
@endforeach
{{-- ============================================================== --}} {{-- SECTION 4: COMPLETE SERVICE + LOCATION MATRIX --}} {{-- ============================================================== --}}
{{ __('messages.all_services.complete_directory') }}

{{ __('messages.all_services.full_services_directory') }}

{{ __('messages.all_services.complete_reference') }}

{{-- Service-by-Service with all locations --}}
@foreach($servicesData as $serviceSlug => $service)

{{ $service['name'] }}

{{ __('messages.all_services.available_all_locations') }}

@foreach($locationsByCountry as $countrySlug => $country)
{{ $countryFlags[$country['code']] ?? '🌍' }}

{{ $country['name'] }}

@endforeach
@endforeach
{{-- CTA Section --}}

{{ __('messages.all_services.cta_title') }}

{{ __('messages.all_services.cant_find') }}

@include('components.explore-site-section', ['hideServicesSlider' => true]) @endsection