feat: unavailable addons support

This commit is contained in:
2026-08-17 21:58:11 +07:00
parent f2940e55bd
commit 33d35d91e6
7 changed files with 45 additions and 9 deletions

View File

@@ -19,18 +19,21 @@ export function AddonList({ addons, devices, selected, onToggle }: AddonListProp
<div className="addon-list">
{addons.map((a) => {
const on = selected.includes(a.id);
const enabled = a.is_enabled;
const price = addonPriceForDevices(a, devices);
return (
<button
key={a.id}
type="button"
className={`addon-row ${on ? 'is-selected' : ''}`.trim()}
className={`addon-row ${on ? 'is-selected' : ''} ${enabled ? '' : 'is-disabled'}`.trim()}
aria-pressed={on}
disabled={!enabled}
onClick={() => onToggle(a.id)}
>
<span className="addon-toggle" aria-hidden="true" />
<span className="addon-info">
<span className="addon-name">{a.name}</span>
{!enabled && <span className="addon-status">Недоступно</span>}
</span>
<span className="addon-price">
{price === 0 ? 'Бесплатно' : <><span className="plus">+</span>{formatMoney(price)}</>}