Fix: Try Inject useApiData in useIsHoliday.
This commit is contained in:
@@ -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);
|
||||
}
|
||||
};
|
||||
|
||||
checkHoliday();
|
||||
}, [marketCode]);
|
||||
// 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;
|
||||
}
|
||||
|
||||
// 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;
|
||||
}
|
||||
@@ -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/...
|
||||
|
||||
Reference in New Issue
Block a user