'use client'; import { UserPlus, UserMinus, CheckCircle2, PlayCircle, XCircle } from 'lucide-react'; import Button from '@/ui/Button'; interface RaceJoinButtonProps { raceStatus: 'scheduled' | 'running' | 'completed' | 'cancelled'; isUserRegistered: boolean; canRegister: boolean; onRegister: () => void; onWithdraw: () => void; onCancel: () => void; onReopen?: () => void; onEndRace?: () => void; canReopenRace?: boolean; isOwnerOrAdmin?: boolean; isLoading?: { register?: boolean; withdraw?: boolean; cancel?: boolean; reopen?: boolean; }; } export function RaceJoinButton({ raceStatus, isUserRegistered, canRegister, onRegister, onWithdraw, onCancel, onReopen, onEndRace, canReopenRace = false, isOwnerOrAdmin = false, isLoading = {}, }: RaceJoinButtonProps) { // Show registration button for scheduled races if (raceStatus === 'scheduled') { if (canRegister && !isUserRegistered) { return ( ); } if (isUserRegistered) { return ( <>