/* HLiD — Problem, Solution, AI Layer, Workflow sections */
/* ------------ SECTION EYEBROW ------------ */
function Eyebrow({ n, label }) {
return (
{n}
{label}
);
}
/* Minimal line icons — 1.5px stroke */
const Glyph = {
fragmented: (
),
manual: (
),
bottleneck: (
),
entry: (
),
};
/* ------------ 2. PROBLEM ------------ */
function Problem() {
const { t } = useT();
const items = [
[Glyph.fragmented, t('problem.1.t'), t('problem.1.b')],
[Glyph.manual, t('problem.2.t'), t('problem.2.b')],
[Glyph.bottleneck, t('problem.3.t'), t('problem.3.b')],
[Glyph.entry, t('problem.4.t'), t('problem.4.b')],
];
return (
{t('problem.h1.a')}
{t('problem.h1.b')}
{t('problem.lede')}
{items.map(([icon, title, body], i) => (
))}
);
}
/* ------------ 3. SOLUTION — PIPELINE ------------ */
function Solution() {
const { t } = useT();
const nodes = [
['01', t('solution.n1'), t('solution.n1.s')],
['02', t('solution.n2'), t('solution.n2.s')],
['03', t('solution.n3'), t('solution.n3.s')],
['04', t('solution.n4'), t('solution.n4.s')],
['05', t('solution.n5'), t('solution.n5.s')],
['06', t('solution.n6'), t('solution.n6.s')],
['07', t('solution.n7'), t('solution.n7.s')],
];
return (
{t('solution.h1')}
{/* Desktop — horizontal pipeline */}
{nodes.map(([n, title, sub], i) => (
))}
{/* Mobile — stacked */}
{nodes.map(([n, title, sub], i) => (
))}
);
}
/* ------------ 3b. SEGMENTS — two segments, one product ------------ */
function Segments() {
const { t } = useT();
const cards = [
[t('seg.a.t'), t('seg.a.b')],
[t('seg.b.t'), t('seg.b.b')],
];
const more = [t('seg.m1'), t('seg.m2'), t('seg.m3'), t('seg.m4'), t('seg.m5'), t('seg.m6')];
return (
{t('seg.h1.a')}
{t('seg.h1.b')}
{cards.map(([title, body], i) => (
))}
{t('seg.more')}
{more.map(x => (
{x}
))}
);
}
/* ------------ 4. AI LAYER ------------ */
function AILayer() {
const { t } = useT();
const stats = [
['100%', t('ai.s1.label'), t('ai.s1.foot')],
['1:1', t('ai.s2.label'), t('ai.s2.foot')],
['24/7', t('ai.s3.label'), t('ai.s3.foot')],
];
return (
{t('ai.h1.a')}
{t('ai.h1.b')}
{stats.map(([big, label, foot], i) => (
))}
{t('ai.foot')}
{[t('ai.c1'), t('ai.c2'), t('ai.c3'), t('ai.c4')].map(x => (
{x}
))}
);
}
Object.assign(window, { Problem, Solution, Segments, AILayer, Eyebrow, Glyph });