@props([ 'name' => '', 'price' => null, 'image' => null, 'href' => '#', 'variantId' => null, 'hasCustomFields' => false, ]) {{-- data-turbo-frame="_top" on the links: this card renders inside the category page's , so without it a click would try to load the product page *into* that frame, not find a matching frame, and fail with "content missing". It's a no-op anywhere there's no frame (homepage grids, related products). --}}
@if($image) {{ $name }} @else
{{ __('storefront.product.no_image') }}
@endif
@if ($hasCustomFields) {{-- Custom fields have to be filled in on the product page. --}} {{ __('storefront.product.personalize') }} @elseif ($variantId) {{-- has-[...] forces the button visible while an add-to-cart error is showing, so it isn't only readable on hover — a shopper who already moved off the card (mouse or the click itself) must still see why nothing happened. --}} {{ __('storefront.product.add_to_cart') }} @endif
{{ $name }} @if($price !== null) @endif