{% import "partials/icons.html" as icons %} {% macro location_search_js() %} const locateUser = (triggerEl) => { const root = triggerEl.closest('[data-location-root]'); const emit = (name, detail) => root.dispatchEvent(new CustomEvent(name, { detail, bubbles: true })); if (!navigator.geolocation) { emit('location-error', { message: 'Geolocation not supported by your browser.' }); return; } emit('location-start'); navigator.geolocation.getCurrentPosition( (pos) => { emit('location-found', { lat: pos.coords.latitude, lng: pos.coords.longitude }); }, (err) => { if (err.code === 1) { emit('location-error', { message: 'Location access denied. Search by name instead.' }); } else { emit('location-error', { message: 'Could not determine location. Search by name instead.' }); } }, { enableHighAccuracy: true, timeout: 15000 }, ); }; {% endmacro %} {% macro location_search(error_signal) %}
{% endmacro %}