Files
ev-pwa/src/hooks/useSchedules.js
2025-06-17 17:46:21 +01:00

34 lines
1.1 KiB
JavaScript

// src/hooks/useSchedules.js
import { useState, useEffect } from 'react';
import { getAuthHeader } from '@/utils/apiAuthHeader';
// Agora recebe chargerId!
export function useSchedules(chargerId) {
const [schedules, setSchedules] = useState([]);
const [loading, setLoading] = useState(true);
const [error, setError] = useState('');
useEffect(() => {
if (!chargerId) return; // Só busca se houver carregador selecionado
setLoading(true);
fetch(`/api/chargers/${chargerId}/schedule`, {
headers: getAuthHeader(),
})
.then(res => {
if (res.status === 401 || res.status === 403) {
setError('Sessão expirada. Faça login novamente.');
return { data: [] };
}
return res.json();
})
.then(json => {
setSchedules(json.data || []);
setError('');
})
.catch(() => setError('Falha ao carregar agendamentos'))
.finally(() => setLoading(false));
}, [chargerId]); // <-- Atualiza quando o chargerId mudar
return { schedules, setSchedules, loading, error };
}