'use client'; import { useEffect, useRef, useState } from 'react'; interface Skill { name: string; level: number; // 1-5 category: string; } const skillsData: Skill[] = [ // Programmiersprachen { name: 'PHP & FW Laravel', level: 4, category: 'Programmiersprachen' }, { name: 'Python & Perl', level: 4, category: 'Programmiersprachen' }, { name: 'JavaScript', level: 4, category: 'Programmiersprachen' }, { name: 'Node.js', level: 3, category: 'Programmiersprachen' }, { name: 'Vue.js / Next.js', level: 4, category: 'Programmiersprachen' }, { name: 'HTML', level: 5, category: 'Programmiersprachen' }, { name: 'CSS & Frameworks', level: 5, category: 'Programmiersprachen' }, { name: 'Sass', level: 4, category: 'Programmiersprachen' }, // Datenbanken { name: 'SQL (MS/DB2/Oracle)', level: 4, category: 'Datenbanken' }, { name: 'MySQL, MariaDB, Postgres', level: 4, category: 'Datenbanken' }, { name: 'Redis', level: 4, category: 'Datenbanken' }, { name: 'MongoDB', level: 3, category: 'Datenbanken' }, { name: 'CouchDB', level: 3, category: 'Datenbanken' }, { name: 'Firebase', level: 1, category: 'Datenbanken' }, // DevOps { name: 'Linux Bash Scripting', level: 4, category: 'DevOps' }, { name: 'Git / SVN', level: 4, category: 'DevOps' }, { name: 'Docker / Kubernetes', level: 3, category: 'DevOps' }, { name: 'AWS', level: 3, category: 'DevOps' }, { name: 'CI/CD Pipelines', level: 4, category: 'DevOps' }, { name: 'Draw.io Architektur', level: 4, category: 'DevOps' }, // Grafik & Design { name: 'Adobe Suite (u.a. PS/XD)', level: 4, category: 'Grafik & Design' }, { name: 'Affinity', level: 4, category: 'Grafik & Design' }, { name: 'FinalCut', level: 4, category: 'Grafik & Design' }, ]; const categories = [ 'Programmiersprachen', 'Datenbanken', 'DevOps', 'Grafik & Design', ]; export default function Skills() { const [activeCategory, setActiveCategory] = useState('Programmiersprachen'); const [isVisible, setIsVisible] = useState(false); const ref = useRef(null); useEffect(() => { const currentRef = ref.current; const observer = new IntersectionObserver( ([entry]) => { if (entry.isIntersecting) { setIsVisible(true); } }, { threshold: 0.1 } ); if (currentRef) { observer.observe(currentRef); } return () => { if (currentRef) { observer.unobserve(currentRef); } }; }, []); const filteredSkills = skillsData.filter((skill) => skill.category === activeCategory); return (

Technische Fähigkeiten

Umfassende Expertise in modernen Technologien und Frameworks

{/* Category Tabs */}
{categories.map((category, index) => ( ))}
{/* Skills Grid */}
{filteredSkills.map((skill, index) => (
{/* Skill Name */}

{skill.name}

{/* Level Bar */}
{skill.level}/5
{/* Level Dots */}
{[1, 2, 3, 4, 5].map((dot) => (
))}
))}
{/* Info Text */}

Bewertungsskala: 1 = Grundkenntnisse | 5 = Expertenwissen

); }