"use client"; import { motion } from "framer-motion"; import { Layers, Cpu, Database, Server } from "lucide-react"; import GlassCard from "@/components/ui/GlassCard"; import { fadeUp, stagger, viewportConfig } from "@/lib/animations"; import type { Dictionary, Locale } from "@/lib/dictionaries"; const skillGroups = [ { icon: Layers, category: "Frontend", items: ["Next.js", "React", "React Native", "Tailwind CSS"], color: "from-blue-400/20 to-blue-500/5", border: "group-hover:border-blue-400/40", iconBg: "bg-blue-500/10 border-blue-400/20 text-blue-300", iconHover: "group-hover:bg-blue-500/20 group-hover:border-blue-400/50", }, { icon: Cpu, category: "Backend", items: ["Java", "Spring Boot", "Node.js", "TypeScript", "C++", "Bash"], color: "from-emerald-400/20 to-emerald-500/5", border: "group-hover:border-emerald-400/40", iconBg: "bg-emerald-500/10 border-emerald-400/20 text-emerald-300", iconHover: "group-hover:bg-emerald-500/20 group-hover:border-emerald-400/50", }, { icon: Database, category: "Databases", items: ["PostgreSQL", "MySQL"], color: "from-amber-400/20 to-amber-500/5", border: "group-hover:border-amber-400/40", iconBg: "bg-amber-500/10 border-amber-400/20 text-amber-300", iconHover: "group-hover:bg-amber-500/20 group-hover:border-amber-400/50", }, { icon: Server, category: "Infrastructure & DevOps", items: ["Linux", "CI/CD", "Docker", "Traefik", "NGINX", "VPS"], color: "from-purple-400/20 to-purple-500/5", border: "group-hover:border-purple-400/40", iconBg: "bg-purple-500/10 border-purple-400/20 text-purple-300", iconHover: "group-hover:bg-purple-500/20 group-hover:border-purple-400/50", }, ]; interface TechStackProps { locale: Locale; dict: Dictionary; } export default function TechStack({ dict }: TechStackProps) { return (
{/* Subtle grid background */}
{/* Header */} {dict.techStack.badge} {dict.techStack.title} {" "} {dict.techStack.titleAccent} {dict.techStack.subtitle} {/* Skill cards */} {skillGroups.map((group) => ( {/* Gradient accent on hover */}

{group.category}

{group.items.map((item) => ( {item} ))}
))}
); }