"use client"; import { useState } from "react"; import { motion } from "framer-motion"; import { CubeLight } from "@/components/ui/CubeLight"; const stackData = [ { id: "agent", title: "Agent Layer", descriptionTitle: "Your sovereign agent with private memory and permissioned data access—always under your control.", description: "Choose from a wide library of open-source LLMs, paired with built-in semantic search and retrieval.\nIt coordinates across people, apps, and other agents to plan, create, and execute.\nIt operates inside a compliant legal & financial sandbox, ready for real-world transactions and operations.\nMore than just an assistant—an intelligent partner that learns and does your way.", position: "top", }, { id: "network", title: "Network Layer", descriptionTitle: "A global, end-to-end encrypted overlay that simply doesn’t break.", description: "Shortest-path routing moves your traffic the fastest way, every time.\nInstant discovery with integrated DNS, semantic search, and indexing.\nA distributed CDN and edge delivery keep content available and tamper-resistant worldwide.\nBuilt-in tool services and secure coding sandboxes—seamless on phones, desktops, and edge.", position: "middle", }, { id: "cloud", title: "Cloud Layer", descriptionTitle: "An autonomous, stateless OS that enforces pre-deterministic deployments you define.", description: "Workloads are cryptographically bound to your private key—location and access are yours.\nNo cloud vendor or middleman in the path: end-to-end ownership and isolation by default.\nGeo-aware placement delivers locality, compliance, and ultra-low latency where it matters.\nEncrypted, erasure-coded storage, decentralized compute and GPU on demand—including LLMs.", position: "bottom", }, ]; export function StackedCubesLight() { const [active, setActive] = useState("network"); const [selectedForMobile, setSelectedForMobile] = useState("network"); const handleCubeClick = (id: string) => { setSelectedForMobile((prev) => (prev === id ? null : id)); }; const selectedMobileLayer = stackData.find( (layer) => layer.id === selectedForMobile ); return (
{/* ✨ Ambient cyan-white gradient background */}
setActive("network")} > {stackData.map((layer, index) => (
{/* 🌫 subtle glow behind each cube */}
setActive(layer.id)} onLeave={() => {}} onClick={() => handleCubeClick(layer.id)} />
))}
{/* Mobile layer description */} {selectedMobileLayer && (

{selectedMobileLayer.descriptionTitle}

{selectedMobileLayer.description}

)}
); }