Files
api-extranetwork/resources/views/pdf/propertyCatalog.blade.php
ExtraNetwork e5c4b6aa13 first commit
2026-05-12 17:04:54 +03:00

1497 lines
69 KiB
PHP

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>{{ $pageContent['name'] ?? 'Hotel' }}</title>
@php
$colorCodes = $pageContent['property_brand']['colorCodes'];
@endphp
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
@page {
/* size: A4; */
size: 143mm 254mm landscape;
margin: 1cm;
-webkit-print-color-adjust: exact;
print-color-adjust: exact;
}
img, div[style*="background"], div[style*="background-image"] {
-webkit-print-color-adjust: exact !important;
print-color-adjust: exact !important;
image-rendering: -webkit-optimize-contrast !important;
image-rendering: crisp-edges !important;
image-rendering: pixelated !important;
}
div[style*="background: url"], div[style*="background-image: url"] {
image-rendering: -webkit-optimize-contrast !important;
image-rendering: optimizeQuality !important;
-webkit-filter: contrast(1.1) brightness(1.05) !important;
filter: contrast(1.1) brightness(1.05) !important;
background-attachment: scroll !important;
background-size: cover !important;
background-repeat: no-repeat !important;
background-position: center !important;
}
body {
font-family:@if(app('translator')->getLocale() != "ar") Gilroy, DejaVu Sans !important; @else DejaVu Sans !important; @endif
font-size: 13px;
line-height: 1.4;
color: #333;
background-color: #ffffff;
}
b, strong {
font-family:@if(app('translator')->getLocale() != "ar") Gilroy, DejaVu Sans !important; @else DejaVu Sans !important; @endif
}
.container {
max-width: 100%;
margin: 0 auto;
padding: 10px;
}
.header {
text-align: center;
margin-bottom: 0px;
padding-right: 20px;
padding-left: 20px;
padding-bottom: 20px;
/* padding-top: 10px; */
background: linear-gradient(135deg, #c4a575 0%, #b8985f 100%);
color: white;
border-radius: 8px;
position: relative;
}
.header .logo {
max-width: 150px;
height: auto;
margin-bottom: 0px;
position: relative;
z-index: 2;
}
.hotel-name {
/* font-size: 24px;
font-weight: bold;
margin-bottom: 5px;
text-transform: uppercase;
position: relative;
z-index: 2;
color: white;
text-shadow: 0 0 10px rgba(0, 0, 0, 0.7); */
font-family: @if(app('translator')->getLocale() != "ar") Gilroy, DejaVu Sans !important; @else DejaVu Sans !important; @endif
position: absolute !important;
top: 15% !important;
left: 0 !important;
width: 100% !important;
transform: translateY(-15%) !important;
text-align: center !important;
/* font-size: 36px !important; */
font-weight: bold !important;
/* color: white !important; */
z-index: 2 !important;
text-shadow: 0 0 10px rgba(0,0,0,0.7) !important;
}
.hotel-subtitle {
/* font-size: 14px;
opacity: 0.9;
position: relative;
z-index: 2;
color: white;
text-shadow: 0 0 10px rgba(0, 0, 0, 0.7); */
font-family: @if(app('translator')->getLocale() != "ar") Gilroy, DejaVu Sans !important; @else DejaVu Sans !important; @endif
position: absolute !important;
left: 0 !important;
bottom: 50px !important;
width: 100% !important;
text-align: center !important;
font-size: 14px !important;
color: white !important;
text-shadow: 0 0 10px rgba(0,0,0,0.7);
z-index: 2;
padding: 0 30px;
}
.section {
margin-bottom: 0px;
background: white;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.section-header {
color: black;
padding: 12px 15px;
font-size: 14px;
font-weight: bold;
text-transform: capitalize;
letter-spacing: 1px;
}
.section-content {
padding: 15px;
}
.two-column {
display: table;
width: 100%;
table-layout: fixed;
}
.column {
display: table-cell;
width: 50%;
vertical-align: top;
padding: 0 10px;
}
.column:first-child {
padding-left: 0;
}
.column:last-child {
padding-right: 0;
}
.info-table {
width: 100%;
border-collapse: collapse;
margin-bottom: 10px;
}
.info-table td {
padding: 8px 12px;
border-bottom: 1px solid #eee;
vertical-align: middle;
}
.info-table td:first-child {
background: {{$colorCodes[0]['color_code'] ?? '$c4a575'}} !important;
color: white;
font-weight: bold;
width: 40%;
border-radius: 4px 0 0 4px;
}
.info-table td:last-child {
background: #f8f9fa;
border-radius: 0 4px 4px 0;
}
.staff-table {
width: 100%;
border-collapse: collapse;
margin-bottom: 10px; }
.staff-table th {
background: {{$colorCodes[0]['color_code'] ?? '$c4a575'}};
color: white;
padding: 10px 8px;
font-size: 9px;
text-align: left;
font-weight: bold;
}
.staff-table td {
padding: 8px;
border-bottom: 1px solid #eee;
font-size: 9px;
}
.staff-table tr:nth-child(even) {
background: #f8f9fa;
}
.room-card, .facility-card {
border: 1px solid #ddd;
border-radius: 6px;
margin-bottom: 15px;
overflow: hidden;
}
/* .room-card-new {
background: white;
margin-bottom: 20px;
padding: 0;
page-break-inside: avoid;
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
border-left: 4px solid #c4a575;
} */
.room-header-new {
display: table;
width: 100%;
margin-bottom: 15px;
border-bottom: 1px solid #eee;
padding-bottom: 8px;
}
.room-title {
display: table-cell;
vertical-align: top;
font-size: 16px;
font-weight: bold;
color: #333;
width: 70%;
}
.room-size {
display: table-cell;
vertical-align: top;
text-align: right;
width: 30%;
font-size: 12px;
}
.size-icon {
display: inline-block;
margin-right: 5px;
font-size: 14px;
color: #c4a575;
}
.room-features-new {
/* margin-bottom: 15px; */
}
.features-text {
font-size: 9px;
line-height: 1.4;
color: #333;
text-align: justify;
}
.room-images-grid {
display: table;
width: 100%;
table-layout: fixed;
margin-bottom: 10px;
}
.room-image-item {
display: table-cell;
padding: 2px;
vertical-align: top;
}
.room-image-item.main-image {
width: 50%;
padding-right: 5px;
}
.room-image-item.sub-image {
width: 25%;
padding: 0 2px;
}
.room-img {
width: 100%;
height: 120px;
object-fit: cover;
border-radius: 4px;
}
.room-img-placeholder {
width: 100%;
height: 120px;
background: #f0f0f0;
display: flex;
align-items: center;
justify-content: center;
color: #999;
font-size: 8px;
border-radius: 4px;
}
.room-extras {
display: table-cell;
width: 15%;
padding-left: 10px;
vertical-align: top;
}
.view-360 {
margin-bottom: 10px;
text-align: center;
}
.view-360-icon {
width: 40px;
height: 20px;
border: 2px solid #333;
border-radius: 15px;
display: flex;
align-items: center;
justify-content: center;
font-size: 8px;
font-weight: bold;
margin: 0 auto;
}
.qr-code-small {
text-align: center;
}
.room-footer {
border-top: 1px solid #eee;
padding-top: 5px;
text-align: center;
}
.room-header, .facility-header {
background: linear-gradient(135deg, #c4a575 0%, #b8985f 100%);
color: white;
padding: 10px;
font-weight: bold;
text-align: center;
}
.room-content, .facility-content {
padding: 10px;
}
.room-image, .facility-image {
width: 100%;
height: 120px;
object-fit: cover;
border-radius: 4px;
margin-bottom: 10px;
}
.room-features, .facility-features {
font-size: 9px;
line-height: 1.5;
}
.room-features li, .facility-features li {
margin-bottom: 3px;
padding-left: 5px;
}
.certificates-grid {
display: table;
width: 100%;
table-layout: fixed;
border-collapse: separate;
border-spacing: 0;
}
.certificate-row {
display: table-row;
}
.certificate-item {
display: table-cell;
width: 16.66%;
text-align: center;
padding: 12px 5px;
vertical-align: top;
box-sizing: border-box;
}
.certificate-image {
width: 60px;
height: 60px;
margin: 0 auto 10px auto;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 10px;
font-weight: bold;
color: white;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.certificate-name {
font-size: 8px;
font-weight: bold;
color: #333;
text-align: center;
line-height: 1.2;
word-wrap: break-word;
overflow-wrap: break-word;
max-width: 100%;
min-height: 32px;
display: flex;
align-items: center;
justify-content: center;
}
.contact-info {
text-align: center;
margin-top: 20px;
padding: 15px;
/* background: #bdbdbd; */
border-radius: 8px;
}
.contact-info p {
margin-bottom: 5px;
font-size: 10px;
}
.amenities-list {
display: table;
width: 100%;
table-layout: fixed;
}
.amenity-column {
display: table-cell;
width: 33.33%;
padding: 0 10px;
vertical-align: top;
}
.amenity-column ul {
list-style: none;
padding: 0;
}
.amenity-column li {
padding: 3px 0;
font-size: 9px;
border-bottom: 1px dotted #cccccc;
word-break: break-word;
white-space: normal;
}
.amenity-column li strong {
word-break: break-word;
white-space: normal;
}
.amenity-column li p {
word-break: break-word;
white-space: normal;
display: inline;
}
.amenity-column li:before {
content: "";
color: {{$colorCodes[0]['color_code'] ?? '$c4a575'}};
font-weight: bold;
margin-right: 5px;
font-family: DejaVu Sans !important;
}
.location-image {
width: 100%;
height: 200px;
object-fit: cover;
border-radius: 8px;
margin-bottom: 15px;
}
.page-break {
page-break-before: always;
}
.qr-code {
width: 60px;
height: 60px;
float: right;
margin-left: 10px;
}
.restaurant-grid {
display: table;
width: 100%;
table-layout: fixed;
}
.restaurant-item {
display: table-cell;
width: 20%;
padding: 5px;
vertical-align: top;
}
.restaurant-image {
width: 100%;
height: 60px;
object-fit: cover;
border-radius: 4px;
margin-bottom: 5px;
}
.restaurant-name {
font-size: 8px;
font-weight: bold;
text-align: center;
color: #c4a575;
margin-bottom: 3px;
}
.restaurant-type {
font-size: 7px;
text-align: center;
color: #666;
}
.star-rating {
color: #fcbf02;
font-size: 14px;
}
.highlight-box {
background: #fff8e1;
border-left: 4px solid #c4a575;
padding: 10px;
margin: 10px 0;
}
.small-text {
font-size: 8px;
color: #666;
}
.bold {
font-weight: bold;
}
.text-center {
text-align: center;
}
.mb-10 {
margin-bottom: 10px;
}
.mb-15 {
margin-bottom: 15px;
}
.footer {
text-align: center;
font-size: 8px;
color: #666;
margin-top: 20px;
padding: 10px;
border-top: 1px solid #ddd;
}
/* Room Card New Styles */
.room-card-new {
background: white;
border-radius: 0px;
/* margin-bottom: 15px; */
margin-top: 20px;
/* padding: 15px; */
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
border-left: 2px solid {{$colorCodes[0]['color_code'] ?? '$c4a575'}};
font-size: 11px !important;
}
.place-card-new {
background: white;
border-radius: 8px;
/* margin-bottom: 15px; */
margin-top: 30px;
/* padding: 15px; */
padding-right: 15px;
padding-left: 15px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
border-left: 4px solid {{$colorCodes[0]['color_code'] ?? '$c4a575'}};
}
/* }
.room-card-new:first-child {
margin-top: 20px;
}
.room-card-new:not(:first-child) {
margin-top: 20px;
} */
.room-header-new {
display: table;
width: 100%;
/* margin-bottom: 10px; */
border-bottom: 1px solid #eee;
padding-bottom: 8px;
}
.room-title {
display: table-cell;
width: 75%;
font-size: 12px;
font-weight: bold;
color: #333;
vertical-align: middle;
}
.room-size {
display: table-cell;
width: 25%;
text-align: right;
font-size: 10px;
color: {{$colorCodes[0]['color_code'] ?? '$c4a575'}};
vertical-align: middle;
}
.size-icon {
display: inline-block;
width: 16px;
height: 16px;
background: #c4a575;
border-radius: 50%;
text-align: center;
line-height: 16px;
font-size: 8px;
color: white;
margin-right: 5px;
}
.room-features-new {
margin-bottom: 10px;
}
.features-text {
font-size: 9px;
line-height: 1.4;
color: #555;
text-align: justify;
}
.room-images-grid {
display: table;
width: 100%;
table-layout: fixed;
margin-bottom: 10px;
}
.room-image-item {
display: table-cell;
padding: 2px;
vertical-align: top;
}
.main-image {
width: 50%;
}
.sub-image {
width: 25%;
}
.room-img {
width: 100%;
height: 60px;
object-fit: cover;
border-radius: 4px;
}
.room-img-placeholder {
width: 100%;
height: 60px;
background: #f0f0f0;
border-radius: 4px;
display: flex;
align-items: center;
justify-content: center;
color: #999;
font-size: 8px;
}
.room-extras {
display: table-cell;
width: 20%;
padding: 2px;
vertical-align: top;
}
.view-360, .qr-code-small {
width: 100%;
height: 28px;
background: #f8f9fa;
border-radius: 4px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 4px;
font-size: 8px;
color: #666;
}
.view-360-icon {
font-weight: bold;
color: #c4a575;
}
.room-footer {
margin-top: 10px;
padding-top: 8px;
border-top: 1px solid #eee;
}
/* New Image Layout Styles */
.room-images-layout {
display: table;
width: 100%;
table-layout: fixed;
margin-bottom: 0px;
}
.room-main-image {
display: table-cell;
width: 60%;
padding-right: 8px;
vertical-align: top;
}
.room-sub-images {
display: table-cell;
width: 40%;
vertical-align: top;
}
.room-sub-image {
width: 100%;
margin-bottom: 6px;
}
.room-sub-image:last-child {
margin-bottom: 0;
}
.features-text p {
/* display: inline-block */
}
.background-image-hd {
background-size: cover !important;
background-position: center !important;
background-repeat: no-repeat !important;
background-attachment: fixed !important;
image-rendering: -webkit-optimize-contrast !important;
image-rendering: crisp-edges !important;
image-rendering: pixelated !important;
-webkit-print-color-adjust: exact !important;
print-color-adjust: exact !important;
-webkit-filter: contrast(1.1) brightness(1.05) !important;
filter: contrast(1.1) brightness(1.05) !important;
}
@media print {
.background-image-hd {
background-attachment: scroll !important;
-webkit-print-color-adjust: exact !important;
print-color-adjust: exact !important;
image-rendering: -webkit-optimize-contrast !important;
image-rendering: optimizeQuality !important;
background-size: cover !important;
transform: scale(1.001) !important;
}
}
.note-box {
border: 1px solid {{$colorCodes[0]['color_code'] ?? '$c4a575'}};
border-right: 2px solid {{$colorCodes[0]['color_code'] ?? '$c4a575'}};
border-bottom: 2px solid {{$colorCodes[0]['color_code'] ?? '$c4a575'}};
padding: 10px;
margin-bottom: 10px;
font-size: 10px;
line-height: 1.6;
border-radius: 4px;
padding-top:15px !important;
}
.notes-title {
font-weight: bold;
font-size: 14px;
margin-bottom: 10px;
}
.star-rating {
font-family: DejaVu Sans !important;
}
.ff-dejavu {
font-family: DejaVu Sans !important;
}
.info-table-places tr td {
border-top: none !important;
border-left: none !important;
border-right: none !important;
border-bottom: none !important;
margin-top: 1px !important;
}
.amenity-facts-wrapper {
display: flex;
flex-wrap: wrap;
gap: 4px;
}
.amenity-facts-wrapper p {
display: inline-block;
max-width: 220px;
margin: 0;
word-break: break-word;
white-space: normal;
}
.photo-gallery-grid {
display: flex;
gap: 12px;
margin-top: 10px;
align-items: flex-start;
}
.gallery-main-photo {
flex: 2;
}
.gallery-main-photo img {
width: 100%;
height: 220px;
object-fit: cover;
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.gallery-side-photos {
flex: 1;
display: flex;
flex-direction: column;
gap: 8px;
padding-left: 10px;
}
.gallery-side-photo img {
width: 100%;
height: 50px;
object-fit: cover;
border-radius: 6px;
box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
.room-facts-box {
display: table !important;
width: 100% !important;
height: 400px !important;
border-radius:0px !important;
}
.no-table-border {
border: none !important;
border-bottom: none !important;
border-top: none !important;
border-right: none !important;
border-left: none !important
}
</style>
</head>
<body>
<div class="container">
<!-- Header Section -->
<?php
$defaultPhoto = collect($pageContent['property_photo'])->where('is_default',1)->first();
$defaultPhoto = $defaultPhoto ? $defaultPhoto['photoUrl']['default'] : $pageContent['property_photo'][0]['photoUrl']['default'];
?>
<div class="header" style="height:490px!important;padding-right:20px;padding-left:20px;background: url({{$defaultPhoto}}) center center / cover no-repeat; position: relative;">
<div style="background: rgba(0, 0, 0, 0.35); position: absolute; top: 0; left: 0; width: 980px; height: 510px;border-radius:8px"></div>
{{-- @if(isset($pageContent['property_brand']['logoUrl']))
<img src="{{ $pageContent['property_brand']['logoUrl'] }}" alt="Hotel Logo" class="logo" style="position: relative; z-index: 2; max-width: 150px;max-height:125px; margin: 20px;margin-top:0px">
@endif --}}
<div class="hotel-name" style="position: relative; z-index: 2; color: white; font-size: 36px; font-weight: bold; text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);">
{{ $pageContent['name'] ?? 'Hotel' }}
</div>
@if(isset($pageContent['property_brand']['summary']))
<div class="hotel-subtitle" style="position: relative; z-index: 2; color: white; font-size: 14px; text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);">
{{-- <strong>{{ __($pageContent['property_type_language_key']) }}</strong> --}}
{!! \Illuminate\Support\Str::limit(nl2br($pageContent['property_brand']['summary']), 250, '...') !!}
</div>
@endif
</div>
<div class="page-break"></div>
<!-- Hotel Information Section -->
<div class="section" style="padding-top: 20px">
<div class="section-header">
{{__('be-search-hotel_info-title')}}
</div>
<div class="section-content" style="font-size: 10px !important">
<div class="two-column">
<div class="column">
<table class="info-table">
@if(!empty($pageContent['property_chain']))
<tr>
<td>{{ __('enw-input-chain_type') }}</td>
<td> {{ __( $pageContent['property_chain']) }}</td>
</tr>
@endif
@if(!empty($pageContent['property_contact']['address']))
<tr>
<td>{{ __('enw-input-address') }}</td>
<td>{{ $pageContent['property_contact']['address'] }}</td>
</tr>
@endif
@if(!empty($pageContent['property_contact']['phone']))
<tr>
<td>{{ __('enw-input-phone') }}</td>
<td>{{ $pageContent['property_contact']['phone'] }}</td>
</tr>
@endif
@foreach(array_slice($pageContent['additional_info'], 0, 5) as $additionalInfo)
@if($additionalInfo['value'] != "")
<tr>
<td>{{ __($additionalInfo['language_key']) }}</td>
<td>{{ $additionalInfo['name'] != "minimum_age_policy" && $additionalInfo['value'] == "1" ? __('enw-input-checkbox-yes') : ($additionalInfo['name'] != "minimum_age_policy" && $additionalInfo['value'] == "0" ? __('enw-input-checkbox-yes') : $additionalInfo['value']) }}</td>
</tr>
@endif
@endforeach
</table>
</div>
<div class="column">
@php
$rowCount3 = 0;
if(!empty($pageContent['additional_info']['year_construction'])) $rowCount3++;
if(!empty($pageContent['property_type']) && !empty($pageContent['property_type_language_key'])) $rowCount3++;
if(!empty($pageContent['additional_info']['number_of_rooms'])) $rowCount3++;
if(!empty($pageContent['property_contact']['address'])) $rowCount3++;
if(!empty($pageContent['property_contact']['view_full_phone'])) $rowCount3++;
if(!empty($pageContent['property_chain'])) $rowCount3++;
if(!empty($pageContent['official_name'])) $rowCount3++;
if(!empty($pageContent['additional_info']['pet_allowed'])) $rowCount3++;
if(!empty($pageContent['property_language_spoken'])) $rowCount3++;
$tableHeight1 = max(150, $rowCount3 * 38);
@endphp
<div style="height:{{$tableHeight1 + 200}}px;padding-right:20px;padding-left:20px;background: url({{$pageContent['property_photo'][1]['photoUrl']['default'] ?? ''}}) center center / cover no-repeat; position: relative;border-radius:4px"></div>
</div>
</div>
</div>
</div>
<div class="page-break"></div>
<div class="section" style="padding-top: 20px;border:none!important;">
<div class="section-content" style="font-size: 10px !important; height: 440px; display: table; width: 100%;border:none!important;">
<div style="display: table-cell; vertical-align: middle; width: 100%;border:none!important;">
<div class="two-column" style="width: 100%;">
<div class="column">
<table class="info-table no-table-border">
@if(!empty($pageContent['property_contact']['email']))
<tr class="no-table-border">
<td class="no-table-border">{{ __('enw-input-email') }}</td>
<td class="no-table-border">{{ $pageContent['property_contact']['email'] }}</td>
</tr>
@endif
@foreach(array_slice($pageContent['additional_info'], 7, 8) as $additionalInfo)
@if($additionalInfo['value'] != "")
<tr class="no-table-border">
<td class="no-table-border">{{ __($additionalInfo['key']) }}</td>
<td class="no-table-border">{{ $additionalInfo['name'] != "minimum_age_policy" && $additionalInfo['value'] == "1" ? __('enw-input-checkbox-yes') : ($additionalInfo['name'] != "minimum_age_policy" && $additionalInfo['value'] == "0" ? __('enw-input-checkbox-yes') : $additionalInfo['value']) }}</td>
</tr>
@endif
@endforeach
@if(!empty($pageContent['property_contact']['web']))
<tr class="no-table-border">
<td class="no-table-border">{{ __('enw-input-web_site') }}</td>
<td class="no-table-border">{{ $pageContent['property_contact']['web'] }}</td>
</tr>
@endif
</table>
</div>
<div class="column">
{{-- @php
$rowCount2 = 0;
if(!empty($pageContent['country'])) $rowCount2++;
if(!empty($pageContent['property_contact']['email'])) $rowCount2++;
if(!empty($pageContent['property_contact']['web'])) $rowCount2++;
if(!empty($pageContent['property_contact']['view_full_fax'])) $rowCount2++;
if(!empty($pageContent['tax_office'])) $rowCount2++;
if(!empty($pageContent['tax_number'])) $rowCount2++;
if(!empty($pageContent['additional_info']['checkin_time'])) $rowCount2++;
if(!empty($pageContent['additional_info']['checkout_time'])) $rowCount2++;
if(!empty($pageContent['additional_info']['minimum_age_policy'])) $rowCount2++;
$tableHeight2 = max(150, $rowCount2 * 38);
@endphp --}}
<div style="height:{{$tableHeight1 + 200}}px;padding-right:20px;padding-left:20px;background: url({{$pageContent['property_photo'][2]['photoUrl']['default'] ?? ''}}) center center / cover no-repeat; position: relative;border-radius:4px"></div>
</div>
</div>
</div>
</div>
<div class="page-break"></div>
<!-- Rooms Section -->
@if(isset($pageContent['property_room']) && is_array($pageContent['property_room']))
<div class="section">
<div class="section-content">
@foreach($pageContent['property_room'] as $index => $room)
@if($index > 0)
<div style="height: 20px;"></div>
@endif
<div class="room-card-new" style="padding-right: 15px;padding-left: 15px;">
<div class="room-header-new">
<div class="room-title">
<strong style="font-size: 13.5px!important;text-transform: uppercase;">{{ $room['name'] }}</strong>
@if(isset($room['type']))
| <span style="color: {{$colorCodes[0]['color_code'] ?? '$c4a575'}}">{{ $room['type'] }}</span>
@endif
</div>
@if(isset($room['room_size']) && $room['room_size'])
<div class="room-size">
<span class="ff-dejavu">
<span style="font-size: 13px!important;margin-right:5px!important">&#8689;</span>
{{-- <span>&#8690;</span> --}}
{{ $room['room_size'] }} {{ $room['roomSizeTypeFormatted'] ?? 'm²' }}
</span>
</div>
@endif
</div>
<!-- Features Section -->
<div class="room-features-new">
{{-- <h4 style="color: {{$colorCodes[0]['color_code'] ?? '$c4a575'}}; margin-bottom: 8px;">{{ __('enw-rooms_features-title') }}:</h4> --}}
<div class="features-text">
@php
$features = [];
if (isset($room['max_adult'])) {
$features[] = __('enw-input-max_adults') . ': <strong>' . $room['max_adult'] . '</strong>';
}
if (isset($room['max_child'])) {
$features[] = __('enw-input-max_children') . ': <strong>' . $room['max_child'] . '</strong>';
}
if (isset($room['max_occupancy'])) {
$features[] = __('enw-input-max_room_occupancy') . ': <strong>' . $room['max_occupancy'] . '</strong>';
}
// if (isset($room['room_size']) && isset($room['room_size_type'])) {
// $features[] = __('enw-input-room_size') . ': <strong class="ff-dejavu">' . $room['room_size'] . ' ' . $room['room_size_type'] . '</strong>';
// }
if (isset($room['room_type_count'])) {
$features[] = __('enw-input-room_type_count') . ': <strong>' . $room['room_type_count'] . '</strong>';
}
if (isset($room['room_count'])) {
$features[] = __('myweb-about-general-room_count-title') . ': <strong>' . $room['room_count'] . '</strong>';
}
if (isset($room['lounge_count'])) {
$features[] = __('enw-input-number_of_lounge') . ': <strong>' . $room['lounge_count'] . '</strong>';
}
if (isset($room['bathroom_count'])) {
$features[] = __('myweb-room_detail-number_of_bathrooms-title') . ': <strong>' . $room['bathroom_count'] . '</strong>';
}
@endphp
{!! implode(', ', $features) . '' !!}
</div>
</div>
<!-- Room Images Grid -->
<div class="room-images-layout">
@if(isset($room['photo']) && is_array($room['photo']))
<div class="room-main-image background-image-hd" @if(!empty($room['photo']) && count($room['photo']) < 2) style="width:100%!important;" @endif>
{{-- @if(!empty($room['photo']) && count($room['photo']) == 1) --}}
<div style="background: url({{$room['photo'][0]['photoUrl']['default'] ?? ''}}); width:100%; height:335px; background-position:center; background-repeat:no-repeat; background-size:cover; border-radius:4px; background-attachment:fixed; image-rendering: -webkit-optimize-contrast; image-rendering: crisp-edges; -webkit-filter: contrast(1.1) brightness(1.05); filter: contrast(1.1) brightness(1.05);"></div>
{{-- @else
<img src="{{$room['photo'][0]['photoUrl']['default'] ?? ''}}" alt="room" width="100%" height="300px" style="object-fit: cover!important;border-radius:4px">
@endif --}}
{{-- <div style="background: url('{{ $room['images'][0] }}'); width:100%; height:150px; background-position:center; background-repeat:no-repeat; background-size:cover; border-radius:4px; background-attachment:fixed; image-rendering: -webkit-optimize-contrast; image-rendering: crisp-edges; -webkit-filter: contrast(1.1) brightness(1.05); filter: contrast(1.1) brightness(1.05);"></div> --}}
</div>
@if(!empty($room['photo']) && count($room['photo']) > 1)
<div class="room-sub-images">
@foreach(array_slice($room['photo'], 1, 2) as $image)
<div class="room-sub-image background-image-hd">
{{-- <img src="{{$image['photoUrl']['default']}}" alt="room" width="100%" style="object-fit: cover!important;border-radius:4px; @if(!empty($room['photo']) && count($room['photo']) < 3) height:299px; @else height:146px; @endif "> --}}
<div style="background: url({{$image['photoUrl']['default']}}); width:100%; @if(!empty($room['photo']) && count($room['photo']) < 3) height:335px; @else height:164px; @endif background-position:center; background-repeat:no-repeat; background-size:cover; border-radius:4px; margin-bottom:6px; image-rendering: -webkit-optimize-contrast; image-rendering: crisp-edges; -webkit-filter: contrast(1.1) brightness(1.05); filter: contrast(1.1) brightness(1.05);"></div>
</div>
@endforeach
</div>
@endif
@endif
</div>
</div>
{{-- <div style="text-align: center; font-size: 11px; color: black;margin-top:20px;">
{{__('myweb-rooms-title')}}
</div> --}}
{{-- <span class="ff-dejavu" style="margin-right:8px;color:{{$colorCodes[0]['color_code'] ?? '#c4a575'}}">✓</span> --}}
@if(!empty($room['fact']))
<div class="room-card-new" style="padding-right: 0px !important;padding-left:0px!important">
<div class="room-facts-box" style=" box-shadow: 0 2px 8px rgba(0,0,0,0.06); padding: 18px 15px; margin-top: 0px; margin-bottom: 0px; max-width: 100%;">
<div style="display: table-cell;text-aling:center;vertical-align:middle;">
<div style="font-size: 14px; font-weight: bold; color: {{$colorCodes[0]['color_code'] ?? '#c4a575'}}; margin-bottom: 12px;">
<div class="room-header-new">
<div class="room-title">
<strong style="font-size: 13.5px!important;color:#333!important;text-transform: uppercase;">{{ $room['name'] }}</strong>
| <span style="font-size:11px;color: {{$colorCodes[0]['color_code'] ?? '$c4a575'}}">{{ __('myweb-room_detail-room_features-title') }}</span>
</div>
</div>
</div>
<table style="width:100%; table-layout:fixed;">
<tr>
@foreach(array_slice($room['fact'], 0, 48) as $i => $fact)
@if(isset($fact['name']))
<td style="width:25%; font-size:11px; padding-bottom:7px; vertical-align:top; word-break:break-word;">
<span class="ff-dejavu" style="color:{{$colorCodes[0]['color_code'] ?? '#c4a575'}}; font-size:13px; margin-right:6px;">✓</span>
<span style="text-transform: uppercase;">{{ $fact['name'] }}</span>
</td>
@if(($i + 1) % 4 == 0 && $i + 1 < count($room['fact']))
</tr><tr>
@endif
@endif
@endforeach
@for($j = 0; $j < (4 - (count($room['fact']) % 4)) % 4; $j++)
<td style="width:25%;"></td>
@endfor
</tr>
</table>
</div>
</div>
{{-- <div style="text-align: center; font-size: 11px; color: black;margin-top:5px;">
{{ __('myweb-room_detail-room_features-title') }}
</div> --}}
</div>
@endif
@if($index < count($pageContent['property_room']) - 1)
<div class="page-break"></div>
@endif
@endforeach
</div>
</div>
@endif
<!-- Places Section -->
@if(isset($pageContent['property_place']) && is_array($pageContent['property_place']))
<div class="page-break"></div>
<div class="section">
{{-- <div class="section-header">
{{__('btn-places')}}
</div> --}}
@foreach($pageContent['property_place'] as $index => $place)
{{-- @if($index > 0)
<div style="height: 50px"></div>
@endif --}}
<div class="section-content" @if(empty($place['photo'][0]['photoUrl']['fixed'])) style="padding-top: 80px;font-size: 10px !important;" @else style="padding-top: 0px;font-size: 10px !important;" @endif>
<div class="two-column" style="display: table; width: 100%; table-layout: fixed;">
<div class="column" style="display: table-cell; vertical-align: middle;@if(empty($place['photo'][0]['photoUrl']['fixed'])) width: 100%!important @endif">
<table class="info-table info-table-places">
@if(!empty($place['name']))
<tr style="border: none !important; border-bottom: none !important; border-top: none !important;">
<td colspan="2"
style="color:#fff!important;
text-align:center;
background: {{$colorCodes[0]['color_code'] ?? '#c4a575'}} !important;
border: none !important;
border-bottom: none !important;
border-top: none !important;
font-weight: bold;
font-size: 18px;
padding-top: 14px;
padding-bottom: 14px;
z-index:5;">
<strong>
@if(!empty($place['languageNameArray']) && $place['languageNameArray'][app('translator')->getLocale()] != null)
{{ $place['languageNameArray'][app('translator')->getLocale()] }}
@else
<span style="text-transform: uppercase;">{{$place['name']}}</span>
@endif
</strong>
</td>
</tr>
@endif
@if(!empty($place['field']))
@foreach(array_slice($place['field'], 0, 4) as $field)
@if(!empty($field['option_value']) || !empty($field['input_value']))
<tr @if(count($place['fact']) > 6) style="display: none!important" @endif>
<td>
{{$field['name']}}
</td>
<td>
@if(!empty($field['input_value']) && $field['input_value'] != "")
{{$field['input_value']}} <span class="ff-dejavu">{{$field['unit'] ?? ''}}</span>
@endif
@if(!empty($field['option_value']) && $field['option_value'] != "")
{{ __($field['option_value']['language_key']) }}</span>
@endif
</td>
</tr>
@endif
@endforeach
@endif
@if(!empty($place['fact']))
@foreach(array_slice($place['fact'], 0, 8) as $facts)
<tr>
<td>{{$facts['name']}}</td>
<td>
@foreach(array_slice($facts['fact'], 0, 7) as $fact)
{{$fact['name']}}{{$loop->last ? '' : ','}}
@endforeach
</td>
</tr>
@endforeach
@endif
</table>
</div>
@if(!empty($place['photo'][0]['photoUrl']['fixed']))
<div class="column" style="display: table-cell; vertical-align: middle; height:90%;">
<div style="height:350px;padding-right:20px;padding-left:20px;background: url({{$place['photo'][0]['photoUrl']['fixed']}}) center center / cover no-repeat; position: relative;border-radius:4px"></div>
</div>
@endif
</div>
@php
$fieldCount = 0;
$factCount = count($place['fact']);
$total = 0;
if ($place['field'] == null) {
$place['field'] = [];
}
if ($place['fact'] == null) {
$place['fact'] = [];
}
foreach ($place['field'] as $field) {
if ($field['input_value'] != "" || $field['input_value'] != null && $field['option_value'] != "" || $field['option_value'] != null) {
$fieldCount++;
}
}
$total = $fieldCount + $factCount;
@endphp
@if(isset($place['category']))
<div style="text-align: center; font-size: 11px; color: black;@if(empty($place['photo'][0]['photoUrl']['fixed']) && $total > 0 && $total < 4) padding-top:220px; @elseif(empty($place['photo'][0]['photoUrl']['fixed']) && $total > 3 && $total < 6) padding-top:130px; @elseif(empty($place['photo'][0]['photoUrl']['fixed']) && $total == 0) padding-top:300px; @elseif(empty($place['photo'][0]['photoUrl']['fixed']) && $total > 5 && $total < 7) padding-top:80px; @else margin-top:5px; @endif">
{{$place['category']}}
</div>
@endif
</div>
@if($index < count($pageContent['property_place']) - 1)
<div class="page-break"></div>
@endif
@endforeach
</div>
@endif
<!-- Staff Section -->
@if(!empty($pageContent['property_executive']))
<div class="page-break"></div>
<div class="section" @if(count($pageContent['property_executive']) < 8) style="padding-top: 80px" @else style="padding-top: 0px" @endif>
<div class="section-header">
{{ __('enw-general-tab-employees') }}
</div>
<div class="section-content">
<table class="staff-table" style="font-size:10px!important">
<thead>
<tr>
<th>{{ __('enw-input-contact_type') }}</th>
<th>{{ __('enw-input-name_surname') }}</th>
<th>{{ __('enw-input-email') }}</th>
<th>{{ __('enw-input-phone') }}</th>
<th>{{ __('enw-input-mobile_phone') }}</th>
<th>{{ __('enw-input-fax') }}</th>
</tr>
</thead>
<tbody>
@foreach($pageContent['property_executive'] as $staff)
<tr>
<td>{{ isset($staff['type']) && $staff['type'] != "" ? $staff['type'] : '-' }}</td>
<td>{{ isset($staff['name']) && $staff['name'] != "" ? $staff['name'] : '-' }}</td>
<td>{{ isset($staff['email']) && $staff['email'] != "" ? $staff['email'] : '-' }}</td>
<td>{{ isset($staff['phone']) && $staff['phone'] != "" ? $staff['phone'] : '-' }}</td>
<td>{{ isset($staff['mobile']) && $staff['mobile'] != "" ? $staff['mobile'] : '-' }}</td>
<td>{{ isset($staff['fax']) && $staff['fax'] != "" ? $staff['fax'] : '-' }}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
<div class="page-break"></div>
@endif
<!-- Amenities Section -->
@if(!empty($pageContent['property_fact']))
@if(isset($pageContent['property_fact']['amenities']))
<div class="section">
{{-- <div class="section-header">
{{__('myweb-about-amenities_facility-title')}}
</div> --}}
<div class="section-content">
<div class="amenities-list">
<div class="amenity-column">
<h4 style="color: {{$colorCodes[0]['color_code'] ?? '$c4a575'}}; margin-bottom: 10px;font-size:14px!important">{{ __('property_fact-amenities') }}</h4>
<ul style="font-size: 12px !important">
@foreach($pageContent['property_fact']['amenities']['fact'] as $subcategory)
<li>
<strong>{{ __($subcategory['language_key'] ?? $subcategory['name'] ?? '') }}</strong>:
@if(isset($subcategory['fact']) && is_array($subcategory['fact']) && count($subcategory['fact']) > 0)
{{ implode(', ', array_map(function($fact) { return __($fact['language_key'] ?? $fact['name'] ?? $fact); }, $subcategory['fact'])) }}
@endif
</li>
@endforeach
</ul>
</div>
</div>
</div>
</div>
@endif
@if(isset($pageContent['property_fact']['facilities']))
<div class="page-break"></div>
<div class="section">
{{-- <div class="section-header">
{{__('myweb-about-amenities_facility-title')}}
</div> --}}
<div class="section-content">
<div class="amenities-list">
<div class="amenity-column">
<h4 style="color: {{$colorCodes[0]['color_code'] ?? '#c4a575'}}; margin-bottom: 10px;font-size:14px!important">{{ __('property_fact-facilities') }}</h4>
<ul style="font-size: 12px !important">
@foreach($pageContent['property_fact']['facilities']['fact'] as $subcategory)
<li>
<strong>{{ __($subcategory['language_key'] ?? $subcategory['name'] ?? '') }}</strong>:
@if(isset($subcategory['fact']) && is_array($subcategory['fact']) && count($subcategory['fact']) > 0)
{{ implode(', ', array_map(function($fact) { return __($fact['language_key'] ?? $fact['name'] ?? $fact); }, $subcategory['fact'])) }}
@endif
</li>
@endforeach
</ul>
</div>
</div>
</div>
</div>
@endif
{{-- <div style="positon:relative;text-align: center; font-size: 11px; color: black;margin-top:0px;">
{{__('myweb-about-amenities_facility-title')}}
</div> --}}
{{-- <div class="page-break"></div> --}}
@endif
<!-- Awards and Certificates Section -->
@if(isset($pageContent['property_awards_certificates']))
{{-- @php
$certificates = explode(',', $pageContent['property_awards_certificates']);
$certificates = array_filter($certificates, function($cert) {
return trim($cert) !== '';
});
@endphp --}}
{{-- @if(count($pageContent['property_awards_certificates']) > 3) --}}
<div class="page-break"></div>
{{-- @endif --}}
<div class="section" style="padding-top: 0px">
<div class="section-header">
{{ __('enw-input-award_and_certificate') }}
</div>
<div class="section-content">
<table style="width: 100%; border-collapse: collapse; margin-bottom: 10px;font-size:10px!important;">
<tbody>
@foreach(array_chunk($pageContent['property_awards_certificates'], 6) as $certificateRow)
<tr>
@foreach($certificateRow as $certificate)
<td style="width: 16.66%; text-align: center; padding: 8px; vertical-align: top; border-bottom: 1px dotted #ddd;font-family: DejaVu Sans, sans-serif !important;">
<div style="font-size: 8px; font-weight: bold; color: #333; line-height: 1.2; word-wrap: break-word;">
{{ trim($certificate['name']) }}
</div>
</td>
@endforeach
{{-- @if(count($certificateRow) < 6)
@for($i = count($certificateRow); $i < 6; $i++)
<td style="width: 16.66%; text-align: center; padding: 8px; vertical-align: top; border-bottom: 1px dotted #ddd;font-family: DejaVu Sans, sans-serif !important;">
&nbsp;
</td>
@endfor
@endif --}}
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
<!-- Page Break -->
{{-- <div class="page-break"></div> --}}
@endif
<!-- Photo Gallery Section -->
@if(!empty($pageContent['property_photo']))
<div class="section" style="padding-top: 0px">
{{-- <div class="section-header">
{{ __('enw-input-photo_gallery') }}
</div> --}}
<div class="section-content">
<div class="photo-gallery-grid" style="display: table; width: 100%; table-layout: fixed;">
<div class="gallery-main-photo" style="display: table-cell; width: 60%; vertical-align: top;">
<div style="width:100%; height:470px; border-radius:8px; box-shadow:0 2px 8px rgba(0,0,0,0.08); background: url({{$pageContent['property_photo'][0]['photoUrl']['default']}}) center center / cover no-repeat;">
</div>
</div>
<div class="gallery-side-photos" style="display: table-cell; width: 40%; vertical-align: top;">
@foreach(array_slice($pageContent['property_photo'], 1, 3) as $img)
<div class="gallery-side-photo" style="width:100%; height:151px; margin-bottom:8px; border-radius:6px; box-shadow:0 1px 4px rgba(0,0,0,0.06); background: url({{$img['photoUrl']['default']}}) center center / cover no-repeat;">
</div>
@endforeach
</div>
</div>
</div>
</div>
@endif
{{-- @if(isset($pageContent['property_brand']['title']))
<div class="page-break"></div>
<div class="section">
<div class="section-header">
{{__('enw-input-description')}}
</div>
@php
$hotelDescriptions = json_decode($pageContent['property_brand']['title'], true);
@endphp
@foreach($hotelDescriptions as $lang => $description)
@if(isset($description))
<div class="note-box">
<p style="font-size: 14px;font-weight:600">{{$lang}}</p>
<p @if($lang == "ka") class="ff-dejavu" @endif>{!! nl2br(e($description)) !!}</p>
</div>
@endif
@endforeach
</div>
@endif --}}
<!-- Contact Information -->
{{-- <div style="background: rgba(255, 255, 255, 0.5); position: absolute; top: 245px; left: 0; width: 941px; height: 20px;border-radius:0px"></div> --}}
<div style="padding-top: 10px!important">
<div class="header" style="height:490px!important;padding-right:20px;padding-left:20px;background: url({{$pageContent['property_photo'][4]['photoUrl']['default'] ?? $pageContent['property_photo'][0]['photoUrl']['default'] ?? ''}}) center center / cover no-repeat; position: relative;">
<div style="background: rgba(0, 0, 0, 0.4); position: absolute; top: 0; left: 0; width: 980px; height: 510px;border-radius:8px"></div>
<div style="background: rgba(255, 255, 255, 0.8); position: absolute; top: 150px; left: 0; width: 941px; height: 200px;border-radius:0px"></div>
<div class="hotel-name" style="margin-top:130px;position: relative; z-index: 2; color: black; font-size: 15px; font-weight: bold; text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);">
@if(isset($pageContent['name']))<p style="font-size: 16px!important"><strong>{{ $pageContent['name'] }}</strong></p> @endif
@if(isset($pageContent['property_contact']['address']))<p>{{ $pageContent['property_contact']['address']}} </p>@endif
<p>@if(isset($pageContent['property_contact']['phone'])) {{ __('enw-input-phone') }}: {{ $pageContent['property_contact']['phone'] }} @endif | @if(isset($pageContent['property_contact']['email'])) {{ __('enw-input-email') }}: {{ $pageContent['property_contact']['email'] }} @endif</p>
@if(isset($pageContent['property_contact']['web']))<p>{{ $pageContent['property_contact']['web']}} </p>@endif
</div>
</div>
</div>
{{-- <div class="contact-info">
<div class="two-column" style="display: table; width: 100%; table-layout: fixed;height:470px;">
<div class="column" style="font-size:16px;color:#fff;display: table-cell; vertical-align: middle;width: 100%!important;background: url({{$pageContent['property_photo'][4]['photoUrl']['default'] ?? $pageContent['property_photo'][0]['photoUrl']['default'] ?? ''}}) center center / cover no-repeat;">
<div style="background: rgba(0, 0, 0, 0.35); position: absolute; top: 0; left: 0; width: 940px; height: 490px;border-radius:8px"></div>
@if(isset($pageContent['name']))<p><strong>{{ $pageContent['name'] }}</strong></p> @endif
@if(isset($pageContent['property_contact']['address']))<p>{{ $pageContent['property_contact']['address']}} </p>@endif
<p>@if(isset($pageContent['property_contact']['phone'])) {{ __('enw-input-phone') }}: {{ $pageContent['property_contact']['phone'] }} @endif | @if(isset($pageContent['property_contact']['email'])) {{ __('enw-input-email') }}: {{ $pageContent['property_contact']['email'] }} @endif</p>
@if(isset($pageContent['property_contact']['social_media_addresses']))
@php
$socialMedia = json_decode($pageContent['property_contact']['social_media_addresses'], true);
@endphp
@if(isset($socialMedia['facebook']) && $socialMedia['facebook'])
<p>Facebook: {{ $socialMedia['facebook'] }}</p>
@endif
@if(isset($socialMedia['instagram']) && $socialMedia['instagram'])
<p>Instagram: {{ $socialMedia['instagram'] }}</p>
@endif
@if(isset($socialMedia['twitter']) && $socialMedia['twitter'])
<p>Twitter: {{ $socialMedia['twitter'] }}</p>
@endif
@endif
@if(isset($pageContent['property_contact']['web']))<p>{{ $pageContent['property_contact']['web']}} </p>@endif
</div>
</div>
</div> --}}
</div>
</body>
</html>