import { useState } from "react"; import { Button } from "@/components/ui/button"; import { Card, CardContent } from "@/components/ui/card"; import { Checkbox } from "@/components/ui/checkbox"; import { Label } from "@/components/ui/label"; import { Zap, Gamepad2, Briefcase, BookOpen, Network, Sparkles, Shield, } from "lucide-react"; interface FollowArmsProps { selectedArms: string[]; onUpdate: (arms: string[]) => void; nextStep: () => void; prevStep: () => void; } const ARMS = [ { id: "labs", name: "AeThex Labs", icon: Zap, color: "text-yellow-400", bgColor: "bg-yellow-500/10", borderColor: "border-yellow-500/30", description: "Research, innovation, and experimental tech", }, { id: "gameforge", name: "GameForge", icon: Gamepad2, color: "text-green-400", bgColor: "bg-green-500/10", borderColor: "border-green-500/30", description: "Game development and interactive experiences", }, { id: "corp", name: "AeThex Corp", icon: Briefcase, color: "text-blue-400", bgColor: "bg-blue-500/10", borderColor: "border-blue-500/30", description: "Enterprise consulting and professional services", }, { id: "foundation", name: "AeThex Foundation", icon: BookOpen, color: "text-red-400", bgColor: "bg-red-500/10", borderColor: "border-red-500/30", description: "Education, mentorship, and community building", }, { id: "devlink", name: "Dev-Link", icon: Network, color: "text-cyan-400", bgColor: "bg-cyan-500/10", borderColor: "border-cyan-500/30", description: "Professional networking and opportunities", }, { id: "nexus", name: "NEXUS", icon: Sparkles, color: "text-purple-400", bgColor: "bg-purple-500/10", borderColor: "border-purple-500/30", description: "Creative marketplace and artist collaboration", }, ]; export default function FollowArms({ selectedArms, onUpdate, nextStep, prevStep, }: FollowArmsProps) { const [localSelection, setLocalSelection] = useState(selectedArms); const handleToggle = (armId: string) => { setLocalSelection((prev) => prev.includes(armId) ? prev.filter((a) => a !== armId) : [...prev, armId] ); }; const handleContinue = () => { if (localSelection.length === 0) { alert("Please select at least one arm to follow"); return; } onUpdate(localSelection); nextStep(); }; return (
Choose which AeThex arms you want to follow. You can change this anytime in your settings. Select at least one to continue.
{arm.description}
You're following {localSelection.length} arm {localSelection.length !== 1 ? "s" : ""} {localSelection.length > 0 && ":"} {localSelection .map( (id) => ARMS.find((a) => a.id === id)?.name || id ) .join(", ")}