Files
aicyclingcoach-go/frontend/.next/static/chunks/874.ac0dc4f2b74532e5.js
2025-09-11 13:17:45 -07:00

1 line
6.4 KiB
JavaScript

(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[874],{2874:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return Z}});var r,u,o,l,a,i,c=t(7294);function f(e,n){return Object.freeze({...e,...n})}let s=(0,c.createContext)(null),p=s.Provider;function d(){let e=(0,c.useContext)(s);if(null==e)throw Error("No context provided: useLeafletContext() can only be used in a descendant of <MapContainer>");return e}var m=t(5243),g=t.n(m);function v(){return(v=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e}).apply(this,arguments)}let h=(0,c.forwardRef)(function({bounds:e,boundsOptions:n,center:t,children:r,className:u,id:o,placeholder:l,style:a,whenReady:i,zoom:f,...s},d){let[g]=(0,c.useState)({className:u,id:o,style:a}),[h,b]=(0,c.useState)(null);(0,c.useImperativeHandle)(d,()=>h?.map??null,[h]);let y=(0,c.useCallback)(r=>{if(null!==r&&null===h){let u=new m.Map(r,s);null!=t&&null!=f?u.setView(t,f):null!=e&&u.fitBounds(e,n),null!=i&&u.whenReady(i),b(Object.freeze({__version:1,map:u}))}},[]);(0,c.useEffect)(()=>()=>{h?.map.remove()},[h]);let w=h?c.createElement(p,{value:h},r):l??null;return c.createElement("div",v({},g,{ref:y}),w)});var b=t(3935);function y(e){return(0,c.forwardRef)(function(n,t){let{instance:r,context:u}=e(n).current;return(0,c.useImperativeHandle)(t,()=>r),null==n.children?null:c.createElement(p,{value:u},n.children)})}function w(e,n,t){return Object.freeze({instance:e,context:n,container:t})}function x(e,n){return null==n?function(n,t){let r=(0,c.useRef)();return r.current||(r.current=e(n,t)),r}:function(t,r){let u=(0,c.useRef)();u.current||(u.current=e(t,r));let o=(0,c.useRef)(t),{instance:l}=u.current;return(0,c.useEffect)(function(){o.current!==t&&(n(l,t,o.current),o.current=t)},[l,t,r]),u}}function O(e,n){let t=(0,c.useRef)(n);(0,c.useEffect)(function(){n!==t.current&&null!=e.attributionControl&&(null!=t.current&&e.attributionControl.removeAttribution(t.current),null!=n&&e.attributionControl.addAttribution(n)),t.current=n},[e,n])}function C(e,n){let t=(0,c.useRef)();(0,c.useEffect)(function(){return null!=n&&e.instance.on(n),t.current=n,function(){null!=t.current&&e.instance.off(t.current),t.current=null}},[e,n])}function E(e,n){let t=e.pane??n.pane;return t?{...e,pane:t}:e}function I(e,n){(0,c.useEffect)(function(){return(n.layerContainer??n.map).addLayer(e.instance),function(){n.layerContainer?.removeLayer(e.instance),n.map.removeLayer(e.instance)}},[n,e])}function L(e){return function(n){let t=d(),r=e(E(n,t),t);return O(t.map,n.attribution),C(r.current,n.eventHandlers),I(r.current,t),r}}let R=(r=L(x(function({url:e,...n},t){return w(new m.TileLayer(e,E(n,t)),t)},function(e,n,t){!function(e,n,t){let{opacity:r,zIndex:u}=n;null!=r&&r!==t.opacity&&e.setOpacity(r),null!=u&&u!==t.zIndex&&e.setZIndex(u)}(e,n,t);let{url:r}=n;null!=r&&r!==t.url&&e.setUrl(r)})),(0,c.forwardRef)(function(e,n){let{instance:t}=r(e).current;return(0,c.useImperativeHandle)(n,()=>t),null})),j=y((u=x(function({positions:e,...n},t){let r=new m.Polyline(e,n);return w(r,f(t,{overlayContainer:r}))},function(e,n,t){n.positions!==t.positions&&e.setLatLngs(n.positions)}),function(e){let n=d(),t=u(E(e,n),n);return C(t.current,e.eventHandlers),I(t.current,n),function(e,n){let t=(0,c.useRef)();(0,c.useEffect)(function(){if(n.pathOptions!==t.current){let r=n.pathOptions??{};e.instance.setStyle(r),t.current=r}},[e,n])}(t.current,e),t})),k=y(L(x(function({position:e,...n},t){let r=new m.Marker(e,n);return w(r,f(t,{overlayContainer:r}))},function(e,n,t){n.position!==t.position&&e.setLatLng(n.position),null!=n.icon&&n.icon!==t.icon&&e.setIcon(n.icon),null!=n.zIndexOffset&&n.zIndexOffset!==t.zIndexOffset&&e.setZIndexOffset(n.zIndexOffset),null!=n.opacity&&n.opacity!==t.opacity&&e.setOpacity(n.opacity),null!=e.dragging&&n.draggable!==t.draggable&&(!0===n.draggable?e.dragging.enable():e.dragging.disable())}))),z=(o=function(e,n){return w(new m.Popup(e,n.overlayContainer),n)},l=function(e,n,{position:t},r){(0,c.useEffect)(function(){let{instance:u}=e;function o(e){e.popup===u&&(u.update(),r(!0))}function l(e){e.popup===u&&r(!1)}return n.map.on({popupopen:o,popupclose:l}),null==n.overlayContainer?(null!=t&&u.setLatLng(t),u.openOn(n.map)):n.overlayContainer.bindPopup(u),function(){n.map.off({popupopen:o,popupclose:l}),n.overlayContainer?.unbindPopup(),n.map.removeLayer(u)}},[e,n,r,t])},a=x(o),i=function(e,n){let t=d(),r=a(E(e,t),t);return O(t.map,e.attribution),C(r.current,e.eventHandlers),l(r.current,t,e,n),r},(0,c.forwardRef)(function(e,n){let[t,r]=(0,c.useState)(!1),{instance:u}=i(e,r).current;(0,c.useImperativeHandle)(n,()=>u),(0,c.useEffect)(function(){t&&u.update()},[u,t,e.children]);let o=u._contentNode;return o?(0,b.createPortal)(e.children,o):null}));t(8157);var P=t(5153),S=t(2364);delete g().Icon.Default.prototype._getIconUrl,g().Icon.Default.mergeOptions({iconRetinaUrl:"https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-icon-2x.png",iconUrl:"https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-icon.png",shadowUrl:"https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png"});var Z=function(e){var n=e.gpxData,t=(0,c.useRef)(),r=(0,c.useRef)(null),u=(0,c.useState)([]),o=u[0],l=u[1];return(0,c.useEffect)(function(){if(n)try{var e=new DOMParser().parseFromString(n,"text/xml"),u=(0,P.ng)(e);if(!u.features[0])return;var o=u.features[0].geometry.coordinates,a=o.map(function(e){return[e[1],e[0]]}),i=g().latLngBounds(a);if(l(a),t.current&&t.current.flyToBounds(i,{padding:[50,50]}),r.current){o.map(function(e){return e[2]||0});for(var c=[],f=0,s=1;s<o.length;s++){var p=g().latLng(o[s-1][1],o[s-1][0]),d=g().latLng(o[s][1],o[s][0]);f+=p.distanceTo(d),c.push(f)}}}catch(e){console.error("Error parsing GPX data:",e)}},[n]),(0,S.BX)("div",{className:"h-full w-full relative",children:[(0,S.BX)(h,{center:[51.505,-.09],zoom:13,scrollWheelZoom:!1,className:"h-full rounded-md",ref:t,children:[(0,S.tZ)(R,{attribution:'\xa9 <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"}),(0,S.tZ)(j,{positions:o,color:"#3b82f6",weight:4}),(0,S.tZ)(k,{position:[51.505,-.09],children:(0,S.tZ)(z,{children:"Start/End Point"})})]}),(0,S.tZ)("div",{ref:r,className:"absolute bottom-4 left-4 right-4 h-32 bg-white/90 backdrop-blur-sm rounded-md p-4 shadow-md"})]})}},8157:function(){}}]);