"use client"; import { motion } from "framer-motion"; import { Check, ChevronLeft, ChevronRight, Circle } from "lucide-react"; import React, { useState } from "react"; import { cn } from "@/lib/utils"; import { Button } from "@/components/ui/button"; interface TimelineSectionProps { className?: string; } interface StepProps { title: string; imageSrc: string; description: string; } const steps: StepProps[] = [ { title: "Introduction", imageSrc: "https://deifkwefumgah.cloudfront.net/shadcnblocks/block/placeholder-1.svg", description: "Welcome to our step-by-step guide. This introduction will help you get started with the process and understand what to expect.", }, { title: "Personal Information", imageSrc: "https://deifkwefumgah.cloudfront.net/shadcnblocks/block/placeholder-2.svg", description: "In this section, we'll collect some basic information about you to personalize your experience and provide better recommendations.", }, { title: "Address Details", imageSrc: "https://deifkwefumgah.cloudfront.net/shadcnblocks/block/placeholder-3.svg", description: "Please provide your address details so we can deliver your products to the right location and calculate shipping costs.", }, { title: "Review & Submit", imageSrc: "https://deifkwefumgah.cloudfront.net/shadcnblocks/block/placeholder-4.svg", description: "Take a moment to review all the information you've provided before finalizing your submission. You can go back to any step.", }, ]; const ProcessBar: React.FC<{ currentStep: number; steps: StepProps[]; }> = ({ currentStep, steps }) => (
{steps.map((step, index) => (
{index < currentStep ? ( ) : ( )}
{index < steps.length - 1 && (
)} ))}
); const StepperContent: React.FC<{ step: StepProps }> = ({ step }) => { return (
{step.title} { e.currentTarget.src = "https://deifkwefumgah.cloudfront.net/shadcnblocks/block/placeholder-1.svg"; }} />

{step.description}

); }; const NavButtons: React.FC<{ currentStep: number; totalSteps: number; handlePrev: () => void; handleNext: () => void; }> = ({ handlePrev, handleNext }) => (
); const TimelineSection: React.FC = ({ className }) => { const [currentStep, setCurrentStep] = useState(1); const handleNext = () => { setCurrentStep((prev) => Math.min(prev + 1, steps.length - 1)); }; const handlePrev = () => { setCurrentStep((prev) => Math.max(prev - 1, 0)); }; return (

Stepper

); }; export { TimelineSection };