import React, { useState } from 'react'; import DriverSummaryPill from '@/components/profile/DriverSummaryPill'; import Button from '@/components/ui/Button'; import { UserCog } from 'lucide-react'; import { LeagueSettingsViewModel } from '@/lib/view-models/LeagueSettingsViewModel'; import { DriverViewModel } from '@/lib/view-models/DriverViewModel'; interface LeagueOwnershipTransferProps { settings: LeagueSettingsViewModel; currentDriverId: string; onTransferOwnership: (newOwnerId: string) => Promise; } export default 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 ? ( ) : (
)}
)}
); }