feat: implement dynamic experience section with database integration and localization support
This commit is contained in:
@@ -20,9 +20,9 @@
|
|||||||
"scroll": "Scroll"
|
"scroll": "Scroll"
|
||||||
},
|
},
|
||||||
"Experience": {
|
"Experience": {
|
||||||
"badge": "Career Journey",
|
"badge": "Track Record",
|
||||||
"title": "Experience & Evolution",
|
"title": "Professional Experience",
|
||||||
"subtitle": "A timeline of building enterprise-grade systems in the banking technology industry.",
|
"subtitle": "My journey in designing and developing enterprise-grade systems",
|
||||||
"jobs": {
|
"jobs": {
|
||||||
"enterprise": {
|
"enterprise": {
|
||||||
"year": "2024 — Present",
|
"year": "2024 — Present",
|
||||||
|
|||||||
@@ -20,9 +20,9 @@
|
|||||||
"scroll": "Scroll"
|
"scroll": "Scroll"
|
||||||
},
|
},
|
||||||
"Experience": {
|
"Experience": {
|
||||||
"badge": "Perjalanan Karir",
|
"badge": "Rekam Jejak",
|
||||||
"title": "Pengalaman & Evolusi",
|
"title": "Pengalaman Profesional",
|
||||||
"subtitle": "Garis waktu (timeline) membangun sistem skala enterprise di industri teknologi perbankan.",
|
"subtitle": "Perjalanan saya dalam merancang dan mengembangkan sistem berskala enterprise",
|
||||||
"jobs": {
|
"jobs": {
|
||||||
"enterprise": {
|
"enterprise": {
|
||||||
"year": "2024 — Sekarang",
|
"year": "2024 — Sekarang",
|
||||||
|
|||||||
@@ -37,7 +37,6 @@ export async function ExperienceSection() {
|
|||||||
<div className="max-w-5xl mx-auto px-6">
|
<div className="max-w-5xl mx-auto px-6">
|
||||||
<AnimatedSection>
|
<AnimatedSection>
|
||||||
<SectionHeading
|
<SectionHeading
|
||||||
badge={t("badge")}
|
|
||||||
title={t("title")}
|
title={t("title")}
|
||||||
subtitle={t("subtitle")}
|
subtitle={t("subtitle")}
|
||||||
/>
|
/>
|
||||||
@@ -61,13 +60,13 @@ export async function ExperienceSection() {
|
|||||||
{timelineData.map((item, index) => (
|
{timelineData.map((item, index) => (
|
||||||
<AnimatedSection key={item.id} delay={index * 0.15}>
|
<AnimatedSection key={item.id} delay={index * 0.15}>
|
||||||
<div
|
<div
|
||||||
className={`relative flex flex-col md:flex-row items-start gap-6 md:gap-12 ${
|
className={`relative flex flex-col md:flex-row items-start gap-8 md:gap-24 ${
|
||||||
index % 2 === 0 ? "md:flex-row" : "md:flex-row-reverse"
|
index % 2 === 0 ? "md:flex-row" : "md:flex-row-reverse"
|
||||||
}`}
|
}`}
|
||||||
>
|
>
|
||||||
{/* Content */}
|
{/* Content */}
|
||||||
<div
|
<div
|
||||||
className={`flex-1 ml-16 md:ml-0 ${
|
className={`flex-1 ml-20 md:ml-0 ${
|
||||||
index % 2 === 0 ? "md:text-right" : "md:text-left"
|
index % 2 === 0 ? "md:text-right" : "md:text-left"
|
||||||
}`}
|
}`}
|
||||||
>
|
>
|
||||||
|
|||||||
Reference in New Issue
Block a user