import { motion } from "framer-motion"; import { Link } from "wouter"; import { ArrowLeft, Lock, CheckCircle2, Circle } from "lucide-react"; import circuitBg from '@assets/generated_images/dark_digital_circuit_board_background.png'; const TECH_TREE = [ { id: "foundation", title: "The Foundation", nodes: [ { id: 1, name: "Data Ethics", status: "completed" }, { id: 2, name: "Logic Gates", status: "completed" }, { id: 3, name: "System Architecture", status: "completed" }, ] }, { id: "verse", title: "Verse Mastery", nodes: [ { id: 4, name: "Input Sanitization", status: "completed" }, { id: 5, name: "Concurrency", status: "active" }, { id: 6, name: "Spatial Logic", status: "locked" }, ] }, { id: "security", title: "Aegis Protocols", nodes: [ { id: 7, name: "Threat Detection", status: "locked" }, { id: 8, name: "Kill-Gate Implementation", status: "locked" }, { id: 9, name: "Zero Trust Models", status: "locked" }, ] } ]; export default function Curriculum() { return (
{/* Background */}
{/* Header */}

Codex Tech Tree

Current Rank: Architect (Gold)

{/* Tree Container */}
{/* Connecting Line (Horizontal on Desktop) */}
{TECH_TREE.map((section, index) => (
{/* Section Title */}

{section.title}

Module 0{index + 1}
{/* Nodes */}
{section.nodes.map((node) => ( ))}
{/* Vertical Line for Section */}
))}
); } function Node({ data }: { data: { name: string, status: string } }) { const isCompleted = data.status === "completed"; const isActive = data.status === "active"; const isLocked = data.status === "locked"; return (
{data.name} {isCompleted && } {isActive &&
} {isLocked && }
{/* Progress Bar for Active */} {isActive && (
)} ) }