1import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,r as n}from"./framework-JGc2HF7T.js";import{t as r}from"./createLucideIcon-CAkK5FPT.js";import{t as i}from"./map-pin-jX_x5T3R.js";import{t as a}from"./plus-Ch1UJJUS.js";import{t as o}from"./save-rqtUwdfy.js";import{t as s}from"./site-translation-_YQdllxm.js";import{t as c}from"./service-orders-PFKT6F23.js";var l=r(`navigation`,[[`polygon`,{points:`3 11 22 2 13 21 11 13 3 11`,key:`1ltx0t`}]]),u=e(t(),1),d=()=>({label:``,address:``,location:null});function f(e){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`Lokasiya mÉlumatlarını yoxlayın.`);let t=e,n=(e,n)=>{if(t[e]!=null&&typeof t[e]!=`string`)throw Error(`Ãnvanı düzgün daxil edin.`);let r=String(t[e]??``).trim();if(r.length>n||/[\x00-\x08\x0b\x0c\x0e-\x1f]/.test(r))throw Error(`Ãnvan mÉlumatları çox uzundur vÉ ya düzgün deyil.`);return r},r=n(`label`,60)||`Ãnvanım`,i=n(`address`,500),a=null;if(t.location!=null){let e=t.location;if(typeof e!=`object`||Array.isArray(e)||!Number.isFinite(e.latitude)||!Number.isFinite(e.longitude)||Math.abs(e.latitude)>90||Math.abs(e.longitude)>180)throw Error(`Lokasiya düzgün deyil. YenidÉn seçin.`);a={latitude:Number(e.latitude.toFixed(6)),longitude:Number(e.longitude.toFixed(6))}}if(!a&&i.length<10)throw Error(`Lokasiya paylaÅın vÉ ya tam ünvanı yazın (Én azı 10 simvol).`);return{label:r,address:i,location:a}}var p=n();function m({value:e,onChange:t,locations:n=[],onSaved:r,canSave:d=!1,requiredAddress:m=!1,disabled:h=!1,onBusyChange:g}){let[_,v]=(0,u.useState)(!1),[y,b]=(0,u.useState)(``),[x,S]=(0,u.useState)(``),C=(0,u.useRef)(0),w=(0,u.useRef)(e);w.current=e,(0,u.useEffect)(()=>()=>{C.current++},[]);function T(e){S(``),b(``),t(e)}function E(){v(!1),g?.(!1)}function D(){if(b(``),S(``),!navigator.geolocation){b(`Lokasiya alınmadı. Ãnvanı ÉllÉ yaza bilÉrsiniz.`);return}v(!0),g?.(!0);let e=++C.current;navigator.geolocation.getCurrentPosition(n=>{e===C.current&&(t({...w.current,location:{latitude:Number(n.coords.latitude.toFixed(6)),longitude:Number(n.coords.longitude.toFixed(6))}}),S(`Lokasiya ÉlavÉ olundu.`),E())},t=>{e===C.current&&(b(`Lokasiya alınmadı. Ãnvanı ÉllÉ yaza bilÉrsiniz.`),E())},{enableHighAccuracy:!0,timeout:15e3,maximumAge:0})}async function O(){b(``),S(``);let n;try{n=f(e)}catch(e){b(e instanceof Error?e.message:`Ãnvanı yoxlayın.`);return}v(!0),g?.(!0);try{let e=await fetch(`/api/app/locations`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n),signal:AbortSignal.timeout(2e4)}),i=await e.json();if(!e.ok)throw Error(i.error||`Lokasiyanı saxlamaq alınmadı.`);r?.(i.locations),t(n),S(`Lokasiya saxlanıldı.`)}catch(e){b(e instanceof Error?e.message:`YenidÉn cÉhd edin.`)}finally{E()}}let k=n.find(t=>t.label===e.label&&t.address===e.address&&t.location?.latitude===e.location?.latitude&&t.location?.longitude===e.location?.longitude)?.id||``;return(0,p.jsx)(s,{children:(0,p.jsxs)(`fieldset`,{className:`app-location-picker`,disabled:h||_,children:[(0,p.jsx)(`legend`,{children:`Lokasiya vÉ Ã¼nvan`}),n.length>0&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(`label`,{children:[`Mövcud ünvan`,(0,p.jsxs)(`select`,{value:k,onChange:e=>{let t=n.find(t=>t.id===e.target.value);T(t?{label:t.label,address:t.address,location:t.location}:{label:``,address:``,location:null})},children:[(0,p.jsx)(`option`,{value:``,children:`Yeni lokasiya`}),n.map(e=>(0,p.jsxs)(`option`,{"data-i18n-skip":`true`,value:e.id,children:[e.label,e.address?` â `+e.address:``]}
1,e.id))]})]}),(0,p.jsxs)(`button`,{type:`button`,className:`secondary`,onClick:()=>T({label:``,address:``,location:null}),children:[(0,p.jsx)(a,{size:17}),`Yeni lokasiya`]})]}),(0,p.jsxs)(`label`,{children:[`Ãnvanın adı`,(0,p.jsx)(`input`,{maxLength:60,placeholder:`Ev / İÅ`,value:e.label,onChange:t=>T({...e,label:t.target.value})})]}),(0,p.jsxs)(`label`,{children:[`Ãnvan`,!m&&(0,p.jsx)(`small`,{children:` · İstÉyÉ baÄlıdır`}),(0,p.jsx)(`textarea`,{autoComplete:`street-address`,required:m,minLength:m?10:void 0,maxLength:500,rows:3,placeholder:`ÅÉhÉr, küçÉ, bina, mÉnzil`,value:e.address,onChange:t=>T({...e,address:t.target.value})})]}),(0,p.jsxs)(`button`,{type:`button`,className:`secondary`,onClick:D,children:[(0,p.jsx)(l,{size:17}),_?`GözlÉyinâ¦`:`Cari lokasiyamı ÉlavÉ et`]}),e.location&&(0,p.jsxs)(`div`,{className:`app-location-map`,children:[(0,p.jsxs)(`a`,{href:c(e.location),target:`_blank`,rel:`noopener noreferrer`,children:[(0,p.jsx)(i,{size:16}),`XÉritÉdÉ bax`]}),(0,p.jsx)(`button`,{type:`button`,onClick:()=>T({...e,location:null}),children:`Lokasiyanı sil`})]}),d&&(0,p.jsxs)(`button`,{type:`button`,className:`secondary`,onClick:()=>void O(),children:[(0,p.jsx)(o,{size:17}),`Ãnvanı yadda saxla`]}),m&&(0,p.jsx)(`small`,{children:`KüçÉ, bina vÉ mÉnzili yazın.`}),x&&(0,p.jsx)(`p`,{role:`status`,className:`app-location-message`,children:x}),y&&(0,p.jsx)(`p`,{role:`alert`,className:`studio-error`,children:y})]})})}export{d as n,m as t};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.