"use client"; import { useState } from "react"; import { motion } from "framer-motion"; import { Cube } from "@/components/ui/Cube" const stackData = [ { id: "agent", title: "Agent Layer", descriptionTitle: "Personal Agents - Secure & Sovereign", description: "Personal AI agents operate as secure digital twins, providing tailored intelligent assistance. They interact with existing chat, MCP agents, and coding tools while maintaining sovereignty and ecosystem compatibility.", position: "top", }, { id: "ai", title: "AI Layer", descriptionTitle: "AI Agents & AI Brains + Mycelium Code & Compute Sandboxes", description: "Intelligence core combining LLMs with specialized AI agents. Mycelium-powered sandboxes provide secure environments for development, testing, and compilation with active memory systems and unbreakable network architecture.", position: "middle", }, { id: "cloud", title: "Cloud Layer", descriptionTitle: "Mycelium Compute & Storage - Decentralized Infrastructure Layer", description: "Foundation runs bare metal Zero OS enabling autonomous cloud. Decentralized infrastructure supports Web2, Web3, AI workloads with superior scalability. Built on twenty years cloud experience.", position: "bottom", }, ]; export function StackedCubes() { const [active, setActive] = useState("agent"); const [selectedForMobile, setSelectedForMobile] = useState("agent"); const handleCubeClick = (id: string) => { setSelectedForMobile(prev => (prev === id ? null : id)); }; const selectedMobileLayer = stackData.find(layer => layer.id === selectedForMobile); return (
setActive("agent")} > {stackData.map((layer, index) => (
setActive(layer.id)} onLeave={() => {}} onClick={() => handleCubeClick(layer.id)} />
))}
{selectedMobileLayer && (

{selectedMobileLayer.descriptionTitle}

{selectedMobileLayer.description}

)}
); }