Fix: Try Inject useApiData in useIsHoliday.

This commit is contained in:
2025-07-15 13:59:11 -03:00
parent 55457afcac
commit e3339fff99
2 changed files with 16 additions and 18 deletions

View File

@@ -1,23 +1,21 @@
import { useState, useEffect } from 'react'; import { useApiData } from './useApiData';
import apiClient from '../api/apiClient';
export function useIsHoliday(marketCode: 'BA' | 'US') { export function useIsHoliday(marketCode: 'BA' | 'US') {
const [isHoliday, setIsHoliday] = useState<boolean | null>(null); // Reutilizamos el hook que ya sabe cómo obtener datos de nuestra API.
// Le pasamos el endpoint específico para los feriados.
const { data: isHoliday, loading, error } = useApiData<boolean>(`/mercados/es-feriado/${marketCode}`);
useEffect(() => { // Si hay un error al cargar los feriados, por seguridad asumimos que no es feriado.
const checkHoliday = async () => { if (error) {
try { console.error(`Error al verificar feriado para ${marketCode}, asumiendo que no lo es.`, error);
const response = await apiClient.get<boolean>(`/api/mercados/es-feriado/${marketCode}`); return false;
setIsHoliday(response.data); }
} catch (error) {
console.error(`Error al verificar feriado para ${marketCode}:`, error);
// Si la API de feriados falla, asumimos que no es feriado para no bloquear la UI.
setIsHoliday(false);
}
};
checkHoliday(); // Si está cargando, devolvemos null para que el componente sepa que debe esperar.
}, [marketCode]); if (loading) {
return null;
}
// Devolvemos el dato booleano que llegó de la API.
return isHoliday; return isHoliday;
} }

View File

@@ -13,7 +13,7 @@ export default defineConfig({
// Cualquier petición que empiece con /api... // Cualquier petición que empiece con /api...
'/api': { '/api': {
// ...redirígela a nuestro backend de .NET // ...redirígela a nuestro backend de .NET
target: 'https://widgets.eldia.com', //'http://localhost:5045', target: 'http://localhost:5045',
// Cambia el origen de la petición para que el backend la acepte // Cambia el origen de la petición para que el backend la acepte
changeOrigin: true, changeOrigin: true,
// No necesitamos reescribir la ruta, ya que el backend espera /api/... // No necesitamos reescribir la ruta, ya que el backend espera /api/...