@extends('frontend.app') @section('frontend_app')
{{ $property['property_name'] }}

{{ $property['property_name'] }}

Home {{ $property['property_name'] }}
@php $images = collect($property['gallery_images'] ?? []) ->pluck('image_path') ->map(fn($img) => asset('/' . $img)); @endphp
Property Image
@php $detail = $property['detail'] ?? []; // Only these keys will be shown $selectedKeys = ['property_size', 'bedrooms', 'bathroom', 'car_parking', 'year_built', 'property_status']; // Labels and Icons for selected keys $detailLabels = [ 'property_size' => ['label' => 'Size (Sq Ft)', 'icon' => 'fa-ruler-combined'], 'bedrooms' => ['label' => 'Beds', 'icon' => 'fa-bed'], 'bathroom' => ['label' => 'Baths', 'icon' => 'fa-bath'], 'car_parking' => ['label' => 'Car Parking', 'icon' => 'fa-car'], 'year_built' => ['label' => 'Year Built', 'icon' => 'fa-calendar-alt'], 'property_status' => ['label' => 'Status', 'icon' => 'fa-info-circle'], ]; @endphp

Overview

    @foreach ($selectedKeys as $key) @if (!empty($detail[$key]))
  • {{ is_numeric($detail[$key]) ? number_format($detail[$key]) : ucfirst($detail[$key]) }} {{ $detailLabels[$key]['label'] }}
  • @endif @endforeach

{{ $property['property_name'] ?? 'No Name Available' }}

@if (!empty($property['price']))

₹{{ number_format($property['price']) }}

@else Get a Quote @endif @if (!empty($property['description']))

{{ $property['description'] }}

@else

@endif
@php $detail = $property['detail'] ?? []; // Define a mapping of labels and icons $detailLabels = [ 'property_size' => ['label' => 'Size (Sq Ft)', 'icon' => 'fa-ruler-combined'], 'bedrooms' => ['label' => 'Beds', 'icon' => 'fa-bed'], 'bathroom' => ['label' => 'Baths', 'icon' => 'fa-bath'], 'kitchen' => ['label' => 'Kitchens', 'icon' => 'fa-utensils'], 'dining_area' => ['label' => 'Dining Areas', 'icon' => 'fa-chair'], 'balkani' => ['label' => 'Balconies', 'icon' => 'fa-building'], 'car_parking' => ['label' => 'Car Parking', 'icon' => 'fa-car'], 'garage' => ['label' => 'Garage', 'icon' => 'fa-warehouse'], 'garage_size' => ['label' => 'Garage Size', 'icon' => 'fa-expand'], 'year_built' => ['label' => 'Year Built', 'icon' => 'fa-calendar-alt'], 'property_type' => ['label' => 'Property Type', 'icon' => 'fa-list'], 'property_status' => ['label' => 'Status', 'icon' => 'fa-info-circle'], 'furnishing' => ['label' => 'Furnishing', 'icon' => 'fa-couch'], 'total_floors' => ['label' => 'Total Floors', 'icon' => 'fa-layer-group'], 'maintenance_monthly' => ['label' => 'Monthly Maintenance', 'icon' => 'fa-hand-holding-usd'], 'floor_no' => ['label' => 'Floor No.', 'icon' => 'fa-sort-numeric-up'], 'facing' => ['label' => 'Facing', 'icon' => 'fa-compass'], 'project_name' => ['label' => 'Project Name', 'icon' => 'fa-building-circle-check'], ]; @endphp @if(collect($detail)->filter(fn($v) => !is_null($v))->isNotEmpty())

Details

    @foreach ($detail as $key => $value) @if (!is_null($value) && isset($detailLabels[$key]))
  • {{ is_numeric($value) ? number_format($value) : ucfirst($value) }} {{ $detailLabels[$key]['label'] }}
  • @endif @endforeach
