"use client";
import { motion, type Variants, useReducedMotion } from "framer-motion";
import { usePortfolioData } from "@/lib/usePortfolioData";
import { Section } from "./Section";
import MagneticButton from "./cinematic/MagneticButton";
import { DrawLine } from "./animations/DrawLine";
import { SectionLoading } from "./SectionLoading";
export default function Skills() {
const { data, loading, error } = usePortfolioData();
const shouldReduceMotion = useReducedMotion();
if (loading) {
return ;
}
if (error || !data) {
return
Error loading core stack
;
}
const gridVariants: Variants = {
hidden: {},
visible: {
transition: {
delayChildren: 0.06,
staggerChildren: 0.08,
},
},
};
const cardVariants: Variants = {
hidden: shouldReduceMotion
? { opacity: 0 }
: { opacity: 0, y: 20, clipPath: "inset(100% 0 0 0)" },
visible: {
opacity: 1,
y: 0,
clipPath: "inset(0% 0 0 0)",
transition: shouldReduceMotion
? { duration: 0.25 }
: { duration: 0.8, ease: [0.16, 1, 0.3, 1] },
},
};
return (
{data.skills.technical.map((category) => (
{category.category}
Ferramentas que uso para construir com clareza tecnica e ritmo de
entrega.
{category.skills.map((skill) => (
{skill}
))}
))}
);
}