import { useState, useEffect } from 'react'; import { useParams } from 'react-router-dom'; import { fetchEvent, EventData } from '../services/eventApi'; export function useEventData() { const { token } = useParams<{ token: string }>(); const [event, setEvent] = useState(null); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { if (!token) { setError('No event token provided'); setLoading(false); return; } const loadEvent = async () => { try { setLoading(true); setError(null); const eventData = await fetchEvent(token); setEvent(eventData); } catch (err) { console.error('Failed to load event:', err); setError(err instanceof Error ? err.message : 'Failed to load event'); } finally { setLoading(false); } }; loadEvent(); }, [token]); return { event, loading, error, }; }