import { useState } from "react"; import { useNavigate } from "react-router-dom"; import { ArrowLeft } from "lucide-react"; interface Arm { id: string; label: string; color: string; bgGradient: string; textColor: string; href: string; icon: string; tip: string; } const ARMS: Arm[] = [ { id: "staff", label: "Admin", color: "#7c3aed", bgGradient: "from-purple-600 to-purple-400", textColor: "text-purple-400", href: "/admin", icon: "https://cdn.builder.io/api/v1/image/assets%2Ffc53d607e21d497595ac97e0637001a1%2Fc0414efd7af54ef4b821a05d469150d0?format=webp&width=800", tip: "Admin panel & staff management", }, { id: "labs", label: "Labs", color: "#FBBF24", bgGradient: "from-yellow-600 to-yellow-400", textColor: "text-yellow-400", href: "/labs", icon: "https://cdn.builder.io/api/v1/image/assets%2Ffc53d607e21d497595ac97e0637001a1%2Fd93f7113d34347469e74421c3a3412e5?format=webp&width=800", tip: "R&D pushing innovation boundaries", }, { id: "gameforge", label: "GameForge", color: "#22C55E", bgGradient: "from-green-600 to-green-400", textColor: "text-green-400", href: "/gameforge", icon: "https://cdn.builder.io/api/v1/image/assets%2Ffc53d607e21d497595ac97e0637001a1%2Fcd3534c1caa0497abfd44224040c6059?format=webp&width=800", tip: "Games shipped monthly at speed", }, { id: "corp", label: "Corp", color: "#3B82F6", bgGradient: "from-blue-600 to-blue-400", textColor: "text-blue-400", href: "/corp", icon: "https://cdn.builder.io/api/v1/image/assets%2Ffc53d607e21d497595ac97e0637001a1%2Fae654ecc18b241bdab273893e8231970?format=webp&width=800", tip: "Enterprise solutions for scale", }, { id: "foundation", label: "Foundation", color: "#EF4444", bgGradient: "from-red-600 to-red-400", textColor: "text-red-400", href: "/foundation", icon: "https://cdn.builder.io/api/v1/image/assets%2Ffc53d607e21d497595ac97e0637001a1%2Fc02cb1bf5056479bbb3ea4bd91f0d472?format=webp&width=800", tip: "Community & education initiatives", }, { id: "devlink", label: "Dev-Link", color: "#06B6D4", bgGradient: "from-cyan-600 to-cyan-400", textColor: "text-cyan-400", href: "/dev-link", icon: "https://cdn.builder.io/api/v1/image/assets%2Ffc53d607e21d497595ac97e0637001a1%2F9a96b43cbd7b49bb9d5434580319c793?format=webp&width=800", tip: "Professional network for creators", }, { id: "nexus", label: "Nexus", color: "#A855F7", bgGradient: "from-purple-600 to-purple-400", textColor: "text-purple-400", href: "/nexus", icon: "https://cdn.builder.io/api/v1/image/assets%2Ffc53d607e21d497595ac97e0637001a1%2F6df123b87a144b1fb99894d94198d97b?format=webp&width=800", tip: "Talent marketplace & collaboration", }, ]; interface ArmSwitcherModalProps { isOpen: boolean; onClose: () => void; } export default function ArmSwitcherModal({ isOpen, onClose, }: ArmSwitcherModalProps) { const navigate = useNavigate(); const [selectedArm, setSelectedArm] = useState(null); const [isNavigating, setIsNavigating] = useState(false); const handleSelectArm = (armId: string) => { setSelectedArm(armId); }; const handleProceed = () => { if (selectedArm) { const arm = ARMS.find((a) => a.id === selectedArm); if (arm) { setIsNavigating(true); setTimeout(() => { navigate(arm.href); onClose(); setSelectedArm(null); setIsNavigating(false); }, 600); } } }; const handleBack = () => { if (selectedArm) { setSelectedArm(null); } else { onClose(); } }; const selectedArmData = selectedArm ? ARMS.find((a) => a.id === selectedArm) : null; if (!isOpen) return null; return (
{/* Header */}

{selectedArm ? selectedArmData?.label : "Select Arm"}

{/* Content */}
{!selectedArm ? ( // Arm Grid - Minimal
{ARMS.map((arm) => ( ))}
) : selectedArmData && !isNavigating ? ( // Landing Page - Minimal
{/* Icon */}
{selectedArmData.label}
{/* Title & Tip */}

{selectedArmData.label}

{selectedArmData.tip}

{/* Progress Bars */}
{[0, 1, 2, 3, 4].map((i) => (
))}
) : ( // Loading State
{[0, 1, 2, 3, 4].map((i) => (
))}

Initializing...

)}
{/* Footer - Buttons */}
{selectedArm && !isNavigating ? ( <> ) : !isNavigating ? ( ) : null}
); }