import { DriverSummaryPill } from '@/components/drivers/DriverSummaryPillWrapper'; import { DriverViewModel } from '@/lib/view-models/DriverViewModel'; import { LeagueSettingsViewModel } from '@/lib/view-models/LeagueSettingsViewModel'; import { Button } from '@/ui/Button'; import { Card } from '@/ui/Card'; import { Heading } from '@/ui/Heading'; import { Icon } from '@/ui/Icon'; import { Stack } from '@/ui/Stack'; import { Select } from '@/ui/Select'; import { Text } from '@/ui/Text'; import { UserCog } from 'lucide-react'; import { useState } from 'react'; interface LeagueOwnershipTransferProps { settings: LeagueSettingsViewModel; currentDriverId: string; onTransferOwnership: (newOwnerId: string) => Promise; } export function LeagueOwnershipTransfer({ settings, currentDriverId, onTransferOwnership }: LeagueOwnershipTransferProps) { const [showTransferDialog, setShowTransferDialog] = useState(false); const [selectedNewOwner, setSelectedNewOwner] = useState(''); const [transferring, setTransferring] = useState(false); const handleTransferOwnership = async () => { if (!selectedNewOwner) return; setTransferring(true); try { await onTransferOwnership(selectedNewOwner); setShowTransferDialog(false); setSelectedNewOwner(''); } catch (err) { console.error('Failed to transfer ownership:', err); alert(err instanceof Error ? err.message : 'Failed to transfer ownership'); } finally { setTransferring(false); } }; const ownerSummary = settings.owner; return ( {/* League Owner */} League Owner {ownerSummary ? ( ) : ( Loading owner details... )} {/* Transfer Ownership - Owner Only */} {settings.league.ownerId === currentDriverId && settings.members.length > 0 && ( Transfer Ownership Transfer league ownership to another active member. You will become an admin. {!showTransferDialog ? ( ) : (