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