@endif @php $amenities = $property['amenities'] ?? []; $amenityMap = [ 'gym' => ['title' => 'Gymnasium', 'icon' => 'image-9nfkO2yI0lvKCl7Any15roC9jEeLKX.png'], 'spa' => ['title' => 'Spa', 'icon' => 'image-bkdUNYIhdtrWnm5wKkRmKHaRfiGOAx.png'], 'security_24x7' => ['title' => '24*7 Security', 'icon' => 'image-Ol6oQuDeqEhzwyzfhzccWv2FCD44G4.png'], 'premium_lifts' => ['title' => 'Premium Lifts', 'icon' => 'image-zsKq5p4J7E4KR9vkfrUbguTQRrlpj2.png'], 'cctv_surveillance' => ['title' => 'CCTV Surveillance', 'icon' => 'image-74phE0rsFJmY4aKzmdUvRKmJA6g5qh.png'], 'club_house' => ['title' => 'Club House', 'icon' => 'image-plZhLyp90is2n1c2ITq2ctEi9xptnN.png'], 'mivan_construction' => ['title' => 'Mivan Construction', 'icon' => 'image-2yMisNpt0ZmQzJ5pYzAndqBGAYkfX3.png'], 'jogging_track' => ['title' => 'Jogging Track', 'icon' => 'image-PlAC2aGjB0ug6NOw7ygDhsthkUTCQf.png'], 'rainwater_harvesting' => ['title' => 'Rain water Harvesting', 'icon' => 'image-inOTwhUDmvqczVKngUTWNFGFlijuuW.png'], 'power_backup' => ['title' => 'Power Backup', 'icon' => 'image-IvbgeSvAiNMAXA18AcC7azkFwnT1tJ.png'], 'water_supply_24x7' => ['title' => '24*7 Water Supply', 'icon' => 'image-WlsBsv5aOMu1Oi7rXAIHXYHGNSxMpb.png'], 'swimming_area' => ['title' => 'Swimming Area', 'icon' => 'image-a7Qf2mhjWfBqXCLELPt5nDl9abLexo.png'], 'kids_play_area' => ['title' => 'Kid’s Play Area', 'icon' => 'image-pC8JYVWBiVup8KLut2FAWF2wkiFiO1.png'], 'yoga_area' => ['title' => 'Yoga Area', 'icon' => 'image-spb3uhz3h6K3kGJmdOjQk8YmbPG4u2.png'], 'barbeque_area' => ['title' => 'Barbeque Area', 'icon' => 'image-BAUryvk7UP19qEFwXfAb7K4K4g7cGD.png'], 'co_working_space' => ['title' => 'Co-working Space', 'icon' => 'image-lRbpg8oTjmaqBgWDr4lfslf9vaE6u9.png'], 'gated_secured_homes' => ['title' => 'Gated Secured Homes', 'icon' => 'image-pRP1oHkLZ62PuUfEw6hFy89q0jtW1D.png'], 'basketball_court' => ['title' => 'Basket Ball Court', 'icon' => 'image-FE96U2EqvCUOinHwWHgi4KWnZB8cVX.png'], 'badminton_court' => ['title' => 'Badminton Court', 'icon' => 'image-8VE8ERPz4yLSAu2vC1I5JyWYT5Jpb8.png'], 'table_tennis' => ['title' => 'Table Tennis', 'icon' => 'image-q4Z6lntCoBJx9Cb7yxBRWIuIICwJXz.png'], 'tennis_court' => ['title' => 'Tennis Court', 'icon' => 'image-vTpKjUtDJpYw6Cf6NVhYO2R4Hkf2hi.png'], 'restaurant_bar' => ['title' => 'Restaurant & Bar', 'icon' => 'image-hRETElBXDrcXOu32Vv4OnRgHpWQZj3.png'], 'meditation_area' => ['title' => 'Meditation Area', 'icon' => 'image-S524q7roYEGQWbVIWrdw3sOow08S8h.png'], 'spacious_parking' => ['title' => 'Spacious Stilt Parking', 'icon' => 'image-VIqCIvrb6BPM7qPvjaVtf9HbOZ5tfy.png'], 'multipurpose_hall' => ['title' => 'Multipurpose Hall', 'icon' => 'image-HY3PHb2c7mv0M9dAZxTCVtdsBKnKWY.png'], 'fire_protection' => ['title' => 'Fire Protection', 'icon' => 'image-kp322YLwT8QiEpBaqVJOg1rOOvw7Tm.png'], 'library' => ['title' => 'Library', 'icon' => 'image-SKuCQpYircIfGJMWJtbDuNLim16vmo.png'], 'mini_theatre' => ['title' => 'Mini Theatre', 'icon' => 'image-FhiwQkj637pAu5NJHPzohktWSdgiVS.png'], 'garden_park' => ['title' => 'Garden / Park', 'icon' => 'image-ezRAh56lqxxJuBTr37Vpz7gdOP0aE9.png'], ]; $imageBaseUrl = 'https://www.thiings.co/_next/image?url=https%3A%2F%2Flftz25oez4aqbxpq.public.blob.vercel-storage.com%2F'; @endphp @php $hasAmenities = false; foreach ($amenities as $key => $enabled) { if ($enabled && isset($amenityMap[$key])) { $hasAmenities = true; break; } } @endphp @if ($hasAmenities)

