'use client'; import { useState } from 'react'; import { motion } from 'framer-motion'; import * as Si from 'react-icons/si'; import { techStack } from '@/content/techstack'; import styles from './TechStack.module.scss'; const categories = ['all', 'language', 'framework', 'tool', 'database'] as const; export default function TechStack() { const [active, setActive] = useState('all'); const filtered = active === 'all' ? techStack : techStack.filter(t => t.category === active); return (

Technologies.

Languages, frameworks, tools & databases I work with.

{categories.map(cat => ( ))} {filtered.map((tech, i) => { const Icon = (Si as Record)[tech.icon] ?? Si.SiCoder; return ( {tech.name} ); })}
); }