// Products page — reads from window.__C (content.json)
const _ph = () => window.c('products.hero', {});
const _pw = () => window.c('products.wall', {});
const _pf = () => window.c('products.floor', {});
const _ps = () => window.c('products.structure', {});
const _pm = () => window.c('products.mixtures', {});
const _pj = () => window.c('products.joint', {});
const _papp = () => window.c('products.applications', {});
const _pcust = () => window.c('products.customization', {});
function ProductsHero() {
const h = _ph();
return (
);
}
function ProductTabs({ active, onChange }) {
const tabs = [
{ id: 'wall', label: _pw().title || 'Wall panel', tag: '01' },
{ id: 'floor', label: _pf().title || 'Floor panel', tag: '02' },
{ id: 'structure', label: _ps().title || 'Structure panel', tag: '03' },
];
return (
{tabs.map((t) => (
))}
);
}
function PanelDetail({ panel }) {
const data = panel === 'wall' ? _pw() : panel === 'floor' ? _pf() : _ps();
const panelNum = panel === 'wall' ? '01' : panel === 'floor' ? '02' : '03';
return (
Panel · {panelNum}
{data.title}
{data.sub}
{(data.specs || []).map((spec, i) => (
| {spec[0]} |
{spec[1]} |
))}
);
}
function MixtureSelector() {
const m = _pm();
const mixtures = m.options || [];
const [active, setActive] = React.useState('solid');
const current = mixtures.find((mx) => mx.id === active) || mixtures[0];
if (!current) return null;
return (
{mixtures.map((mx, i) => (
))}
Selected mixture
{current.name}
{current.best}
Relative weight
{current.weight}
);
}
function Meter({ label, value }) {
return (
{label}
{Math.round(value * 100)}%
);
}
function JointSection() {
const j = _pj();
return (
{j.eyebrow}
{j.headline}
{j.body}
{(j.bullets || []).map((s) => (
-
{s}
))}
);
}
function Applications() {
const a = _papp();
return (
{(a.items || []).map((it, i) => (
{it.tag}
{it.name}
{it.body}
))}
);
}
function Customization() {
const c = _pcust();
return (
{(c.items || []).map((it, i) => (
{it.tag}
{it.title}
{it.body}
))}
);
}
function ProductsPage({ setRoute, tweaks }) {
const [panel, setPanel] = React.useState('wall');
React.useEffect(() => { window.__setRoute = setRoute; }, [setRoute]);
return (
);
}
Object.assign(window, { ProductsPage });