{{--
Цена товара: итог, зачёркнутая база и процент скидки.
Отдельным включением, а не четырьмя копиями по шаблонам: скидка обязана
выглядеть одинаково в плитке, таблице, блоке и карточке. Разойдись
разметка — и половина мест молча осталась бы без зачёркнутой цены.
$price — ResolvedPrice|null, уже со скидкой внутри
$currency — суффикс валюты
$class — класс места («kz-card__price»), необязателен
$none — что писать вместо цены, когда её нет; null — не писать ничего
--}}
@php
$class = $class ?? null;
$none = $none ?? null;
@endphp
@if ($price === null)
@if ($none !== null)
{{-- array_filter: без него незаданный класс места даёт пустой хвост
в атрибуте, и разметка мусорится на каждой карточке. --}}
{{ $none }}
@endif
@else
$price->hasDiscount(), $class]))>
{{ number_format($price->value, 2, ',', ' ') }} {{ $currency }}
@if ($price->hasDiscount())
{{-- Зачёркнутая цена — не украшение: без неё скидка не видна вовсе,
а с ней покупатель понимает, что именно он экономит. --}}
{{ number_format($price->base, 2, ',', ' ') }} {{ $currency }}
−{{ rtrim(rtrim(number_format($price->percent, 2, ',', ''), '0'), ',') }}%
@endif
@endif