import { motion, type Variants } from "framer-motion"; import { useTranslations } from "@/i18n/utils"; import { type SkillItem } from "@/types"; const allSkills: SkillItem[] = [ // Programming Languages { name: "TypeScript", icon: "typescript" }, { name: "JavaScript", icon: "javascript" }, { name: "React", icon: "react" }, { name: "Vue", icon: "vue" }, // Frontend Development { name: "Next.js", icon: "nextjs" }, { name: "Nuxt.js", icon: "nuxtjs" }, { name: "React Native", icon: "react" }, { name: "Tailwind CSS", icon: "tailwindcss" }, { name: "Shadcn UI", icon: "react" }, // Using react icon as fallback { name: "PrimeVue", icon: "vue" }, // Using vue icon as fallback { name: "Naive-UI", icon: "vue" }, // Using vue icon as fallback // Backend Development { name: "Node.js", icon: "nodejs" }, { name: "Express.js", icon: "express" }, { name: "Nest.js", icon: "nestjs" }, { name: "Hono.js", icon: "nodejs" }, // Using nodejs icon as fallback // Database & Storage { name: "PostgreSQL", icon: "postgresql" }, { name: "MongoDB", icon: "mongodb" }, { name: "Drizzle ORM", icon: "typescript" }, // Using typescript icon as fallback { name: "Mongoose", icon: "mongodb" }, // Using mongodb icon as fallback { name: "Prisma", icon: "prisma" }, // Cloud & DevOps { name: "AWS", icon: "aws" }, { name: "Cloudflare", icon: "cloudflare" }, { name: "Vercel", icon: "vercel" }, // Tools & Services { name: "Zod", icon: "typescript" }, // Using typescript icon as fallback { name: "BetterAuth", icon: "nodejs" }, // Using nodejs icon as fallback { name: "Clerk", icon: "react" }, // Using react icon as fallback { name: "GitLab", icon: "gitlab" }, { name: "CI/CD", icon: "github" }, // Using github icon as fallback { name: "Git", icon: "git" }, { name: "Docker", icon: "docker" }, ]; /** * Individual skill item component with icon and name */ function SkillItem({ skill }: { skill: SkillItem }) { const iconUrl = `https://skillicons.dev/icons?i=${skill.icon}`; return (