From 15044d85bdbecd724bffdb3265ff7124fc572174 Mon Sep 17 00:00:00 2001 From: arsam Date: Fri, 18 Sep 2026 23:05:49 +0330 Subject: [PATCH] Import source: src/components/Expertise Import the existing local project snapshot. This commit organizes existing files; it does not represent newly developed functionality. --- src/components/Expertise.tsx | 137 +++++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 src/components/Expertise.tsx diff --git a/src/components/Expertise.tsx b/src/components/Expertise.tsx new file mode 100644 index 0000000..e693c26 --- /dev/null +++ b/src/components/Expertise.tsx @@ -0,0 +1,137 @@ +'use client'; + +import { motion } from 'framer-motion'; +import { useTranslations } from 'next-intl'; +import { Cpu, Layout, ArrowRight } from 'lucide-react'; + +export default function Expertise() { + const t = useTranslations('Expertise'); + + const containerVariants = { + hidden: {}, + visible: { + transition: { + staggerChildren: 0.08, + }, + }, + }; + + const itemVariants = { + hidden: { opacity: 0, x: -15 }, + visible: { + opacity: 1, + x: 0, + transition: { duration: 0.5, ease: 'easeOut' as const } + }, + }; + + // Helper to get translated items array safely from json key + const aiItems = [0, 1, 2, 3, 4, 5]; + const webItems = [0, 1, 2, 3, 4]; + + return ( +
+
+ + {/* Header */} +
+

+ {t('title')} +

+

+ {t('subtitle')} +

+
+ + {/* Tracks Grid */} +
+ + {/* Track 1: AI & LLM Engineering */} + +
+
+ +
+
+

+ {t('aiTitle')} +

+

+ {t('aiSubtitle')} +

+
+
+ + + {aiItems.map((idx) => ( + + + {t(`aiItems.${idx}`)} + + ))} + +
+ + {/* Track 2: Web Development & Design (Coaxys) */} + +
+
+ +
+
+

+ {t('webTitle')} +

+

+ {t('webSubtitle')} +

+
+
+ + + {webItems.map((idx) => ( + + + {t(`webItems.${idx}`)} + + ))} + +
+ +
+
+
+ ); +}