// Keynara landing sections below hero
const { useState: uS, useEffect: uE, useRef: uR } = React;
// ============ TRUST BAR ============
function TrustBar({ t }) {
return (
{t.trust.label}
{t.trust.items.map((n, i) => (
{n}
))}
);
}
// ============ HOW IT WORKS ============
function HowItWorks({ t }) {
return (
{t.how.steps.map((s, i) => (
))}
);
}
function StepCard({ s }) {
return (
);
}
function SectionHeader({ eyebrow, title, sub, align = 'left', on = 'light' }) {
return (
{eyebrow}
{title}
{sub &&
{sub}
}
);
}
// ============ INSIGHT / PULLQUOTE ============
function Insight({ t }) {
return (
{t.insight.eyebrow}
{t.insight.title}
{t.insight.sub}
);
}
// ============ COMPARISON TABLE ============
function Comparison({ t }) {
return (
{/* decorative mint line */}
{t.compare.col_portal}
{t.compare.col_keynara}
{t.compare.rows.map((r, i) => (
))}
);
}
// ============ PERSONAS ============
function Personas({ t }) {
const [active, setActive] = uS(0);
const items = t.personas.items;
return (
{items.map((p, i) => (
))}
{items[active].a}
{items[active].t}
{items[active].d}
);
}
function PersonaScene({ idx }) {
// Abstract brand-colored visual per persona — concentric rings with a moving dot
const configs = [
{ rings: [120, 170, 220], dotPos: [0.35, 0.3] },
{ rings: [140, 200, 260], dotPos: [0.7, 0.25] },
{ rings: [100, 160, 230, 300], dotPos: [0.25, 0.5] },
{ rings: [80, 130, 180, 240], dotPos: [0.6, 0.45] },
];
const cfg = configs[idx];
return (
);
}
// ============ MARKET STATS ============
function MarketStats({ t }) {
return (
{t.market.stats.map((s, i) => (
))}
);
}
// ============ FAQ ============
function FAQ({ t }) {
const [open, setOpen] = uS(0);
return (
{t.faq.eyebrow}
{t.faq.title}
hello@keynara.com
keynara.com · DACH & Italia
{t.faq.items.map((q, i) => (
setOpen(open === i ? -1 : i)} />
))}
);
}
function FAQItem({ q, open, onToggle }) {
return (
);
}
// ============ FINAL CTA ============
function FinalCTA({ t, onStart }) {
return (
{t.cta.eyebrow}
{t.cta.title}
{t.cta.sub}
);
}
Object.assign(window, { TrustBar, HowItWorks, Insight, Comparison, Personas, MarketStats, FAQ, FinalCTA, SectionHeader });