/* global React, Media, useReveal, useLocale */
// Jullia — Car Audio. The invisible rework, then the commissions as tiles.
// Clicking a tile opens that car's detail page (description + rework film).
function CarAudio({ onOpen }) {
const { Eyebrow, Divider } = window.JulliaDesignSystem_b654aa;
const { t, localize } = useLocale();
const cars = (window.JULLIA_CARS || []).map(localize);
const ref = useReveal();
const steps = t('carAudio.steps') || [];
return (
{/* Header statement */}
{t('carAudio.eyebrow')}
{t('carAudio.heroLine1')}
{t('carAudio.heroLine2')}
{t('carAudio.heroLine3')}
{t('carAudio.heroSub')}
{/* The rework — four quiet steps */}
{steps.map((s, i) => (
{s.t}
{s.c}
))}
{/* The bench — a supporting image */}
{/* Commissions — the tiles */}
{t('carAudio.commissionsLabel')}
{cars.length} {t('carAudio.builds')}
{cars.map((car) => (
))}
);
}
// A single commission tile. Hover lifts the image out of shadow and reveals the
// action. The whole tile is clickable.
function CarTile({ car, domainLabel, viewLabel, onOpen }) {
const [hover, setHover] = React.useState(false);
return (
onOpen && onOpen(car.id)}
onMouseEnter={() => setHover(true)}
onMouseLeave={() => setHover(false)}
style={{ cursor: 'pointer', border: '1px solid var(--hairline)', borderColor: hover ? 'var(--hairline-strong)' : 'var(--hairline)', transition: 'border-color var(--dur-med) var(--ease-quiet)', background: 'var(--surface)' }}
>
{car.tileImage && (

)}
№ {car.ref}
{car.tileCaption}
{car.name}
{car.year} · {domainLabel}
{viewLabel} →
);
}
window.CarAudio = CarAudio;