diff --git a/shop/components/ProcessSteps.tsx b/shop/components/ProcessSteps.tsx new file mode 100644 index 0000000..cbc6f9d --- /dev/null +++ b/shop/components/ProcessSteps.tsx @@ -0,0 +1,155 @@ +'use client' + +import React from 'react' +import { motion } from 'framer-motion' + +interface Step { + number: string + title: string + description: string +} + +const steps: Step[] = [ + { + number: '1', + title: 'Kunde wählen', + description: 'Gewünschten Kunden auswählen, der die Lizenz erhalten soll.' + }, + { + number: '2', + title: 'Lizenz wählen', + description: 'Gewünschte Lizenzen für den Kunden auswählen und die Bestellung abschließen.' + }, + { + number: '3', + title: 'Live gehen', + description: 'Nach dem Erhalt der Lizenz direkt live gehen und durchstarten.' + } +] + +const containerVariants = { + hidden: {}, + visible: { + transition: { + delayChildren: 0.2, + staggerChildren: 0.35 + } + } +} + +const stepVariants = { + hidden: { + opacity: 0, + y: 20 + }, + visible: { + opacity: 1, + y: 0, + transition: { + type: 'spring' as const, + stiffness: 70, + damping: 16 + } + } +} + +export function ProcessSteps() { + return ( +
+
+ {/* Section Header */} + +

+ Wie funktioniert die Bereitstellung? +

+

+ In nur drei einfachen Schritten richten Sie CASPOS Lizenzen für Ihre Kunden ein. +

+
+ + {/* Horizontale Timeline */} +
+ {/* Basis-Linie exakt zwischen Schritt 1 und 3 */} +
+ + {/* Animierte, aufgeladene Linie (sky-500) */} + + + {/* 3 Schritte Nebeneinander */} + + {steps.map((step, index) => { + const isLiveStep = index === 2 + + return ( + + {/* Nummer im runden Kreis auf der Linie */} +
+ + {step.number} + + + {/* Pulsierender Ziel-Ring bei Schritt 3 */} + {isLiveStep && ( + + )} +
+ + {/* Text-Inhalt zentriert ohne Boxen-Hintergrund */} +
+

+ {step.title} + {isLiveStep && ( + + LIVE + + )} +

+

+ {step.description} +

+
+
+ ) + })} +
+
+
+
+ ) +}