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