{{-- Blade-шаблон блока «Этапы работ» (JS-степпер). $data: label — надпись над заголовком heading — заголовок секции subtext — описание секции steps[] — массив шагов: title, desc, image_url, image_alt Все панели шагов рендерятся сервером в Blade. JS только переключает видимость — никаких данных в скрипте. --}} @php $steps = $data['steps'] ?? []; // Абсолютный URL: хранимые пути (blocks/...) → через storage, внешние — как есть $toUrl = fn(?string $p): string => $p ? (str_starts_with($p, 'http') ? $p : asset('storage/' . $p)) : ''; @endphp {{ $data['label'] ?? '' }} {{ $data['heading'] ?? '' }} @if(!empty($data['subtext'])) {{ $data['subtext'] }} @endif {{-- Горизонтальный степпер: кнопки и линии --}} @foreach($steps as $i => $step) {{ $i + 1 }} @if(!$loop->last) @endif @endforeach {{-- Все панели шагов — рендерит сервер, JS только скрывает/показывает --}} @foreach($steps as $i => $step) {{ $i + 1 }} {{ $step['title'] ?? '' }} {{ $step['desc'] ?? '' }} @php $imgUrl = $toUrl($step['image_url'] ?? ''); @endphp @if($imgUrl) @endif @endforeach
{{ $data['subtext'] }}