// ATOM Center — Shared Components (React + Babel) const { useState, useEffect, useRef, useMemo } = React; const t = (lang, path) => { const parts = path.split("."); let cur = window.I18N[lang]; for (const p of parts) { cur = cur?.[p]; if (cur == null) return path; } return cur; }; // Lucide icon helper (uses inline SVG paths to avoid CDN dependency) const Icon = ({ name, size = 20, ...props }) => { const paths = { "arrow-right": <>, "arrow-up-right": <>, "download": <>, "check": <>, "menu": <>, "x": <>, "map-pin": <>, "phone": <>, "mail": <>, "globe": <>, "message-circle": <>, "badge-check": <>, "award": <>, "graduation-cap": <>, "cloud": <>, "code-2": <>, "users-round": <>, "rocket": <>, "chevron-right": <>, "chevron-down": <>, "linkedin": <>, "calendar": <>, "clock": <>, "send": <>, "monitor": <>, "library": <>, "settings": <>, "layers": <>, }; return ( {paths[name]} ); }; // ---------------- NAVBAR ---------------- const Navbar = ({ page, lang, setLang, navigate, density }) => { const [mobileOpen, setMobileOpen] = useState(false); const tr = (k) => t(lang, "nav." + k); const links = [ { id: "home", label: tr("home") }, { id: "about", label: tr("about") }, { id: "programs", label: tr("programs") }, { id: "enterprise", label: tr("enterprise") }, { id: "blog", label: tr("blog") }, { id: "contact", label: tr("contact") }, ]; return ( ); }; // ---------------- FOOTER ---------------- const Footer = ({ lang, navigate }) => { const tr = (k) => t(lang, "footer." + k); const ecoBrands = [ { id: "code", color: "#6848A8", label: "C" }, { id: "campus", color: "#F87808", label: "C" }, { id: "leaders", color: "#980818", label: "L" }, { id: "pioneer", color: "#284838", label: "P" }, ]; return ( ); }; // ---------------- ECOSYSTEM SECTION (shared) ---------------- const EcosystemSection = ({ lang }) => { const tr = (k) => t(lang, "ecosystem." + k); const items = [ { id: "code", color: "#6848A8", url: "https://www.atom-code.com/", name: tr("codeName"), desc: tr("codeDesc"), tag: "Software · Cloud · Cyber" }, { id: "campus", color: "#F87808", url: "https://www.atom-campus.com/", name: tr("campusName"), desc: tr("campusDesc"), tag: "Bootcamps · Talents" }, { id: "leaders", color: "#980818", url: "https://www.atom-leaders.com/", name: tr("leadersName"), desc: tr("leadersDesc"), tag: "Coaching · Executives" }, { id: "pioneer", color: "#284838", url: "https://www.atom-pioneer.com/", name: tr("pioneerName"), desc: tr("pioneerDesc"), tag: "Venture · Studio" }, ]; return (
{tr("eyebrow")}

{tr("title")}

{tr("sub")}

); }; // ---------------- CTA SECTION (shared) ---------------- const CtaSection = ({ lang, navigate }) => { const tr = (k) => t(lang, "cta." + k); return (
); }; Object.assign(window, { Icon, Navbar, Footer, EcosystemSection, CtaSection, t });