'use client'; import { useTranslations } from 'next-intl'; import { motion } from 'framer-motion'; import { ShieldCheck } from 'lucide-react'; import { revealVariants, staggerContainer, viewportOnce } from '@/lib/animations'; import WizardContainer from '@/components/configurator/WizardContainer'; // ─── Step indicator dot ─────────────────────────────────────────────────────── interface StepDotProps { index: number; label: string; } function StepDot({ index, label }: StepDotProps) { return ( {index} {label} ); } // ─── Component ──────────────────────────────────────────────────────────────── export default function Configurator() { const t = useTranslations('configurator'); const steps = [ t('step1.title'), t('step2.title'), t('step3.title'), ]; return ( {/* ── Left: Sticky context panel ─────────────────────────────── */} {/* Eyebrow */} {t('eyebrow')} {/* H2 */} {t('title')} {/* Description */} {t('description')} {/* Step indicators */} How it works {/* Vertical accent line + steps */} {steps.map((step, i) => ( ))} {/* Trust signal */} No commitment required {/* ── Right: Wizard ───────────────────────────────────────────── */} {/* Radial gradient glow — top-left warmth */} ); }
How it works
No commitment required