Features & Amenities

    @foreach ($amenities as $key => $enabled) @if ($enabled && isset($amenityMap[$key])) @php $item = $amenityMap[$key]; $iconUrl = $imageBaseUrl . $item['icon'] . '&w=1920&q=75'; @endphp
  • Icon {{ $item['title'] }}
  • @endif @endforeach
@endif @php $address = $property['address'] ?? []; $fullAddress = trim("{$address['street']}, {$address['area']}, {$address['city']}, {$address['state']}, {$address['country']} - {$address['zip_or_postal_code']}"); $encodedAddress = urlencode($fullAddress); @endphp

Location

{{ $fullAddress }}

@php $address = $property['address'] ?? []; $fullAddress = implode(', ', array_filter([ $address['street'] ?? '', $address['area'] ?? '', $address['city'] ?? '', $address['state'] ?? '', $address['zip_or_postal_code'] ?? '', $address['country'] ?? '' ])); $mapUrl = 'https://www.google.com/maps?q=' . urlencode($fullAddress) . '&output=embed'; @endphp
@php $youtubeUrl = $property['youtube_url'] ?? null; $embedUrl = null; if ($youtubeUrl) { if (Str::contains($youtubeUrl, 'youtube.com/embed') || Str::contains($youtubeUrl, 'youtu.be')) { if (Str::contains($youtubeUrl, 'youtu.be')) { $videoId = substr(parse_url($youtubeUrl, PHP_URL_PATH), 1); $embedUrl = 'https://www.youtube.com/embed/' . $videoId; } else { $embedUrl = $youtubeUrl; } } elseif (preg_match('/(?:v=|\/v\/|embed\/)([a-zA-Z0-9_\-]+)/', $youtubeUrl, $matches)) { $videoId = $matches[1]; $embedUrl = 'https://www.youtube.com/embed/' . $videoId; } // Add autoplay, mute, etc. if ($embedUrl) { $embedUrl .= '?autoplay=1&mute=1&rel=0&controls=1&playsinline=1'; } } @endphp @if ($embedUrl)

Property Tour

@endif @if (!empty($property['floor_plans']) && count($property['floor_plans']) > 0)

Floor Plans

@php $floorImages = collect($property['floor_plans'])->pluck('image_path')->map(fn($img) => asset('/' . $img)); @endphp @if ($floorImages->count() === 1) Floor Plan @else
Floor Plan
@endif
@endif @if (!empty($similarProperties) && count($similarProperties) > 1)
@endif

Contact Agent

@if(session('success'))
{{ session('success') }}
@endif
@csrf {{-- Hidden fields --}}
@endsection