@props([ 'slidesData' => [], // Array que contiene datos para imágenes y componentes de texto 'footer' => null, 'gradient' => true, 'background' => [ 'url' => null, 'altImage' => '', ], ]) @php $gradientClass = $gradient ? 'banner text-white banner-gradient' : 'banner text-white'; $hasSlides = !empty($slidesData) && is_array($slidesData) && count($slidesData) > 0; @endphp
merge(['class' => $gradientClass]) }}> {{-- Banner Slider para imágenes y videos --}} @if ($hasSlides) @elseif(!empty($background['url'])) @php // Función para generar la URL de imagen móvil $getMobileImageUrl = function ($imageUrl) { // Extraer información del path $pathInfo = pathinfo($imageUrl); $directory = $pathInfo['dirname']; $filename = $pathInfo['filename']; $extension = $pathInfo['extension']; // Generar URL de imagen móvil $mobileImageUrl = $directory . '/' . $filename . '-mobile.' . $extension; // Verificar si el archivo existe en el sistema de archivos público $publicPath = str_replace(asset(''), '', $mobileImageUrl); $fullPath = public_path($publicPath); return file_exists($fullPath) ? $mobileImageUrl : null; }; // Obtener URL de imagen móvil si existe $mobileImageUrl = $getMobileImageUrl($background['url']); @endphp {{ $background['altImage'] }} @if ($mobileImageUrl) {{ $background['altImage'] }} @endif @endif {{-- Navbar --}}