@php
$images = collect($property['gallery_images'] ?? [])
->pluck('image_path')
->map(fn($img) => asset('/' . $img));
@endphp
@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
-
{{ $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)
@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)
 }})
@else
@endif
@endif
@if (!empty($similarProperties) && count($similarProperties) > 1)
@endif