{{-- Reusable product card. Variables expected: $product — Product model (with productCountry relation set) $cardClass — extra CSS class on the card div (optional) --}} @php $assetPath = 'frontend_assets'; $isBundle = (bool)($product->is_bundle ?? false); // Determine if this product is already in the user's wishlist. // $wishlistItems is an array of product_ids — passed by the controller for auth users. $isWishlisted = isset($wishlistItems) && in_array($product->id, $wishlistItems); // Resolve price: productCountry is a Collection set by the controller $pc = optional( ($product->productCountry instanceof \Illuminate\Support\Collection ? $product->productCountry->first() : $product->productCountry) ); $variation = optional(null); if ($pc->productVariations instanceof \Illuminate\Support\Collection && $pc->productVariations->isNotEmpty()) { $variation = $pc->productVariations->sortBy(function($v) { $eff = ($v->offer_price > 0 && $v->offer_price < $v->mrp_price) ? (float)$v->offer_price : (float)$v->mrp_price; return $eff > 0 ? $eff : 999999999; })->first(); } $priceFull = $variation->mrp_price ?? $pc->mrp_price ?? null; $priceOffer = $variation->offer_price ?? $pc->offer_price ?? null; $discount = ($priceFull && $priceOffer && $priceFull > 0) ? round((($priceFull - $priceOffer) / $priceFull) * 100) : null; $rating = $product->reviews_avg_rating ?? 0; @endphp
{{ webTrans('inclusive_of_all_taxes', 'product_listing') }}
@endif