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 apiClient from '../api/apiClient';
import { useApiData } from './useApiData';
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(() => {
const checkHoliday = async () => {
try {
const response = await apiClient.get<boolean>(`/api/mercados/es-feriado/${marketCode}`);
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);
// Si hay un error al cargar los feriados, por seguridad asumimos que no es feriado.
if (error) {
console.error(`Error al verificar feriado para ${marketCode}, asumiendo que no lo es.`, error);
return false;
}
};
checkHoliday();
}, [marketCode]);
// Si está cargando, devolvemos null para que el componente sepa que debe esperar.
if (loading) {
return null;
}
// Devolvemos el dato booleano que llegó de la API.
return isHoliday;
}

View File

@@ -13,7 +13,7 @@ export default defineConfig({
// Cualquier petición que empiece con /api...
'/api': {
// ...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
changeOrigin: true,
// No necesitamos reescribir la ruta, ya que el backend espera /api/...