import React from "react"; import { User, CreditCard, MapPin, FileText } from "lucide-react"; type Step = "customer" | "payment" | "address" | "notes"; interface CheckoutWizardProps { currentStep: Step; onStepChange: (step: Step) => void; children: React.ReactNode; } const CheckoutWizard: React.FC = ({ currentStep, onStepChange, children, }) => { const steps = [ { id: "customer" as Step, label: "Cliente", icon: User, shortLabel: "Cliente" }, { id: "payment" as Step, label: "Financeiro", icon: CreditCard, shortLabel: "Financeiro" }, { id: "address" as Step, label: "Endereço de Entrega", icon: MapPin, shortLabel: "Endereço" }, { id: "notes" as Step, label: "Observações", icon: FileText, shortLabel: "Observações" }, ]; const currentStepIndex = steps.findIndex((s) => s.id === currentStep); return (
{/* Navegação dos Passos - Mobile/Tablet: Cards verticais */}
{steps.map((step, index) => { const Icon = step.icon; const isActive = currentStep === step.id; const isCompleted = index < currentStepIndex; const isUpcoming = index > currentStepIndex; return ( ); })}
{/* Navegação dos Passos - Desktop: Tabs horizontais */}
{steps.map((step) => { const Icon = step.icon; return ( ); })}
{/* Conteúdo dos Passos */}
{children}
); }; export default CheckoutWizard;