@extends('layouts.previews.intercontinental')
@php
use App\Enums\ElementType;
use App\Enums\PlanListDefault;
use App\Enums\CustomElementType;
use App\Enums\PlanCategory;
use App\Enums\LinkingTagTarget;
use App\Enums\LinkingTagType;
$targetTags = [];
$linkingTags = [];
$substring = 'post_';
foreach ($planData as $key => $plan) {
if (!empty($plan['linking_tags'])) {
foreach ($plan['linking_tags'] as $linkingTag) {
if ($linkingTag['target']) {
if (empty($targetTags[$linkingTag['target']])) {
$targetTags[$linkingTag['target']] = [];
}
if (!empty($linkingTag['target_id'])) {
$targetTags[$linkingTag['target']][] = $linkingTag['target_id'];
$targetTags[$linkingTag['target']] = array_unique($targetTags[$linkingTag['target']]);
}
}
}
}
}
foreach ($project->linkingTags as $linkingTag) {
if ($linkingTag->type == LinkingTagType::POST) {
$linkingTags[] = $substring . $linkingTag->target;
} else {
$linkingTags[] = $linkingTag->target;
}
}
uksort($targetTags, function ($a, $b) use ($linkingTags) {
return array_search($a, $linkingTags) <=> array_search($b, $linkingTags);
});
$namePostGroups = $project->postGroups->groupBy(function ($postGroup) use ($substring) {
return $substring . $postGroup['id'];
});
$roomMap = collect($roomInformations)->keyBy('id');
$restaurantMap = collect($restaurantInformations)->keyBy('id');
$banquetMap = collect($banquetInfo)->keyBy('id');
$postMap = collect($postList)->keyBy('id');
@endphp
@section('content')
@foreach ($elements as $item)
@if (fieldPropertyValue('status', $item))
@if (fieldPropertyValue('element_type', $item) == ElementType::DEFAULT)
@switch(fieldPropertyValue('default_element_type', $item))
@case(PlanListDefault::PLAN)
@foreach ($targetTags as $key => $linkingTag)
- ALL
@foreach ($linkingTag as $targetTag)
@php
$dataTarget = [];
@endphp
@switch($key)
@case(LinkingTagTarget::ROOM)
@php
$dataTarget = $roomMap->get($targetTag);
@endphp
@if ($dataTarget)
-
{{ setTextDefault(textLocale('name', $dataTarget, $lang)) }}
@endif
@break
@case(LinkingTagTarget::RESTAURANT)
@php
$dataTarget = $restaurantMap->get($targetTag);
@endphp
@if ($dataTarget)
-
{{ setTextDefault(textLocale('name', $dataTarget, $lang)) }}
@endif
@break
@case(LinkingTagTarget::BANQUET)
@php
$dataTarget = $banquetMap->get($targetTag);
@endphp
@if ($dataTarget)
-
{{ setTextDefault(textLocale('banquet_name', $dataTarget, $lang)) }}
@endif
@break
@default
@php
$dataTarget = $postMap->get($targetTag);
@endphp
@if ($dataTarget)
-
{{ setTextDefault(textLocale('name', $dataTarget, $lang)) }}
@endif
@break
@endswitch
@endforeach
@endforeach
@break
@endswitch
@endif
@if (fieldPropertyValue('element_type', $item) == ElementType::CUSTOM && fieldPropertyValue('custom_element_type', $item) == CustomElementType::CONTACT)
@include('preview.intercontinental.customs.contactContent')
@endif
@endif
@if (fieldPropertyValue('element_type', $item) == ElementType::CUSTOM && (textLocale('status', $item, $lang)))
@if (fieldPropertyValue('custom_element_type', $item) >= CustomElementType::ONE_COLUMN &&
fieldPropertyValue('custom_element_type', $item) <= CustomElementType::SIDE_CONTENT_V2)
@include('preview.customs.customContent')
@endif
@endif
@endforeach
@endsection