@php $siteSettings = $siteSettings ?? (function () { try { return app(\App\Settings\SiteSettings::class); } catch (\Throwable $e) { return new \stdClass(); } })(); $layoutType = $data['layout_type'] ?? '4_images_grid'; $gridColumns = $data['grid_columns'] ?? '4'; $showMainTitle = $data['show_main_title'] ?? false; $mainTitle = $data['main_title'] ?? ""; $mainSubtitle = $data['main_subtitle'] ?? ""; $items = $data['items'] ?? []; $bgColor = $data['bg_color'] ?? '#F8FAFC'; $showBorder = $data['show_border'] ?? true; $roundedCorners = $data['rounded_corners'] ?? true; $hoverEffect = $data['hover_effect'] ?? true; $gap = $data['gap'] ?? 24; // Columns grid mapping $colClasses = [ '2' => 'grid-cols-1 md:grid-cols-2', '3' => 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3', '4' => 'grid-cols-1 md:grid-cols-2 lg:grid-cols-4', '5' => 'grid-cols-1 md:grid-cols-3 lg:grid-cols-5', ]; $colClass = $colClasses[$gridColumns] ?? $colClasses['4']; $resolveUploadValue = function (mixed $value) use (&$resolveUploadValue): ?string { if (is_string($value) && $value !== '') { return $value; } if (! is_array($value)) { return null; } foreach (['path', 'url', 'temporaryUrl', 'preview_url'] as $key) { if (! empty($value[$key]) && is_string($value[$key])) { return $value[$key]; } } foreach ($value as $item) { $resolved = $resolveUploadValue($item); if ($resolved) { return $resolved; } } return null; }; $toImageUrl = function (mixed $value) use ($resolveUploadValue): ?string { $resolved = $resolveUploadValue($value); if (! $resolved) { return null; } if (str_starts_with($resolved, 'http://') || str_starts_with($resolved, 'https://') || str_starts_with($resolved, 'data:')) { return $resolved; } if (str_starts_with($resolved, '/storage/')) { return url($resolved); } return asset('storage/' . ltrim($resolved, '/')); }; @endphp {{-- Main Title --}} @if($showMainTitle && ($mainTitle || $mainSubtitle)) @if($mainTitle) {{ $mainTitle }} @endif @if($mainSubtitle) {{ $mainSubtitle }} @endif @endif {{-- Grid --}} @foreach($items as $item) @php $type = $item['type'] ?? 'image_text'; $title = $data['title'] ?? ""; $subtitle = $data['subtitle'] ?? ""; $url = $item['url'] ?? '#'; $highlight = $item['highlight'] ?? false; $image = $item['image'] ?? null; $icon = $item['icon'] ?? 'fas fa-heartbeat'; $iconType = $item['icon_type'] ?? 'library'; $iconImage = $item['icon_image'] ?? null; $imageUrl = $toImageUrl($image); $iconImageUrl = $toImageUrl($iconImage); $iconBgColor = $item['icon_bg_color'] ?? '#00A0B0'; $iconColor = $item['icon_color'] ?? '#ffffff'; @endphp {{-- Image --}} @if(inray($type, ['image_text', 'image_only'])) @if($imageUrl) @else @endif @if($highlight) مميز @endif @endif {{-- Icon --}} @if(inray($type, ['icon_text', 'icon_only'])) @if($iconType === 'image' && $iconImageUrl) @else @endif @endif {{-- Content --}} @if(inray($type, ['image_text', 'icon_text'])) @if($title) {{ $title }} @endif @if($subtitle) {{ $subtitle }} @endif @endif @endforeach @if($hoverEffect) @endif
{{ $mainSubtitle }}
{{ $subtitle }}