import { useState, useEffect } from 'react'; import { ref, onValue } from 'firebase/database'; import { db } from '../lib/firebase'; import type { Match, Escalao } from '../types/database'; export function useMatches(escalao: Escalao, jornada: number) { const [matches, setMatches] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { // ReferĂȘncia para jornadas/[escalao]/[numero_jornada] const matchesRef = ref(db, `jornadas/${escalao}/${jornada}`); const unsubscribe = onValue(matchesRef, (snapshot) => { const data = snapshot.val(); if (data) { // Converte o objeto { "id": matchData } num array de Match const matchesList: Match[] = Object.entries(data).map(([id, matchData]: [string, any]) => ({ id, ...matchData, jornadaId: jornada.toString() })); setMatches(matchesList); } else { setMatches([]); } setLoading(false); }, (err) => { setError(err); setLoading(false); }); return () => unsubscribe(); }, [escalao, jornada]); return { matches, loading, error }; }