import React, { useState } from 'react'; import { Button } from '../../ui/button'; import { Input } from '../../ui/input'; import { X, Tag, Check, AlertCircle } from 'lucide-react'; interface PromoCodeModalProps { onClose: () => void; onApply: (discountPercent: number, code: string) => void; } export const PromoCodeModal: React.FC = ({ onClose, onApply }) => { const [code, setCode] = useState(''); const [status, setStatus] = useState<'idle' | 'success' | 'error'>('idle'); const handleApply = () => { // Mock validation if (code.toUpperCase() === 'VEZA20') { setStatus('success'); setTimeout(() => { onApply(20, 'VEZA20'); onClose(); }, 1000); } else { setStatus('error'); } }; return (

Add Promo Code

{ setCode(e.target.value); setStatus('idle'); }} className={status === 'error' ? 'border-kodo-red focus:border-kodo-red' : ''} /> {status === 'error' && (
Invalid promo code
)} {status === 'success' && (
Code applied! 20% Off
)}
); };