mirror of
https://github.com/pyMC-dev/pyMC_Repeater.git
synced 2026-06-29 14:31:53 +02:00
2 lines
6.3 KiB
JavaScript
2 lines
6.3 KiB
JavaScript
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/leaflet-src-rW8DhqPH.js","assets/chunk-DECur_0Z.js"])))=>i.map(i=>d[i]);
|
|
import{r as e}from"./chunk-DECur_0Z.js";import{P as t,T as n,U as r,c as i,h as a,i as o,j as s,l as c,p as l,s as u,u as d,w as f,y as p}from"./runtime-core.esm-bundler-CINEgm0a.js";import{l as m,o as h}from"./runtime-dom.esm-bundler-B3VeUO8l.js";import{o as g}from"./api-DSaJA91r.js";import{d as _}from"./index-Cijj_ZXo.js";/* empty css */var v={class:`glass-card border border-stroke-subtle dark:border-white/20 rounded-[15px] w-full max-w-3xl max-h-[90vh] flex flex-col shadow-2xl`},y={class:`flex-1 relative min-h-[400px]`},b={class:`p-6 border-t border-stroke-subtle dark:border-stroke/10 space-y-4`},x={class:`grid grid-cols-2 gap-4`},S=_(a({__name:`LocationPicker`,props:{isOpen:{type:Boolean},latitude:{},longitude:{}},emits:[`close`,`select`],setup(a,{emit:_}){let S=a,C=_,w=e=>Math.round(e*1e6)/1e6,T=r(null),E=r(w(S.latitude||0)),D=r(w(S.longitude||0)),O=null,k=null,A=async()=>{if(T.value){j();try{let t=(await g(async()=>{let{default:t}=await import(`./leaflet-src-rW8DhqPH.js`).then(t=>e(t.t(),1));return{default:t}},__vite__mapDeps([0,1]))).default;delete t.Icon.Default.prototype._getIconUrl,t.Icon.Default.mergeOptions({iconRetinaUrl:`https://unpkg.com/leaflet@1.9.4/dist/images/marker-icon-2x.png`,iconUrl:`https://unpkg.com/leaflet@1.9.4/dist/images/marker-icon.png`,shadowUrl:`https://unpkg.com/leaflet@1.9.4/dist/images/marker-shadow.png`}),await p();let n=E.value||0,r=D.value||0,i=n===0&&r===0?2:13;O=t.map(T.value).setView([n,r],i);try{let e=t.tileLayer(`https://{s}.basemaps.cartocdn.com/dark_nolabels/{z}/{x}/{y}{r}.png`,{maxZoom:19,attribution:`© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors © <a href="https://carto.com/attributions">CARTO</a>`,errorTileUrl:`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==`}),n=t.tileLayer(`https://{s}.basemaps.cartocdn.com/dark_only_labels/{z}/{x}/{y}{r}.png`,{maxZoom:19,attribution:``,errorTileUrl:`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==`});e.addTo(O),n.addTo(O)}catch(e){console.warn(`Error loading tiles:`,e)}(n!==0||r!==0)&&(k=t.marker([n,r]).addTo(O)),O.on(`click`,e=>{E.value=w(e.latlng.lat),D.value=w(e.latlng.lng),k?k.setLatLng(e.latlng):k=t.marker(e.latlng).addTo(O)}),setTimeout(()=>{O?.invalidateSize()},200)}catch(e){console.error(`Failed to initialize map:`,e)}}},j=()=>{O&&(O.remove(),O=null,k=null)};s(()=>S.isOpen,async e=>{e?(await p(),await A()):j()}),s(()=>[S.latitude,S.longitude],([e,t])=>{E.value=w(e),D.value=w(t)});let M=()=>{C(`select`,{latitude:w(E.value),longitude:w(D.value)}),C(`close`)},N=()=>{C(`close`)},P=()=>{navigator.geolocation?navigator.geolocation.getCurrentPosition(async t=>{if(E.value=w(t.coords.latitude),D.value=w(t.coords.longitude),O){O.setView([E.value,D.value],13);let t=(await g(async()=>{let{default:t}=await import(`./leaflet-src-rW8DhqPH.js`).then(t=>e(t.t(),1));return{default:t}},__vite__mapDeps([0,1]))).default;k?k.setLatLng([E.value,D.value]):k=t.marker([E.value,D.value]).addTo(O)}},e=>{console.error(`Error getting location:`,e),alert(`Unable to get current location. Please check browser permissions.`)}):alert(`Geolocation is not supported by this browser.`)};return f(()=>{j()}),(e,r)=>(n(),i(o,{to:`body`},[a.isOpen?(n(),d(`div`,{key:0,class:`fixed inset-0 z-[400] flex items-center justify-center p-4 bg-black/50 backdrop-blur-lg`,onClick:m(N,[`self`])},[u(`div`,v,[u(`div`,{class:`flex items-center justify-between p-6 border-b border-stroke-subtle dark:border-stroke/10`},[r[3]||=u(`h3`,{class:`text-xl font-semibold text-content-primary dark:text-content-primary`},` Select Location `,-1),u(`button`,{onClick:N,class:`text-content-secondary dark:text-content-muted hover:text-content-primary dark:hover:text-content-primary transition-colors`},[...r[2]||=[u(`svg`,{class:`w-6 h-6`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[u(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M6 18L18 6M6 6l12 12`})],-1)]])]),u(`div`,y,[u(`div`,{ref_key:`mapContainer`,ref:T,class:`absolute inset-0 rounded-b-[15px] overflow-hidden`},null,512)]),u(`div`,b,[u(`div`,x,[u(`div`,null,[r[4]||=u(`label`,{class:`block text-sm font-medium text-content-secondary dark:text-content-muted mb-2`},`Latitude`,-1),t(u(`input`,{"onUpdate:modelValue":r[0]||=e=>E.value=e,type:`number`,step:`0.000001`,class:`modal-input-readonly`,readonly:``},null,512),[[h,E.value,void 0,{number:!0}]])]),u(`div`,null,[r[5]||=u(`label`,{class:`block text-sm font-medium text-content-secondary dark:text-content-muted mb-2`},`Longitude`,-1),t(u(`input`,{"onUpdate:modelValue":r[1]||=e=>D.value=e,type:`number`,step:`0.000001`,class:`modal-input-readonly`,readonly:``},null,512),[[h,D.value,void 0,{number:!0}]])])]),u(`div`,{class:`flex gap-3`},[u(`button`,{onClick:P,class:`flex-1 px-4 py-2 bg-background-mute dark:bg-white/5 hover:bg-stroke-subtle dark:hover:bg-white/10 text-content-primary dark:text-content-primary rounded-lg border border-stroke-subtle dark:border-stroke/20 transition-colors text-sm flex items-center justify-center gap-2`},[...r[6]||=[u(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[u(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z`}),u(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M15 11a3 3 0 11-6 0 3 3 0 016 0z`})],-1),l(` Use Current Location `,-1)]]),u(`button`,{onClick:N,class:`px-6 py-2 bg-background-mute dark:bg-white/5 hover:bg-stroke-subtle dark:hover:bg-white/10 text-content-primary dark:text-content-primary rounded-lg border border-stroke-subtle dark:border-stroke/20 transition-colors text-sm`},` Cancel `),u(`button`,{onClick:M,class:`px-6 py-2 bg-primary/20 hover:bg-primary/30 text-content-primary dark:text-content-primary rounded-lg border border-primary/50 transition-colors text-sm`},` Select Location `)]),r[7]||=u(`p`,{class:`text-content-muted dark:text-content-muted text-xs text-center`},` Click on the map to select a location `,-1)])])])):c(``,!0)]))}}),[[`__scopeId`,`data-v-20345350`]]);export{S as t}; |