"use client"; import React, { useState } from "react"; import { motion, AnimatePresence } from "framer-motion"; import { Network, Target, Rocket, Shield, Users, Zap, Heart, Briefcase } from "lucide-react"; const mindMapData = [ { id: "root", label: "Corporación ERP", icon: Network, color: "text-blue-400", sub: ["mision", "vision", "valores"] }, { id: "mision", label: "Misión", icon: Target, color: "text-purple-400", sub: ["digitalizar", "automatizar"] }, { id: "vision", label: "Visión 2030", icon: Rocket, color: "text-orange-400", sub: ["global", "ia"] }, { id: "valores", label: "Valores", icon: Shield, color: "text-emerald-400", sub: ["etica", "calidad"] }, { id: "digitalizar", label: "Digitalización", icon: Zap, color: "text-yellow-400", parent: "mision" }, { id: "automatizar", label: "Automatización", icon: Heart, color: "text-pink-400", parent: "mision" }, { id: "global", label: "Expansión Global", icon: Briefcase, color: "text-blue-500", parent: "vision" }, { id: "ia", label: "IA Avanzada", icon: Rocket, color: "text-indigo-400", parent: "vision" }, ]; export default function MindMapPage() { const [activeNode, setActiveNode] = useState("root"); const currentNode = mindMapData.find(n => n.id === activeNode) || mindMapData[0]; const children = mindMapData.filter(n => currentNode.sub?.includes(n.id)); const parent = mindMapData.find(n => n.id === currentNode.parent); return (

MIND / MAP

ADN de la Organización

{/* Main Node */}
{/* Parent Link */} {parent && ( )}
{/* Children Nodes */} {children.length > 0 && (
{children.map((child, i) => (
setActiveNode(child.id)} className="cursor-pointer" > {/* Line */}
))}
)}
Navegación Interactiva
Selecciona un nodo para profundizar
Basado en Core-Business Pillars
); } function NodeUI({ node, size }: { node: any, size: "large" | "medium" }) { const Icon = node.icon; return (
{node.label} {node.sub && ( Expandible + )}
); }