import { cn } from '@/lib/utils'; import { ChevronLeft, ChevronRight, Plus } from 'lucide-react'; import { useState } from 'react'; interface Milestone { target: number; label: string; color: string; } interface MilestoneProgressBarProps { currentShares: number; className?: string; onStatsToggle?: () => void; showStats?: boolean; isVisible?: boolean; onAddPurchase?: () => void; onHover?: (isHovered: boolean) => void; } const milestones: Milestone[] = [ { target: 1500, label: '1.5K', color: 'bg-blue-500' }, { target: 3000, label: '3K', color: 'bg-green-500' }, { target: 4500, label: '4.5K', color: 'bg-yellow-500' }, { target: 6000, label: '6K', color: 'bg-red-500' }, ]; export default function MilestoneProgressBar({ currentShares, className, onStatsToggle, showStats = false, isVisible = false, onAddPurchase, onHover }: MilestoneProgressBarProps) { const [currentMilestoneIndex, setCurrentMilestoneIndex] = useState(0); const currentMilestone = milestones[currentMilestoneIndex]; const progress = Math.min((currentShares / currentMilestone.target) * 100, 100); const isCompleted = currentShares >= currentMilestone.target; const nextMilestone = () => { setCurrentMilestoneIndex((prev) => prev < milestones.length - 1 ? prev + 1 : 0 ); }; const prevMilestone = () => { setCurrentMilestoneIndex((prev) => prev > 0 ? prev - 1 : milestones.length - 1 ); }; const handleBarClick = () => { if (onStatsToggle) { onStatsToggle(); } }; return (