// MRB Auto storefront — Product detail page (mobile-first)
const _mkP = (n) => (props) => { const C = window.MRBAutoDesignSystem_73c751 && window.MRBAutoDesignSystem_73c751[n]; return C ? React.createElement(C, props) : null; };
const Icon = _mkP('Icon'), Button = _mkP('Button'), IconButton = _mkP('IconButton'), Badge = _mkP('Badge'),
Rating = _mkP('Rating'), StockIndicator = _mkP('StockIndicator'), StickyAddToCart = _mkP('StickyAddToCart'),
CrossSell = _mkP('CrossSell'), UpsellCompare = _mkP('UpsellCompare'), ReviewSummary = _mkP('ReviewSummary'),
TrustItem = _mkP('TrustItem'), FreeShippingBar = _mkP('FreeShippingBar'), ProductCard = _mkP('ProductCard');
const euros = (n) => n.toLocaleString('fr-FR', { style: 'currency', currency: 'EUR', minimumFractionDigits: 0, maximumFractionDigits: 0 });
function Breadcrumb({ items }) {
return (
);
}
function Placeholder({ h = '100%', label }) {
return (
{label && {label}}
);
}
function Gallery() {
const [active, setActive] = React.useState(0);
const shots = ['Vue 3/4', 'Profil', 'Détail fixation', 'Monté sur véhicule'];
return (
{shots.map((s, i) => (
))}
);
}
function Spec({ label, value }) {
return (
{label}
{value}
);
}
function Info({ onAdd }) {
const [qty, setQty] = React.useState(1);
const [wished, setWished] = React.useState(false);
const price = 249, oldPrice = 319;
return (
Mercedes GLC X253 · SKU MRB-MP-0421
Marche-pieds aluminium GLC X253 & Coupé C253
Compatibilité vérifiée
{euros(price)}
{euros(oldPrice)}
Économisez {euros(oldPrice - price)}
ou 4× 62 €/mois sans frais · TVA incluse
{/* qty + add */}
{qty}
{/* reassurance mini */}
{/* specs */}
Caractéristiques
);
}
const qtyBtn = { display: 'inline-flex', alignItems: 'center', justifyContent: 'center', width: 48, height: 56, border: 'none', background: 'transparent', color: 'var(--text-primary)', cursor: 'pointer' };
function Product() {
const [cart, setCart] = React.useState(2);
const [toast, setToast] = React.useState('');
const timer = React.useRef(null);
const notify = (m) => { setToast(m); clearTimeout(timer.current); timer.current = setTimeout(() => setToast(''), 2200); };
const add = (qty = 1) => { setCart((c) => c + qty); notify('Ajouté au panier'); };
const related = (window.MRB_DATA ? window.MRB_DATA.bestSellers : []).slice(0, 4);
return (
{}} active="Mercedes" />
{/* Upsell */}
{/* Cross-sell */}
{ add(1 + chosen.length); }} />
{/* Reviews */}
{/* Related */}
Vous aimerez aussi
{related.map((p) =>
add(1)} />)}
{/* Mobile sticky add-to-cart */}
add(qty)} />
{toast && (
{toast}
)}
);
}
(function mount() {
const ns = window.MRBAutoDesignSystem_73c751;
if (!ns || typeof ns.Icon !== 'function' || !window.MRBHeader || !window.MRBFooter) return setTimeout(mount, 30);
const el = document.getElementById('page-root');
if (!el || el.__mounted) return;
el.__mounted = true;
ReactDOM.createRoot(el).render();
})();