import { useCallback, useState } from "react"; // Pide la ubicación del navegador solo cuando el usuario la solicita explícitamente // (botón "Cerca de mí"), nunca automáticamente al cargar la página. export default function useUbicacion() { const [ubicacion, setUbicacion] = useState(null); // { lat, lng } const [buscando, setBuscando] = useState(false); const [error, setError] = useState(""); const pedirUbicacion = useCallback(() => { if (!navigator.geolocation) { setError("Tu navegador no permite compartir ubicación."); return; } setBuscando(true); setError(""); navigator.geolocation.getCurrentPosition( (pos) => { setUbicacion({ lat: pos.coords.latitude, lng: pos.coords.longitude }); setBuscando(false); }, (err) => { setError(err.code === 1 ? "Has denegado el acceso a tu ubicación." : "No se pudo obtener tu ubicación."); setBuscando(false); }, { enableHighAccuracy: true, timeout: 10000 }, ); }, []); const limpiarUbicacion = useCallback(() => { setUbicacion(null); setError(""); }, []); return { ubicacion, buscando, error, pedirUbicacion, limpiarUbicacion }; }