"use client"; import React from "react"; import { motion } from "framer-motion"; import { Code, Database, Cloud, Cpu, Smartphone, Zap, GitBranch, TestTube, Terminal, Layers } from "lucide-react"; import { usePortfolioData } from "@/lib/usePortfolioData"; const ICON_MAP: Record = { Code, Database, Cloud, Cpu, Smartphone, Zap, GitBranch, TestTube, Terminal, Layers }; const getCategoryStyles = (color: string) => { const base = color.replace("text-", ""); return { icon: color, bg: `bg-${base}/10`, border: `border-slate-800/50`, }; }; export default function Skills() { const { data, loading, error } = usePortfolioData(); if (loading) return ; if (error || !data) return ; return (
{/* Header Seção */}

Stack de Engenharia

Arsenal Tecnológico

Sistemas resilientes construídos com precisão matemática e rigor arquitetural.

{/* Grid de Habilidades */}
{data.skills.technical.map((category, index) => { const Icon = ICON_MAP[category.icon] || Code; const styles = getCategoryStyles(category.color); return (
ID_0{index}

{category.category}

{category.skills.map((skill, sIdx) => ( {skill} ))}
); })}
); } // --- Componentes de Suporte (Manter no mesmo arquivo para contexto ou mover para /components) --- function LoadingState() { return (
Initializing Systems...
); } function ErrorState() { return (
[FATAL_ERROR]: Failed to synchronize portfolio data.
); }