// Hero visual — stylized automation workflow mockup.
// Three variants selectable via prop. All use accent color via CSS var.
function HeroVisual({ variant = "workflow" }) {
if (variant === "workflow") return ;
if (variant === "metrics") return ;
return ;
}
/* ---------- VARIANT 1: stylized n8n-like workflow ---------- */
function WorkflowMockup() {
const nodeStyle = {
position: "absolute",
background: "var(--bg-card)",
border: "1px solid var(--border-strong)",
borderRadius: 14,
padding: "12px 14px",
fontSize: 12.5,
fontWeight: 500,
letterSpacing: "-0.01em",
boxShadow: "0 6px 24px -8px rgba(0,0,0,0.4)",
backdropFilter: "blur(12px)",
display: "flex",
alignItems: "center",
gap: 10,
minWidth: 168,
};
const dot = (color) => ({
width: 8, height: 8, borderRadius: "50%",
background: color, boxShadow: `0 0 10px ${color}`,
});
return (
{/* Radial bg glow */}
{/* SVG connectors */}
{/* Nodes */}
{/* Center AI node — featured */}
{/* Bottom status pill */}
workflow.run · 1 247 exécutions / mois
);
}
/* ---------- VARIANT 2: live metrics dashboard ---------- */
function MetricsMockup() {
return (
{/* Header */}
Activité 30j
2 184 tâches automatisées
{[0,1,2].map(i => )}
{/* Big number */}
{/* Bar chart */}
{[28, 42, 38, 56, 48, 64, 58, 72, 68, 82, 76, 92].map((h, i) => (
= 8 ? "var(--accent)" : "var(--border-strong)",
borderRadius: "3px 3px 0 0",
opacity: i >= 8 ? 1 : 0.7,
}}/>
))}
{/* Stats grid */}
{[
{ label: "Heures gagnées", value: "184h" },
{ label: "Tâches/jour", value: "73" },
{ label: "Erreurs", value: "0,2%" },
].map(s => (
))}
);
}
/* ---------- VARIANT 3: geometric / abstract ---------- */
function GeometricMockup() {
return (
{/* Floating label */}
node.lymorya / 12 actifs
);
}
Object.assign(window, { HeroVisual, WorkflowMockup, MetricsMockup, GeometricMockup });