// 37 FORGE — Branded abstract visuals for text-heavy page heroes.
// Reuses the existing .console panel styling (border, corner brackets, head).
// Loaded as a separate text/babel script; globals are shared.
// ---- Services: live service-status console ----
function ServiceConsole() {
const rows = [
{ ic: "fa-eye", k: "Network Monitoring", v: "ALWAYS-ON", cls: "ok" },
{ ic: "fa-shield-halved", k: "Cybersecurity", v: "DEFENDING", cls: "ok" },
{ ic: "fa-database", k: "Data Backups", v: "VERIFIED", cls: "ok" },
{ ic: "fa-cloud", k: "Cloud Services", v: "OPTIMIZED", cls: "ok" },
{ ic: "fa-headset", k: "Help Desk", v: "2 IN QUEUE", cls: "warn" },
{ ic: "fa-phone-volume", k: "VoIP & Voice", v: "DIAL-TONE", cls: "ok" }
];
return (
SERVICE STATUS
6 DISCIPLINES · LIVE
{rows.map((r, i) => (
{r.k}
{r.v}
))}
);
}
// ---- Co-Managed: collaboration network diagram ----
function CollabDiagram() {
const left = [60, 130, 200];
const right = [60, 130, 200];
return (
SHARED OPERATIONS
CO-MANAGED · LINKED
{/* column labels */}
YOUR TEAM
37 FORGE
SHARED QUEUE · DOCS · ROADMAP
{/* connection lines */}
{left.map((y, i) => )}
{right.map((y, i) => )}
{/* traveling pulses */}
{/* left nodes (client) */}
{left.map((y, i) => (
))}
{/* right nodes (forge) */}
{right.map((y, i) => (
))}
{/* center hub */}
37
);
}
// ---- Automation: workflow pipeline diagram ----
function AutoFlowDiagram() {
const steps = [
{ x: 26, n: "01", t: "TRIGGER" },
{ x: 150, n: "02", t: "RULE" },
{ x: 274, n: "03", t: "ACTION" },
{ x: 398, n: "04", t: "DONE" }
];
return (
WORKFLOW · RUNNING
AUTOMATION · 24/7
{/* pipeline line */}
{steps.map((s, i) => (
{s.n}
{s.t}
))}
{/* outcome line */}
EMAILS · INVOICES · FOLLOW-UPS · REPORTS
);
}
// Render the right FontAwesome glyph per step (overlay isn't available inside SVG,
// so we draw an icon box label instead). Replace the placeholder glyphs with the
// step icons via a post-mount tweak is overkill — keep simple monospace step labels.
Object.assign(window, { ServiceConsole, CollabDiagram, AutoFlowDiagram });