// Quantum.jsx — Variant A: Dark Tech, electric cyan, dashboard-as-hero
const { useState: useStateQ, useEffect: useEffectQ, useRef: useRefQ, useMemo: useMemoQ } = React;
const qT = {
de: {
nav: ['KI Mitarbeiter Test', 'Shop', 'Technologie', 'Transparenz', 'Über uns', 'Kontakt'],
cta: 'Diagnose starten',
badge: 'AI Smart Network · hier arbeiten virtuelle Mitarbeiter',
h1a: 'Ihre Firma bekommt',
h1b: 'virtuelle Mitarbeiter.',
h1c: 'Heute.',
sub: 'Betreten Sie kein normales Website-Projekt. Hier sehen Sie, wie ein digitales Unternehmen arbeitet: Empfang, Vertrieb, Buchhaltung und Reporting laufen als KI-Mitarbeiter zusammen, während Sie die Kontrolle behalten.',
primary: 'Virtuellen Mitarbeiter planen',
secondary: 'Live-Betrieb ansehen',
kpiLabel: 'Live · letzte 24 h',
kpis: [
{ label: 'Uptime', v: '99.987%', s: '+0.04' },
{ label: 'Leads generiert', v: '1 284', s: '+12%' },
{ label: 'Ø Reaktion', v: '1.2 s', s: '−0.3' },
{ label: 'Angebote auto.', v: '347', s: '+41%' },
],
trustline: 'DSGVO-konform · jeder Vorgang protokolliert · menschlich freigegeben',
pillarsTitle: 'Vier Abteilungen. Eine KI-Mannschaft.',
pillarsSub: 'Statt einzelner Tools entsteht ein digitales Team, das Anfragen annimmt, Aufgaben verteilt und Ergebnisse sauber dokumentiert.',
pillars: [
{ k: '01', t: 'Digitaler Empfang', d: 'Nimmt Anfragen entgegen, erkennt Anliegen und legt sofort eine saubere Akte an.' },
{ k: '02', t: 'Virtueller Vertrieb', d: 'Prüft Kunden, bereitet Angebote vor und erinnert rechtzeitig an offene Chancen.' },
{ k: '03', t: 'Operations-Mitarbeiter', d: 'Verbindet Lager, Termine, Dokumente und Außendienst, ohne dass jemand Daten doppelt tippt.' },
{ k: '04', t: 'Kontrolle & Sicherheit', d: 'Dokumentiert jeden Schritt, meldet Risiken und zeigt Ihnen jederzeit den aktuellen Stand.' },
],
solutionsTitle: 'Virtuelle Mitarbeiter für echte Betriebe.',
solutionsSub: 'Ob Handwerk, Handel, Autohaus oder Kanzlei: Der KI-Architekt baut Mitarbeiter für konkrete Arbeit.',
solutionCases: [
{ tag: 'Empfang & Verkauf', t: 'Anfrage → Angebot → Auftrag', items: ['Anliegen erkennen', 'Kundenakte vorbereiten', 'Nachfassen ohne Vergessen'] },
{ tag: 'Betrieb & Lager', t: 'Termin, Material, Status', items: ['Bestände prüfen', 'Aufgaben verteilen', 'Status automatisch melden'] },
{ tag: 'Büro & Finanzen', t: 'Belege, Rechnung, DATEV', items: ['Belege ordnen', 'Rechnungen vorbereiten', 'Steuerberater sauber versorgen'] },
],
workflowTitle: 'Ein Kunde meldet sich. Die KI-Mannschaft beginnt.',
workflowSub: 'Jeder Schritt ist sichtbar: wer arbeitet, was vorbereitet wurde und wann der Mensch entscheidet.',
workflow: ['Anfrage', 'Einordnung', 'Angebot', 'Freigabe', 'Aufgabe', 'Lieferung', 'Rechnung', 'DATEV'],
roiTitle: 'Wie viel Arbeit bleibt bei Ihnen hängen?',
roiSub: 'Schieber bewegen — der KI-Architekt zeigt den Hebel live.',
roiLeads: 'Anfragen pro Monat',
roiTime: 'Ø Minuten pro Angebot',
roiCost: 'Personalkosten / Std.',
roiSaved: 'Eingesparte Stunden / Monat',
roiMoney: 'Eingesparter Aufwand / Jahr',
transTitle: 'Sie sehen, was Ihre KI-Mitarbeiter leisten.',
transSub: 'Jeden Monat bekommen Sie einen verständlichen Arbeitsbericht: erledigte Vorgänge, gesparte Stunden, Vorfälle und nächste Verbesserungen.',
transBullets: [
'Uptime, Reaktions- und Vorfallszeiten',
'Generierte Leads & konvertierte Angebote',
'Stunden gespart durch Automatisierung',
'Sicherheits- und Audit-Ereignisse',
],
contactTitle: 'Welcher virtuelle Mitarbeiter fehlt Ihnen?',
contactSub: 'Beschreiben Sie kurz die Arbeit, die liegen bleibt. Der KI-Architekt übersetzt sie in einen klaren ersten Mitarbeiter-Plan.',
contactCta: 'Mitarbeiter planen',
demoLabel: 'Live · WhatsApp-Demo',
demoMetric: '47 SEK.',
demoTitle: 'Ein Satz genügt. Das Büro arbeitet weiter.',
demoSub: 'Der Außendienst spricht. Der virtuelle Mitarbeiter schreibt, ordnet, prüft und bereitet die Buchhaltung vor.',
// Home flow graph — plain language for non-technical entrepreneurs
hflowTag: '03 — So funktioniert es',
hflowTitle: 'Eine Anfrage geht ein. Ihre KI-Mannschaft übernimmt.',
hflowSub: 'Beispiel Handwerksbetrieb. Egal ob WhatsApp, Anruf oder Foto vom Bauplatz — die Anfrage landet im digitalen Betrieb und wird von virtuellen Mitarbeitern bis zur Rechnung vorbereitet. Sie entscheiden nur dort, wo es wirklich zählt.',
hflowLegend: ['Eingang', 'Zentrale', 'Assistent', 'Aufgabe'],
hflowTriggers: [
{ l: 'WhatsApp', s: 'Kunde schreibt' },
{ l: 'Anruf', s: 'Sprachbox / Telefon' },
{ l: 'Foto', s: 'Aufmaß vor Ort' },
],
hflowHub: { l: 'Auftrags-Zentrale', s: 'verteilt · protokolliert' },
hflowAgents: [
{ l: 'Angebots-Assistent', s: 'schreibt Angebote', accent: 'mint' },
{ l: 'Termin-Planer', s: 'plant Einsätze', accent: 'indigo' },
{ l: 'Material-Manager', s: 'beschafft Material', accent: 'sand' },
{ l: 'Buchhaltungs-Helfer', s: 'bucht · mahnt', accent: 'mint' },
],
hflowSubs: [
['Kunde prüfen', 'Preise abrufen', 'Angebot per E-Mail'],
['Monteur einplanen', 'Werkzeug reservieren', 'Kunden erinnern'],
['Lager prüfen', 'Bestellung auslösen', 'Lieferung verfolgen'],
['Rechnung erstellen', 'An Steuerberater senden', 'Mahnung wenn nötig'],
],
hflowTraceLeft: 'Vom Anruf bis zur Buchung',
hflowTraceRight: 'alles protokolliert',
footerNote: 'AI SMART NETWORK S.R.L. · Ștefăneștii de Jos, Ilfov · Rumänien',
},
en: {
nav: ['KI Mitarbeiter Test', 'Shop', 'Technology', 'Transparency', 'About', 'Contact'],
cta: 'Start diagnosis',
badge: 'AI Smart Network · virtual employees already at work',
h1a: 'Give your company',
h1b: 'virtual employees.',
h1c: 'Today.',
sub: 'This is not a normal website project. You are entering a digital company where reception, sales, bookkeeping and reporting work together as AI employees while you stay in control.',
primary: 'Plan a virtual employee',
secondary: 'See live operations',
kpiLabel: 'Live · last 24 h',
kpis: [
{ label: 'Uptime', v: '99.987%', s: '+0.04' },
{ label: 'Leads generated', v: '1,284', s: '+12%' },
{ label: 'Avg. response', v: '1.2 s', s: '−0.3' },
{ label: 'Quotes automated', v: '347', s: '+41%' },
],
trustline: 'GDPR-compliant · every task logged · human-approved',
pillarsTitle: 'Four departments. One AI team.',
pillarsSub: 'Instead of disconnected tools, you get a digital team that receives requests, routes work and documents results.',
pillars: [
{ k: '01', t: 'Digital reception', d: 'Receives enquiries, recognises the need and opens a clean case file instantly.' },
{ k: '02', t: 'Virtual sales', d: 'Checks customers, prepares quotes and follows up before opportunities go cold.' },
{ k: '03', t: 'Operations employee', d: 'Connects stock, appointments, documents and field work without double typing.' },
{ k: '04', t: 'Control & safety', d: 'Logs every step, flags risks and keeps management aware of current status.' },
],
solutionsTitle: 'Virtual employees for real businesses.',
solutionsSub: 'Trades, commerce, dealerships or firms: the AI architect builds concrete work roles that behave like employees.',
solutionCases: [
{ tag: 'Reception & sales', t: 'Request → quote → order', items: ['Recognise the need', 'Prepare the customer file', 'Follow up reliably'] },
{ tag: 'Operations & stock', t: 'Schedule, material, status', items: ['Check availability', 'Route tasks', 'Report status automatically'] },
{ tag: 'Office & finance', t: 'Receipts, invoice, DATEV', items: ['Sort documents', 'Prepare invoices', 'Serve the accountant cleanly'] },
],
workflowTitle: 'A customer asks. The AI team starts.',
workflowSub: 'Every step is visible: who is working, what was prepared and when a human decides.',
workflow: ['Request', 'Classify', 'Quote', 'Approval', 'Task', 'Delivery', 'Invoice', 'DATEV'],
roiTitle: 'How much work is still stuck with you?',
roiSub: 'Move the sliders — the AI architect shows the leverage live.',
roiLeads: 'Enquiries per month',
roiTime: 'Avg. minutes per quote',
roiCost: 'Personnel cost / hour',
roiSaved: 'Hours saved / month',
roiMoney: 'Effort saved / year',
transTitle: 'You see what your AI employees deliver.',
transSub: 'Every month you receive a plain-language work report: completed cases, hours saved, incidents and next improvements.',
transBullets: [
'Uptime, response & incident times',
'Leads generated & quotes converted',
'Hours saved through automation',
'Security & audit events',
],
contactTitle: 'Which virtual employee are you missing?',
contactSub: 'Describe the work that keeps piling up. The AI architect turns it into a first employee plan.',
contactCta: 'Plan employee',
demoLabel: 'Live · WhatsApp demo',
demoMetric: '47 SEC',
demoTitle: 'One sentence is enough. The office keeps working.',
demoSub: 'The field rep speaks. The virtual employee writes, sorts, checks and prepares finance.',
hflowTag: '03 — How it works',
hflowTitle: 'A request comes in. Your AI team takes over.',
hflowSub: 'Example: a trades business. Whether by WhatsApp, phone call or a photo from the site — the request lands in the digital operation and is prepared by virtual employees through to the invoice. You decide only where it truly matters.',
hflowLegend: ['Inbound', 'Hub', 'Assistant', 'Task'],
hflowTriggers: [
{ l: 'WhatsApp', s: 'customer writes' },
{ l: 'Phone', s: 'voicemail / call' },
{ l: 'Photo', s: 'measurement on-site' },
],
hflowHub: { l: 'Job hub', s: 'routes · logs' },
hflowAgents: [
{ l: 'Quote assistant', s: 'writes quotes', accent: 'mint' },
{ l: 'Scheduling assistant', s: 'plans crews', accent: 'indigo' },
{ l: 'Materials manager', s: 'sources stock', accent: 'sand' },
{ l: 'Bookkeeping helper', s: 'books · chases', accent: 'mint' },
],
hflowSubs: [
['Check the customer', 'Look up prices', 'Send quote by email'],
['Assign technician', 'Reserve tools', 'Remind the customer'],
['Check stock', 'Place order', 'Track delivery'],
['Create invoice', 'Send to accountant', 'Send reminder if overdue'],
],
hflowTraceLeft: 'From call to booking',
hflowTraceRight: 'every step logged',
footerNote: 'AI SMART NETWORK S.R.L. · Ștefăneștii de Jos, Ilfov · Romania',
},
};
function Quantum({ lang, setLang }) {
const t = qT[lang];
// Live-ish KPI sparkline shimmer
const [tick, setTick] = useStateQ(0);
useEffectQ(() => {
const id = setInterval(() => setTick((x) => x + 1), 1600);
return () => clearInterval(id);
}, []);
// ROI state
const [leads, setLeads] = useStateQ(120);
const [mins, setMins] = useStateQ(22);
const [cost, setCost] = useStateQ(65);
const automation = 0.86;
const hoursSaved = Math.round((leads * mins * automation) / 60);
const moneySaved = Math.round(hoursSaved * cost * 12).toLocaleString(lang === 'de' ? 'de-DE' : 'en-US');
// Colors
const ink = '#0A0A0B';
const paper = '#0E0F12';
const fog = '#16181D';
const text = '#E7E9EE';
const muted = '#8A8F99';
const line = 'rgba(255,255,255,0.08)';
const mint = '#5EEAD4';
const indigo = '#818CF8';
const sand = '#FBBF77';
const warn = '#FCA5A5';
return (
{/* Background grid + glow */}
{/* NAV */}
{t.nav.map((n) => {
const isTech = n === 'Technologie' || n === 'Technology';
const isSolutions = n === 'KI Mitarbeiter Test';
const isAbout = n === 'Über uns' || n === 'About';
const isTransparency = n === 'Transparenz' || n === 'Transparency';
const isShop = n === 'Shop';
const isContact = n === 'Kontakt' || n === 'Contact';
const href = isTech ? 'ki-automatisierung.html' : isSolutions ? 'was-kostet-ein-ki-mitarbeiter/' : isAbout ? 'ueber-uns.html' : isTransparency ? 'transparenz.html' : isShop ? 'shop.html' : isContact ? 'kontakt.html' : '#';
return (
{n}
);
})}
{/* HERO */}
{t.badge}
{t.sub}
{t.trustline}
{/* Hero — Audio-Interface der KI (Voice-Blob statt Chatfenster) */}
{/* ROI — moved up to position 2 */}
02 — ROI
{t.roiTitle}
{t.roiSub}
Modell: 86 % Automatisierungsquote · {lang === 'de' ? 'konservativ' : 'conservative'}
{/* DIAGNOSE BANNER — link to full multi-step diagnosis */}
{/* HOME FLOW GRAPH — plain language for non-technical visitors */}
{/* PILLARS */}
04 — Platform
{t.pillarsTitle}
{t.pillarsSub}
{t.pillars.map((p, i) => (
))}
{/* SOLUTIONS */}
05 — Solutions
{t.solutionsTitle}
{t.solutionsSub}
{t.solutionCases.map((c, i) => (
{c.tag}
{c.t}
{c.items.map((it) => (
{it}
))}
))}
{/* WORKFLOW */}
06 — Pipeline
{t.workflowTitle}
{t.workflowSub}
{/* ROI — (moved to top) */}
{/* TRANSPARENCY */}
07 — Transparency
{t.transTitle}
{t.transSub}
{t.transBullets.map((b) => (
✓
{b}
))}
{/* CONTACT */}
{t.contactTitle}
{t.contactSub}
{/* FOOTER */}
);
}
/* ---------- Quantum sub-components ---------- */
function HeroHeadline({ lang, text, muted, mint, indigo, line }) {
const L = lang === 'de'
? { setup: ['Ihre Firma', 'bekommt'], outNum: 'virtuelle', outWord: 'Mitarbeiter.' }
: { setup: ['Your company', 'gets'], outNum: 'virtual', outWord: 'employees.' };
return (
{/* Setup line — Inter Tight SemiBold */}
{L.setup[0]}
{L.setup[1]}
{/* Punchline — Inter Tight ExtraBold/Black, dominant */}
{L.outNum}
{L.outWord}
{/* Sub-rule */}
{lang === 'de' ? 'Digitale Mannschaft · live im Betrieb' : 'Digital team · live in operation'}
);
}
/* ── Hero phone demo: WhatsApp → booking flow ── */
function HeroPhoneDemo({ lang, t, text, muted, mint, indigo, line, fog, ink }) {
return (
{/* Eyebrow row: live tag + metric badge */}
{t.demoLabel}
{t.demoMetric}
{t.demoTitle}
{t.demoSub}
);
}
function ClockGlyph({ color }) {
return (
);
}
function QWhatsappPhone({ lang, mint, indigo, ink }) {
const messages = lang === 'de' ? [
{ from: 'user', kind: 'audio', dur: '0:14', time: '14:02' },
{ from: 'user', kind: 'transcribed', text: '„Angebot für Sometall, 200 kg WCu-30, Lieferung KW 24."', time: '14:02' },
{ from: 'bot', text: 'Verstanden. Lead anlegen, Bonität prüfen, Marge gegen Lager kalkulieren…', time: '14:02' },
{ from: 'bot', text: 'Bonität OK (Bonität 240). Lager: 280 kg in 3 Lots. Marge 14.2 % — über Schwellwert ✓', time: '14:03' },
{ from: 'bot', kind: 'file', filename: 'Angebot_SOMETALL_Q2.pdf', size: '184 KB', time: '14:03' },
{ from: 'bot', text: 'Soll ich versenden?', time: '14:03' },
] : [
{ from: 'user', kind: 'audio', dur: '0:14', time: '14:02' },
{ from: 'user', kind: 'transcribed', text: '\u201CQuote for Sometall, 200 kg WCu-30, delivery W24.\u201D', time: '14:02' },
{ from: 'bot', text: 'Got it. Creating lead, checking credit, calculating margin against stock…', time: '14:02' },
{ from: 'bot', text: 'Credit OK (Bonität 240). Stock: 280 kg in 3 lots. Margin 14.2% — above threshold ✓', time: '14:03' },
{ from: 'bot', kind: 'file', filename: 'Quote_SOMETALL_Q2.pdf', size: '184 KB', time: '14:03' },
{ from: 'bot', text: 'Send it?', time: '14:03' },
];
return (
{/* iOS status bar */}
9:41
● ▮▮▮ ●●●●
{/* WA header */}
←
A
AI Smart Ops
{lang === 'de' ? 'online · antwortet sofort' : 'online · instant'}
⋮
{/* Chat */}
{lang === 'de' ? 'HEUTE' : 'TODAY'}
{messages.map((m, i) =>
)}
{/* Input */}
{lang === 'de' ? 'Nachricht' : 'Message'}
🎤
);
}
function QChatBubble({ m, lang, mint }) {
const isBot = m.from === 'bot';
const bg = isBot ? '#1F2C33' : '#005C4B';
const align = isBot ? 'flex-start' : 'flex-end';
return (
{m.kind === 'audio' && (
▶
{Array.from({ length: 30 }).map((_, i) => (
))}
{m.dur}
)}
{m.kind === 'transcribed' && (
{lang === 'de' ? 'TRANSKRIBIERT' : 'TRANSCRIBED'}
{m.text}
)}
{m.kind === 'file' && (
)}
{!m.kind && (
{m.text}
)}
{m.time}
{!isBot && ✓✓ }
);
}
/* ── Home flow graph: plain-language Make-style ── */
function HomeDiagnoseBanner({ lang, mint, indigo, text, muted, line, paper, ink }) {
const txt = lang === 'de' ? {
eye: '02b · Tiefer einsteigen',
h: 'Diese Rechnung zeigt einen Engpass. Wollen Sie Ihren ersten KI-Mitarbeiter planen?',
sub: 'Beantworten Sie 5 Fragen — der KI-Architekt erkennt die Arbeit, die am meisten hängen bleibt, und erstellt daraus einen 90-Tage-Mitarbeiter-Plan.',
cta: 'Mitarbeiter-Diagnose starten',
meta: 'Kostenfrei · keine Anmeldung · alles im Browser',
} : {
eye: '02b · Go deeper',
h: 'This calculation shows one bottleneck. Want to plan your first AI employee?',
sub: 'Answer 5 questions — the AI architect identifies the work that gets stuck most often and turns it into a 90-day employee plan.',
cta: 'Start employee diagnosis',
meta: 'Free · no sign-up · runs in your browser',
};
return (
{txt.eye}
{txt.h}
{txt.sub}
);
}
function HomeFlowSection({ t, mint, indigo, sand, warn, text, muted, line, fog, paper, ink }) {
return (
{t.hflowTag}
{t.hflowTitle}
{t.hflowSub}
{/* Legend */}
{t.hflowLegend.map((l, i) => {
const c = [mint, indigo, text, '#5A6068'][i];
return (
{l}
);
})}
);
}
function HomeFlowGraph({ t, mint, indigo, sand, warn, text, muted, line, fog, paper, ink }) {
const accentMap = { mint, indigo, sand, warn };
const W = 1170, H = 600;
// Triggers (3 stacked left)
const triggers = t.hflowTriggers.map((tr, i) => ({
...tr, x: 12, y: 60 + i * 168, w: 100, h: 100, kind: 'trigger',
accent: ['mint', 'indigo', 'sand'][i],
glyph: ['whatsapp', 'phone', 'camera'][i],
}));
// Hub centered vertically between triggers
const hub = { ...t.hflowHub, x: 220, y: 260, w: 180, h: 80, kind: 'hub', accent: 'indigo' };
// Agents (4 stacked right of hub)
const agents = t.hflowAgents.map((a, i) => ({
...a, x: 490, y: 20 + i * 144, w: 220, h: 76, kind: 'agent',
}));
// Subs (3 per agent stacked far right)
const subs = [];
t.hflowSubs.forEach((group, ai) => {
group.forEach((label, si) => {
const a = agents[ai];
// Center 3 subs around agent vertical center
// Sub h=32, gap=6, total = 32*3+6*2 = 108
// Center of stack at a.y + 38 (agent center)
// Top sub at center - 54
subs.push({
x: 790, y: a.y + 38 - 54 + si * 38, w: 200, h: 32,
label, parent: ai, accent: t.hflowAgents[ai].accent, kind: 'sub',
});
});
});
const cy = (n) => n.y + n.h / 2;
const path = (x1, y1, x2, y2) => {
const dx = Math.max(60, Math.abs(x2 - x1) * 0.55);
return `M ${x1} ${y1} C ${x1 + dx} ${y1}, ${x2 - dx} ${y2}, ${x2} ${y2}`;
};
const conns = [];
// Triggers -> Hub
triggers.forEach((tr) => {
conns.push({ d: path(tr.x + tr.w, cy(tr), hub.x, cy(hub)), accent: tr.accent, speed: 2.4 });
});
// Hub -> Agents
agents.forEach((a) => {
conns.push({ d: path(hub.x + hub.w, cy(hub), a.x, cy(a)), accent: a.accent, speed: 2.0 });
});
// Agents -> Subs
subs.forEach((s, i) => {
const a = agents[s.parent];
conns.push({ d: path(a.x + a.w, cy(a), s.x, cy(s)), accent: s.accent, speed: 1.4 + (i % 5) * 0.15 });
});
return (
{conns.map((c, i) => )}
{conns.map((c, i) => (
))}
{conns.map((c, i) => {
const color = accentMap[c.accent];
return (
{i < 7 && (
)}
);
})}
{triggers.map((tr, i) =>
)}
{agents.map((a, i) =>
)}
{subs.map((s, i) =>
)}
{/* Footer trace */}
{t.hflowTraceLeft}
{t.hflowTraceRight} ✓
);
}
function HomeNodeOverlay({ node, accentMap, text, muted, ink, W, H }) {
const c = accentMap[node.accent] || accentMap.mint;
const xPct = (node.x / W) * 100;
const yPct = (node.y / H) * 100;
const wPct = (node.w / W) * 100;
const hPct = (node.h / H) * 100;
const kind = node.kind;
const baseStyle = {
position: 'absolute',
left: `${xPct}%`, top: `${yPct}%`, width: `${wPct}%`, height: `${hPct}%`,
borderRadius: kind === 'trigger' ? 16 : kind === 'hub' ? 14 : kind === 'agent' ? 12 : 10,
border: `1px solid ${c}55`,
background:
kind === 'trigger' ? `linear-gradient(135deg, ${c}1f, ${ink}cc)` :
kind === 'hub' ? `linear-gradient(135deg, ${c}26, ${ink}ee)` :
kind === 'agent' ? `linear-gradient(135deg, ${c}14, ${ink}f6)` :
ink,
boxShadow:
kind === 'trigger' || kind === 'hub' ? `0 0 32px ${c}33, inset 0 0 0 1px ${c}33` :
kind === 'agent' ? `0 0 18px ${c}1c` :
`0 0 12px ${c}14`,
display: 'flex',
alignItems: 'center',
padding: kind === 'sub' ? '0 12px' : kind === 'trigger' ? 10 : '12px 14px',
gap: 10,
fontFamily: "'Inter Tight', system-ui, sans-serif",
};
if (kind === 'trigger') {
return (
{node.glyph === 'whatsapp' &&
}
{node.glyph === 'phone' &&
}
{node.glyph === 'camera' &&
}
{node.l}
{node.s}
);
}
if (kind === 'sub') {
return (
{node.label}
);
}
// hub / agent
return (
);
}
function QGlyphWhatsapp({ color }) {
return (
);
}
function QGlyphPhone({ color }) {
return (
);
}
function QGlyphCamera({ color }) {
return (
);
}
function QGlyphHub({ color }) {
return (
);
}
function QGlyphAgent({ color }) {
return (
);
}
function Logo({ color = '#000', accent = '#5EEAD4', small }) {
return (
AI·SMART network
);
}
function LangToggle({ lang, setLang, dark }) {
const bg = dark ? 'rgba(255,255,255,0.05)' : 'rgba(0,0,0,0.05)';
const border = dark ? 'rgba(255,255,255,0.1)' : 'rgba(0,0,0,0.12)';
const activeBg = dark ? 'rgba(255,255,255,0.12)' : 'rgba(0,0,0,0.85)';
const activeFg = dark ? '#fff' : '#fff';
const fg = dark ? '#8A8F99' : '#666';
return (
{['de', 'en'].map((l) => (
setLang(l)} style={{
background: lang === l ? activeBg : 'transparent',
color: lang === l ? activeFg : fg,
border: 'none', padding: '5px 10px', borderRadius: 999, cursor: 'pointer',
fontFamily: 'inherit', fontSize: 'inherit', letterSpacing: 'inherit',
}}>{l.toUpperCase()}
))}
);
}
function SectionLabel({ children, mono, mint, muted }) {
return (
{children}
);
}
function PillarIcon({ i, mint, indigo }) {
const c = i % 2 === 0 ? mint : indigo;
return (
{i === 0 && <>
>}
{i === 1 && <>
>}
{i === 2 && <>
>}
{i === 3 && <>
>}
);
}
function DashboardCard({ t, mint, indigo, text, muted, line, fog, tick }) {
// Generate dynamic-ish sparkline points
const points = useMemoQ(() => {
const seed = tick;
return Array.from({ length: 24 }, (_, i) => {
const s = Math.sin(i * 0.5 + seed * 0.3) * 0.3 + Math.cos(i * 0.7) * 0.2;
return 30 - (s + 1) * 12 - (i * 0.4);
});
}, [tick]);
const path = `M ${points.map((y, i) => `${(i * 240) / 23},${y + 30}`).join(' L ')}`;
return (
Operations Pulse
{t.kpiLabel}
{t.kpis.map((k, i) => (
))}
{/* Sparkline */}
Lead-Velocity · 24h
+18.4%
{/* Agent log */}
Agent activity
14:02 · research-agent → enriched lead #4821
14:03 · quote-bot → drafted offer (€ 18.420)
14:05 · escalation → human review · margin {'<'}12%
14:09 · datev-export → batch synced ✓
);
}
function WorkflowDiagram({ steps, mint, indigo, line, muted, text, tick, fog }) {
const active = tick % steps.length;
return (
{steps.map((s, i) => (
{String(i + 1).padStart(2, '0')}
{s}
))}
{/* Connecting line */}
);
}
function Slider({ label, value, setValue, min, max, step, mint, muted, line, suffix }) {
return (
);
}
function ResultBig({ label, value, mint, muted, big }) {
return (
);
}
function ReportPreview({ lang, mint, indigo, line, fog, text, muted }) {
return (
{lang === 'de' ? 'Monatsreport · Mai 2026' : 'Monthly report · May 2026'}
Client: SOMETALL TRADING GMBH
SIGNED
{lang === 'de' ? 'Vorfälle & Maßnahmen' : 'Incidents & actions'}
{[
{ d: '04.05', t: lang === 'de' ? 'DB-Latency-Spike · auto-mitigiert' : 'DB latency spike · auto-mitigated', s: 'ok' },
{ d: '12.05', t: lang === 'de' ? 'Mail-Provider-Ausfall · Failover aktiv' : 'Mail provider outage · failover active', s: 'ok' },
{ d: '21.05', t: lang === 'de' ? 'KI-Recherche → 14 neue Leads angereichert' : 'AI research → 14 new leads enriched', s: 'ok' },
].map((r) => (
{r.d}
{r.t}
))}
);
}
function ReportStat({ label, value, mint, muted, line }) {
return (
);
}
function ChatTeaser({ lang, mint, line, fog, muted, text }) {
return (
A
{lang === 'de' ? 'Diagnose-Assistent' : 'Diagnosis assistant'}
online · {lang === 'de' ? 'antwortet in <2s' : 'replies in <2s'}
{lang === 'de' ? 'Welcher Prozess kostet Sie heute am meisten Zeit?' : 'Which process eats most of your time today?'}
{(lang === 'de'
? ['Angebotserstellung', 'Lager & Lot', 'Buchhaltung', 'Lead-Followup']
: ['Quotation', 'Stock & lot', 'Bookkeeping', 'Lead follow-up']
).map((c) => (
{c}
))}
{lang === 'de' ? 'Diagnose in 90 Sek. starten →' : 'Run 90-sec diagnosis →'}
);
}
window.Quantum = Quantum;