1import{d as C,x as L,u as I,K as W,r as n,Z as q,w as A,f as d,i as e,t as l,g as $,m as o,o as r,k as H,n as R,y as g,F as U,j as w,h as j,q as u,s as z}from"./index-BDt9-qUU.js";import{h as m}from"./hutService-D3ZkfvKi.js";const J={class:"admin-create"},K={class:"admin-create__header"},Z={class:"admin-create__title"},G={class:"admin-create__grid"},O={class:"admin-create__field admin-create__field--full"},Q={class:"eyebrow"},X={class:"admin-create__field admin-create__field--full"},Y={class:"eyebrow"},x={class:"admin-create__field"},ee={class:"eyebrow"},te={class:"admin-create__field"},ae={class:"eyebrow"},se={class:"admin-create__hint"},ie={class:"admin-create__field"},le={class:"eyebrow"},oe={class:"admin-create__field"},ne={class:"eyebrow"},de={class:"admin-create__grid"},ue={class:"admin-create__field admin-create__field--full"},re={class:"eyebrow"},ce={key:0,class:"admin-create__field-err"},me={class:"admin-create__grid"},_e={class:"admin-create__field"},ve={class:"eyebrow"},pe=["disabled"],fe=["value"],be={class:"admin-create__field"},he={class:"eyebrow"},ye=["disabled"],ge=["value"],Ue={class:"admin-create__field"},we={class:"eyebrow"},Ne=["disabled"],ke=["value"],Ee={class:"admin-create__grid"},De={class:"admin-create__field admin-create__field--full"},$e={class:"eyebrow"},He={class:"admin-create__field admin-create__field--full"},Ve={class:"eyebrow"},Se={class:"admin-create__actions"},Te=["disabled"],Me={key:0,class:"admin-create__msg admin-create__msg--ok"},Pe={key:1,class:"admin-create__msg admin-create__msg--err"},Be=C({__name:"AdminCreateHutView",setup(Fe){const N=W(),V=L(),{locale:S,t:T}=I();V.isAdmin||N.replace({name:"map"});const b=n(!1),h=n(!1),_=n(""),v=n(!0),k=n([]),E=n([]),D=n([]),y=n(""),c=n(""),p=n(null),f=n(null);function M(){c.value="";const i=y.value.split(/[,\s]+/).filter(Boolean);if(i.length<2){p.value=null,f.value=null;return}const t=parseFloat(i[0]??""),s=parseFloat(i[1]??"");isNaN(t)||isNaN(s)?(c.value="Invalid coordinates",p.value=null,f.value=null):(p.value=t,f.value=s)}const a=q({Name:"",NameEn:"",Email:"",PhoneNumber:"",Website:"",FacebookPage:"",MountainUid:"",StatusUid:"",HutTypeUid:"",DescBg:"",DescEn:""});async function P(i){v.value=!0;try{const[t,s,F]=await Promise.all([m.fetchMountains(i),m.fetchStatuses(),m.fetchHutTypes(i)]);k.value=t,E.value=s,D.value=F}catch{}finally{v.value=!1}}A(S,i=>P(i==="en"?"en":"bg"),{immediate:!0});async function B(){if(p.value===null||f.value===null){c.value="Enter valid coordinates before saving";return}if(!a.HutTypeUid){_.value=T("admin.hutTypeRequired");return}b.value=!0,h.value=!1,_.value="";try{const i=await m.createHut({Name:a.Name,Email:a.Email||void 0,PhoneNumber:a.PhoneNumber||void 0,Website:a.Website||void 0,FacebookPage:a.FacebookPage||void 0,Lat:p.value,Lng:f.value,MountainUid:a.MountainUid||void 0,StatusUid:a.StatusUid||void 0,HutTypeUid:a.HutTypeUid}),t=[];(a.DescBg||a.Name)&&t.push(m.createHutTranslation({Uid:crypto.randomUUID(),HutUid:i,Language:"bg",Name:a.Name,Description:a.DescBg||void 0})),(a.DescEn||a.NameEn||a.Name)&&t.push(m.createHutTranslation({Uid:crypto.randomUUID(),HutUid:i,Language:"en",Name:a.NameEn||a.Name,Description:a.DescEn||void 0})),await Promise.all(t),h.value=!0,setTimeout(()=>N.push({name:"hut-details",params:{id:i}}),1200)}catch(i){_.value=i instanceof Error?i.message:String(i)}finally{b.value=!1}}return(i,t)=>(u(),d("div",J,[e("div",K,[e("button",{class:"admin-create__back",onClick:t[0]||(t[0]=s=>i.$router.back())},[...t[13]||(t[13]=[e("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",width:"18",height:"18"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15.75 19.5 8.25 12l7.5-7.5"})],-1)])]),e("h1",Z,l(i.$t("admin.createHut")),1)]),e("form",{class:"admin-create__form",onSubmit:j(B,["prevent"])},[e("div",G,[e("div",O,[e("label",Q,l(i.$t("hut.fieldNameBg"))+" *",1),o(e("input",{"onUpdate:modelValue":t[1]||(t[1]=s=>a.Name=s),type:"text",class:"field",required:""},null,512),[[r,a.Name]])]),e("div",X,[e("label",Y,l(i.$t("hut.fieldNameEn")),1),o(e("input",{"onUpdate:modelValue":t[2]||(t[2]=s=>a.NameEn=s),type:"text",class:"field"},null,512),[[r,a.NameEn]])]),e("div",x,[e("label",ee,l(i.$t("admin.fieldEmail")),1),o(e("input",{"onUpdate:modelValue":t[3]||(t[3]=s=>a.Email=s),type:"email",class:"field"},null,512),[[r,a.Email]])]),e("div",te,[e("label",ae,[H(l(i.$t("hut.fieldPhone"))+" ",1),e("span",se,l(i.$t("hut.phoneMultiHint")),1)]),o(e("input",{"onUpdate:modelValue":t[4]||(t[4]=s=>a.PhoneNumber=s),type:"text",class:"field"},null,512),[[r,a.PhoneNumber]])]),e("div",ie,[e("label",le,l(i.$t("hut.fieldWebsite")),1),o(e("input",{"onUpdate:modelValue":t[5]||(t[5]=s=>a.Website=s),type:"url",class:"field"},null,512),[[r,a.Website]])]),e("div",oe,[e("label",ne,l(i.$t("hut.fieldFacebook")),1
1),o(e("input",{"onUpdate:modelValue":t[6]||(t[6]=s=>a.FacebookPage=s),type:"url",class:"field"},null,512),[[r,a.FacebookPage]])])]),e("div",de,[e("div",ue,[e("label",re,[H(l(i.$t("admin.fieldCoords"))+" * ",1),t[14]||(t[14]=e("span",{class:"admin-create__hint"},"e.g. 42.582916, 23.249817",-1))]),o(e("input",{"onUpdate:modelValue":t[7]||(t[7]=s=>y.value=s),type:"text",class:R(["field",{"field--error":c.value}]),placeholder:"42.582916, 23.249817",onInput:M},null,34),[[r,y.value]]),c.value?(u(),d("span",ce,l(c.value),1)):$("",!0)])]),e("div",me,[e("div",_e,[e("label",ve,l(i.$t("admin.fieldMountain")),1),o(e("select",{"onUpdate:modelValue":t[8]||(t[8]=s=>a.MountainUid=s),class:"field",disabled:v.value},[t[15]||(t[15]=e("option",{value:""},"â",-1)),(u(!0),d(U,null,w(k.value,s=>(u(),d("option",{key:s.uid,value:s.uid},l(s.name),9,fe))),128))],8,pe),[[g,a.MountainUid]])]),e("div",be,[e("label",he,l(i.$t("admin.fieldStatus")),1),o(e("select",{"onUpdate:modelValue":t[9]||(t[9]=s=>a.StatusUid=s),class:"field",disabled:v.value},[t[16]||(t[16]=e("option",{value:""},"â",-1)),(u(!0),d(U,null,w(E.value,s=>(u(),d("option",{key:s.uid,value:s.uid},l(s.name),9,ge))),128))],8,ye),[[g,a.StatusUid]])]),e("div",Ue,[e("label",we,l(i.$t("admin.fieldHutType"))+" *",1),o(e("select",{"onUpdate:modelValue":t[10]||(t[10]=s=>a.HutTypeUid=s),class:"field",disabled:v.value,required:""},[t[17]||(t[17]=e("option",{value:""},"â",-1)),(u(!0),d(U,null,w(D.value,s=>(u(),d("option",{key:s.uid,value:s.uid},l(s.name),9,ke))),128))],8,Ne),[[g,a.HutTypeUid]])])]),e("div",Ee,[e("div",De,[e("label",$e,l(i.$t("admin.fieldDescBg")),1),o(e("textarea",{"onUpdate:modelValue":t[11]||(t[11]=s=>a.DescBg=s),class:"field admin-create__textarea",rows:"3"},null,512),[[r,a.DescBg]])]),e("div",He,[e("label",Ve,l(i.$t("admin.fieldDescEn")),1),o(e("textarea",{"onUpdate:modelValue":t[12]||(t[12]=s=>a.DescEn=s),class:"field admin-create__textarea",rows:"3"},null,512),[[r,a.DescEn]])])]),e("div",Se,[e("button",{type:"submit",class:"btn btn--primary",disabled:b.value},l(b.value?"â¦":i.$t("hut.save")),9,Te)]),h.value?(u(),d("p",Me,l(i.$t("admin.createSuccess")),1)):_.value?(u(),d("p",Pe,l(_.value),1)):$("",!0)],32)]))}}),Ie=z(Be,[["__scopeId","data-v-5367ac86"]]);export{Ie as default};
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.