@props([ 'block', ]) @php /** @var \App\Models\PageBlock $block */ use Illuminate\Support\Facades\Storage; $c = $block->content ?? []; $path = data_get($c, 'image'); $src = is_string($path) && $path !== '' ? Storage::disk('public')->url($path) : null; $rawLink = data_get($c, 'link_url'); $linkUrl = null; if (is_string($rawLink) && preg_match('/\Ahttps?:\/\//i', trim($rawLink)) === 1) { $linkUrl = trim($rawLink); } $alt = is_string(data_get($c, 'alt')) ? (string) data_get($c, 'alt') : ''; $maxW = max(48, min(800, (int) data_get($c, 'max_width_px', 320))); $align = (string) data_get($c, 'text_alignment', 'center'); // text-align + inline-block centers reliably; flex + max-w-full often yields full-width flex items. $textAlignClass = match ($align) { 'left' => 'text-left', 'right' => 'text-right', default => 'text-center', }; @endphp @if ($src !== null)