From 56012fd0d670d61f823b511de58d8b394ed22667 Mon Sep 17 00:00:00 2001 From: Marc Mintel Date: Wed, 13 May 2026 11:46:40 +0200 Subject: [PATCH] feat(ui): modernize company timeline with icons and giant typography --- components/blocks/CompanyTimeline.tsx | 97 ++++++++++++++++++++------- 1 file changed, 72 insertions(+), 25 deletions(-) diff --git a/components/blocks/CompanyTimeline.tsx b/components/blocks/CompanyTimeline.tsx index 386502b67..ffa3642bc 100644 --- a/components/blocks/CompanyTimeline.tsx +++ b/components/blocks/CompanyTimeline.tsx @@ -2,34 +2,45 @@ import * as React from 'react'; import { motion, useScroll, useTransform } from 'framer-motion'; +import { Building2, Compass, Layers, Drill, ArrowDownToLine, Wrench } from 'lucide-react'; const defaultMilestones = [ { date: '16.12.2015', + year: '2015', title: 'Gründung E-TIB GmbH', desc: 'Ausführung elektrischer Infrastrukturprojekte, Kabelbau und Horizontalspülbohrungen.', + icon: Building2, }, { date: '04.02.2019', - title: 'Gründung E-TIB Ingenieurgesellschaft mbH', + year: '2019', + title: 'Gründung E-TIB Ingenieurgesellschaft', desc: 'Genehmigungs- und Ausführungsplanung, komplexe Querungen sowie Netzanschlussplanung.', + icon: Compass, }, { date: '14.11.2019', + year: '2019', title: 'Gründung E-TIB Verwaltung GmbH', desc: 'Zentrale Dienste, Erwerb, Vermietung, Verpachtung und Verwaltung von Immobilien und Maschinen.', + icon: Layers, }, { date: '21.10.2025', + year: '2025', title: 'Gründung E-TIB Bohrtechnik GmbH', desc: 'Spezialisierung auf präzise Horizontalspülbohrungen in allen Bodenklassen.', + icon: ArrowDownToLine, }, ]; interface Milestone { date: string; + year: string; title: string; desc: string; + icon: React.ElementType; } interface CompanyTimelineProps { @@ -52,48 +63,84 @@ export function CompanyTimeline({ const lineHeight = useTransform(scrollYProgress, [0, 1], ["0%", "100%"]); return ( -
-
-
-

{badge}

-

{title}

+
+ {/* Background Decor */} +
+
+ +
+
+
+ + {badge} +
+

+ {title} +

- {/* Central Line */} -
+ {/* Central Line Background */} +
+ + {/* Animated Central Line */} +
-
+
{milestones.map((milestone, i) => { const isEven = i % 2 === 0; - // isEven (0, 2): Left side on desktop - // !isEven (1, 3): Right side on desktop + const Icon = milestone.icon; + return ( - {/* Timeline Dot */} -
+ {/* Timeline Dot with Pulse */} +
+
+
- {/* Content Box */} -
-
- - {milestone.date} - -

{milestone.title}

-

{milestone.desc}

+ {/* Content Box Wrapper */} +
+ + {/* The Card */} +
+ + {/* Giant Typography Background Year */} +
+ {milestone.year} +
+ +
+ {/* Header Row */} +
+
+ +
+ + {milestone.date} + +
+ +

+ {milestone.title} +

+

+ {milestone.desc} +

+
+
);