'use client' import { motion } from 'framer-motion' const nodes = [ { id: 'fortran', label: 'Fortran IV', x: 20, y: 15, era: '1984' }, { id: 'c', label: 'C', x: 45, y: 25, era: '1986' }, { id: 'asm', label: '68K ASM', x: 75, y: 20, era: '1987' }, { id: 'unix', label: 'Unix', x: 30, y: 45, era: '1990' }, { id: 'linux', label: 'Linux', x: 60, y: 50, era: '1994' }, { id: 'python', label: 'Python', x: 25, y: 75, era: '2020' }, { id: 'rust', label: 'Rust', x: 55, y: 80, era: '2022' }, { id: 'ai', label: 'KI', x: 80, y: 70, era: '2023' }, ] const connections = [ ['fortran', 'c'], ['c', 'asm'], ['c', 'unix'], ['unix', 'linux'], ['linux', 'python'], ['linux', 'rust'], ['python', 'ai'], ['rust', 'ai'], ] export function SystemDiagram() { const getNodePosition = (id: string) => { const node = nodes.find(n => n.id === id) return node ? { x: node.x, y: node.y } : { x: 0, y: 0 } } return (
{/* SVG for connections */} {connections.map(([from, to], index) => { const start = getNodePosition(from) const end = getNodePosition(to) return ( ) })} {/* Nodes */} {nodes.map((node, index) => (
{/* Node circle */}
{/* Label */}
{node.label}
{/* Era tooltip */}
{node.era}
))} {/* Decorative elements */}
{/* Corner accents */}
) }