1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./entry.DT6dNu10.css","./DataTable.CsBUv7QK.css"])))=>i.map(i=>d[i]); 2import{ag as Q,as as v,at as b,az as V,ac as t,r as C,N as _e,S as pe,b9 as $e,k as $,ai as G,ay as Ue,aB as x,aT as O,ab as ve,_ as ce,ba as Ve,an as g,aE as u,av as l,aC as Y,ar as je,aw as k,aY as _,g as le,b8 as oe,bb as ae,ax as Pe}from"./sentry.C166FaKx.js";import{_ as Fe}from"./ProgressBar.DvQUviKd.js";import{c as ye,u as Le,d as Ne,s as ie,a as Oe}from"./entry.CASL9l9J.js";import{createClientOnly as X}from"./client-only.BDoF9plW.js";import{g as Re,t as M,a as Ae,b as se}from"./utils.DcLTbDvD.js";import{_ as Me}from"./ClassicCKEditor.vue.cYLRI-0z.js";import{x as ge,y as Be,w as T,v as qe,l as Ke,z as We}from"./firebase.D973B9Ub.js";import{u as Ze,a as Je,d as re,b as Ye,e as H,g as de,E as ue,s as L,c as N,k as He}from"./cloud.8lCcO6ur.js";import{p as Ge}from"./index.DOCKZ4v1.js";import{_ as Qe}from"./ImportForm.client.vue.BplSXJxT.js";import"./sanitize.DeRu7qZJ.js";(function(){try{var s=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},r=new s.Error().stack;r&&(s._sentryDebugIds=s._sentryDebugIds||{},s._sentryDebugIds[r]="a30ca06f-2798-4771-9789-8d99ca451394",s._sentryDebugIdIdentifier="sentry-dbid-a30ca06f-2798-4771-9789-8d99ca451394")}catch{}})();const Xe={class:"muted"},he=Q({__name:"DateFormat.client",setup(s){const r=Re();return(f,c)=>(v(),b("small",Xe,"Formát: "+V(t(r)),1))}}),B=C({directory:{}}),be="/";function me(s,r){const f=s.fullPath.split(be);let c=B.value;for(const a in f){const y=f[a],w=parseInt(a);if(c.directory){const n=c.directory[y];if(typeof n<"u")if(w===f.length-1&&!r)if(n.file)console.log(`File updated with ${s.fullPath}`);else throw new Error(`Cannot change directory to a file at ${y} for ${s.fullPath}`);else{if(n.file)throw new Error(`Cannot change file ${y} to directory for ${s.fullPath}`);c=n}else{const D=w===f.length-1&&!r?{file:s}:{directory:{}};c.directory[y]=D,c=D}}else if(w===f.length-1&&!r)console.log(`File ${y} already exists for ${s.fullPath}`),c.file=s;else throw new Error(`Cannot traverse ${y} for ${s.fullPath}`)}}function et(s){if(!s)return B.value;const r=s.split(be);let f=B.value;for(const c in r){const a=r[c],y=f.directory?.[a];if(!y)return;if(parseInt(c)===r.length-1)return y;if(!y.directory)throw new Error(`File ${a} is not a directory for ${s}`);f=y}}function fe(s){if(!pe().public.storageEnabled)return C(void 0);const f=ye(),c=_e(s);let a=ge(f,c);return(async()=>{if(c&&a&&f)do{if(a.fullPath&&et(a.fullPath)?.file){a=a.parent;continue}const w=await Be(a);console.log(w);for(const n of w.items)me(n,!1);for(const n of w.prefixes)me(n,!0);a=a.parent}while(a!==null)})(),B}const tt=ve(()=>ce(()=>import("./FileTree.D1zm6pil.js"),__vite__mapDeps([0]),import.meta.url).then(s=>s.default||s)),nt={key:0,class:"fileTree"},lt=Q({__name:"StorageFileSelect",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(s){const r=$e(s,"modelValue"),f=$(()=>fe(r.value||"/").value);return(c,a)=>{const y=tt;return t(f)?(v(),b("p",nt,[(v(!0),b(G,null,Ue(t(f).directory,(w,n)=>(v(),O(y,{key:n,modelValue:r.value,"onUpdate:modelValue":a[0]||(a[0]=D=>r.value=D),tree:w,path:n.toString(),onOpen:a[1]||(a[1]=D=>t(fe)(D))},null,8,["modelValue","tree","path"]))),128))])):x("",!0)}}}),ot=X(Qe),at=X(he),it=ve(()=>ce(()=>import("./DataTable.client.BE-RPZUJ.js"),__vite__mapDeps([1]),import.meta.url).then(s=>s.default||s).then(s=>X(s))),st={key:1},rt={key:3},dt={title:"Unikátnà identifikátor, pod kterým bude událost uložena v databázi"},ut=["disabled"],mt=["disabled"],ft=["min","disabled"],pt={for:"transfers"},vt={for:"advanced"},ct=["disabled"],yt={class:"p"},gt=["disabled","title"],bt=["disabled"],kt={for:"image-select"},wt={for:"image-url"},It={key:2},xt=["src"],Dt={key:0},zt={key:0},Ct={type:"submit",class:"large"},Nt=Q({__name:"index",setup(s){const r=Ze(),f=C(),c=$(()=>navigator.language),a=C(0),y=Ve("form"),w=M(new Date),n=C({advanced:!0,title:"",description:"",end:w,identifier:"",imageIdentifier:{type:"cloud",data:""},start:w,subtitle:"",transfers:!1,web:""}),D=C(!1),q=$({get(){return n.value.title},set(o){const e=n.value.title;o!==e&&n.value.identifier===ie(e)&&a.value==1&&(n.value.identifier=ie(o)),n.value.title=o}}),K=C(!1),h=["png","jpg","jpe","web"],W=$({get(){return n.value.imageIdentifier.data},set(o){if(!o){n.value.imageIdentifier.data="";return}if(o.length>5e4){alert("Odkaz na obrázek musà být kratšà než 50000 znaků. Tento má "+o.length);return}const e=o.toLowerCase();e.startsWith("http://")||e.startsWith("https://")?(K.value=!0,fetch(o,{method:"HEAD"}).then(m=>{if(m.ok){const d=m.headers.get("content-type");if(d&&h.includes(d.substring(6,9))){n.value.imageIdentifier.data=o;return}}alert("Odkaz na obrázek je neplatný")}).finally(()=>{K.value=!1})):e.startsWith("data:image/")&&h.includes(e.substring(11,14))?n.value.imageIdentifier.data=o:alert("Odkaz na obrázek je neplatný"),n.value.imageIdentifier={type:"external",data:o}}}),ke=pe(),U=r.probe&&ke.public.storageEnabled&&ye(),I=r.probe&&Le(),{files:j,open:we}=Je(),R=Ne($(()=>U&&n.value.identifier?ge(U,`${n.value.identifier}/${j.value?.item(0)?.name??"image"}`):null));function Ie(){const o=j.value?.item(0);if(o)return R.upload(o)}async function xe(o=!1){if(j.value?.length&&(await Ie(),R.metadata.value&&(n.value.imageIdentifier={type:"cloud",data:R.metadata.value.fullPath})),!I)return;const e=H(I,n.value.identifier);if(o){if((await de(e.event)).exists()){alert("Akce s tÃmto názvem již existuje");return}if(!(await N(e.notes)).empty){alert("Dokument 'notes' k akci s tÃmto názvem již existuje");return}if(!(await N(e.feedback)).empty){alert("Dokument 'feedback' k akci s tÃmto názvem již existuje");return}if(!(await N(e.subscriptions)).empty){alert("Dokument 'subscriptions' k akci s tÃmto názvem již existuje");return}if(!(await N(e.schedule)).empty){alert("Dokument 'schedule' k akci s tÃmto názvem již existuje");return}if(!(await N(e.users)).empty){alert("Dokument 'users' k akci s tÃmto názvem již existuje");return}}const m=new Date(n.value.end);await L(e.event,{advanced:n.value.advanced,title:n.value.title,start:M(new Date(n.value.start)),end:M(m),description:n.value.description,image:n.value.imageIdentifier,subt
2itle:n.value.subtitle,transfers:n.value.transfers,web:n.value.web},{merge:!0});for(let p=new Date(n.value.start);p<=m;p.setDate(p.getDate()+1)){const S=T(e.schedule,Ae(p)),F=(await Ke(S)).data();await L(S,{cooking:null,date:M(p),dishes:null,name:Se(p.toLocaleDateString(c.value,{weekday:"long",month:"numeric",day:"numeric"}).replace(". ",". ")),program:We(),manager:null,...F},{merge:!0})}const d=[T(e.feedback,"dummy"),T(e.notes,"dummy"),T(e.subscriptions,"dummy"),T(e.users,"dummy"),T(e.feedbackConfig,"dummy"),n.value.transfers?T(He(I,"transfers"),"dummy"):void 0];await Promise.allSettled(d.map(p=>p&&L(p,{},{merge:!0}))),d.map(p=>p&&re(p)),a.value=0}const De=$(()=>{const o=[];if(r.eventsCollection)for(const e of r.eventsCollection)o.push([e.id,e.title,se(e.start)?.toLocaleDateString(c.value),se(e.end)?.toLocaleDateString(c.value)]);return o}),E=C(),P=C(!1),A=$(()=>P.value&&a.value!=1),ee=C(),te=$(()=>A.value?"Importovat do "+(ee.value??"..."):"Importovat novou");function ne(){if(E.value?.dt){const o=E.value.dt.rows({selected:!0}).data();P.value=o.length>0,ee.value=P.value?o[0][1]:void 0}}async function ze(){if(E.value?.dt&&I){const o=E.value.dt.rows({selected:!0}).data();if(o.length>1){alert("Vyberte jednu akci");return}const e=r.eventsCollection.find(m=>m.id===o[0][0]);e&&(D.value=!0,D.value=!1,a.value=2,n.value={advanced:e.advanced??!1,title:e.title,identifier:e.id,description:e.description,end:e.end,imageIdentifier:e.image||{type:"cloud",data:""},start:e.start,subtitle:e.subtitle,transfers:e.transfers??!1,web:e.web})}}function Z(o=!1){if(!E.value?.dt){o||alert("Tabulka nenaÄtena");return}const e=E.value.dt.rows({selected:!0}).data();if(e.length!=1){o||alert("Vyberte jednu akci");return}return r.eventsCollection.find(m=>m.id===e[0][0])}function Ce(){if(E.value&&I){const o=Z();o&&confirm(`Opravdu chcete smazat akci ${o.title}?`)&&(re(T(I,"events",o.id)),Ye(I,qe(I,o.id),10))}}async function Ee(o,e){if(I)for(const m in o){const d=o[m],p=Z(!0);if(typeof d!="object"){alert("Neplatný formát");return}if(A.value&&!p&&!confirm("Nebyla nalezena vybraná událost. Importovat jako novou?"))return;let S=H(I,A.value?p?.id??m:m);if(!p&&(await de(S.event)).exists()){const z=prompt("Událost s ID "+m+" již existuje. Chcete data "+(e?"slouÄit":"pÅepsat")+"? Pokud ne, zadejte nové ID importované události.",m);if(!z){alert("Import zruÅ¡en.");return}S=H(I,z)}const F=Ge(d,(z,i)=>!ue.includes(i));L(S.event,F,{merge:e});for(const z of ue)if(d[z])for(const i in d[z]){const J=d[z][i],Te=J.id;delete J.id,L(T(S[z],Te),J,{merge:e})}}}function Se(o){return o.replace(/([^\s:-])([^\s:-]*)/g,function(e,m,d){return m.toUpperCase()+d.toLowerCase()})}return(o,e)=>{const m=Fe,d=Oe,p=at,S=Me,F=lt,z=it;return t(r).eventLoading?(v(),O(m,{key:0})):(v(),b("article",st,[t(a)==0&&t(r).resolvedPermissions.superAdmin?(v(),b("button",{key:0,onClick:e[0]||(e[0]=()=>{a.value=1,t(E)?.dt?.rows().deselect()})},[g(d,{name:"mdi:plus"}),e[20]||(e[20]=u(" Nová "))])):x("",!0),t(P)&&t(r).resolvedPermissions.editEvent&&t(a)==0?(v(),b(G,{key:1},[l("button",{onClick:ze},[g(d,{name:"mdi:pencil"}),e[21]||(e[21]=u(" Upravit "))]),l("button",{onClick:e[1]||(e[1]=i=>o.$router.push(`/admin/events/${Z()?.id}/export`))},[g(d,{name:"mdi:download"}),e[22]||(e[22]=u(" Export "))])],64)):x("",!0),t(r).resolvedPermissions.superAdmin&&[0,1].includes(t(a))?(v(),O(t(ot),{key:2,ref_key:"form",ref:y,"truncate-option":t(A),onImport:Ee,onError:e[2]||(e[2]=i=>f.value=i)},{legend:Y(()=>[u(V(t(te)),1)]),default:Y(()=>[u(" "+V(t(te)),1)]),_:1},8,["truncate-option"])):x("",!0),t(f)?(v(),b("p",rt,[l("code",null,V(t(f)),1)])):x("",!0),t(a)==0&&t(P)&&t(r).resolvedPermissions.superAdmin?(v(),b("button",{key:4,onClick:Ce},[g(d,{name:"mdi:trash-can"}),e[23]||(e[23]=u(" Smazat "))])):x("",!0),[2,1].includes(t(a))&&!t(y)?.importing?(v(),b("form",{key:5,onSubmit:e[19]||(e[19]=je(i=>xe(t(a)==1),["prevent"]))},[l("h2",null,V({2:"Upravit",1:"Nová událost",0:""}[t(a)]),1),l("label",null,[e[24]||(e[24]=u("Název ")),k(l("input",{"onUpdate:modelValue":e[3]||(e[3]=i=>le(q)?q.value=i:null),type:"text",required:""},null,512),[[_,t(q),void 0,{lazy:!0}]])]),e[40]||(e[40]=u(" â ")),l("small",null,[l("label",dt,[e[25]||(e[25]=u("Identifikátor ")),k(l("input",{"onUpdate:modelValue":e[4]||(e[4]=i=>t(n).identifier=i),type:"text",required:"",disabled:t(a)==2},null,8,ut),[[_,t(n).identifier,void 0,{lazy:!0}]])]),e[26]||(e[26]=l("br",null,null,-1))]),l("label",null,[e[27]||(e[27]=u("Podtitulek ")),
2k(l("input",{"onUpdate:modelValue":e[5]||(e[5]=i=>t(n).subtitle=i),type:"text"},null,512),[[_,t(n).subtitle,void 0,{lazy:!0}]])]),e[41]||(e[41]=l("br",null,null,-1)),l("label",null,[e[28]||(e[28]=u("Web ")),k(l("input",{"onUpdate:modelValue":e[6]||(e[6]=i=>t(n).web=i),placeholder:"https://msmladez.cz",type:"text",required:""},null,512),[[_,t(n).web,void 0,{lazy:!0}]])]),e[42]||(e[42]=l("br",null,null,-1)),l("label",null,[e[29]||(e[29]=u("ZaÄátek ")),k(l("input",{"onUpdate:modelValue":e[7]||(e[7]=i=>t(n).start=i),type:"date",required:"",disabled:t(a)==2},null,8,mt),[[_,t(n).start,void 0,{lazy:!0}]])]),e[43]||(e[43]=u("  ")),g(p),e[44]||(e[44]=l("br",null,null,-1)),l("label",null,[e[30]||(e[30]=u("Konec ")),k(l("input",{"onUpdate:modelValue":e[8]||(e[8]=i=>t(n).end=i),min:t(n).start,type:"date",required:"",disabled:t(a)==2},null,8,ft),[[_,t(n).end,void 0,{lazy:!0}]])]),e[45]||(e[45]=u("  ")),g(p),e[46]||(e[46]=l("br",null,null,-1)),l("label",pt,[g(d,{name:"mdi:leak"}),e[31]||(e[31]=u(" Povolit pÅenosy uživatelských dat "))]),k(l("input",{id:"transfers","onUpdate:modelValue":e[9]||(e[9]=i=>t(n).transfers=i),type:"checkbox",name:"transfers"},null,512),[[oe,t(n).transfers]]),e[47]||(e[47]=l("br",null,null,-1)),l("label",vt,[g(d,{name:"mdi:account-settings"}),e[32]||(e[32]=u(" Povolit uživatelům pokroÄilá nastavenà "))]),k(l("input",{id:"advanced","onUpdate:modelValue":e[10]||(e[10]=i=>t(n).advanced=i),type:"checkbox",name:"advanced"},null,512),[[oe,t(n).advanced]]),g(S,{modelValue:t(n).description,"onUpdate:modelValue":e[11]||(e[11]=i=>t(n).description=i),modelModifiers:{lazy:!0}},null,8,["modelValue"]),l("fieldset",{disabled:!!t(R).uploadTask.value},[e[37]||(e[37]=l("legend",null,"Obrázek",-1)),l("div",yt,[l("button",{type:"button",disabled:!t(U),title:t(U)?"Nahrát do Firebase Storage":"Cloudové úložiÅ¡tÄ nenà dostupné",onClick:e[12]||(e[12]=i=>t(we)({accept:"image/*",multiple:!1}))},[g(d,{name:"mdi:upload"}),e[33]||(e[33]=u(" Nahrát "))],8,gt),t(U)?(v(),b(G,{key:0},[k(l("input",{id:"image-select","onUpdate:modelValue":e[13]||(e[13]=i=>t(n).imageIdentifier.type=i),type:"radio",name:"imageSourceType",value:"cloud",disabled:!t(U)},null,8,bt),[[ae,t(n).imageIdentifier.type]]),l("label",kt,[g(d,{name:"mdi:folder-multiple-image"})])],64)):x("",!0),k(l("input",{id:"image-url","onUpdate:modelValue":e[14]||(e[14]=i=>t(n).imageIdentifier.type=i),type:"radio",name:"imageSourceType",value:"external"},null,512),[[ae,t(n).imageIdentifier.type]]),l("label",wt,[g(d,{name:"mdi:link"}),e[34]||(e[34]=u(" z existujÃcà URL "))]),t(n).imageIdentifier.type==="cloud"?(v(),O(F,{key:1,modelValue:t(n).imageIdentifier.data,"onUpdate:modelValue":e[15]||(e[15]=i=>t(n).imageIdentifier.data=i)},null,8,["modelValue"])):(v(),b("fieldset",It,[e[35]||(e[35]=l("legend",null,"Externà URL",-1)),k(l("input",{"onUpdate:modelValue":e[16]||(e[16]=i=>le(W)?W.value=i:null),type:"text",name:"imageUrl",placeholder:"ExistujÃcà URL nebo data:image/..."},null,512),[[_,t(W),void 0,{lazy:!0}]]),l("p",null,[t(K)?(v(),O(m,{key:0})):t(n).imageIdentifier.data?(v(),b("img",{key:1,src:t(n).imageIdentifier.data,alt:"Náhled",style:{"max-width":"100%"}},null,8,xt)):x("",!0)])]))]),t(j)?.length===1?(v(),b("p",Dt," Soubor k nahránÃ: "+V(t(j).item(0).name),1)):x("",!0),l("p",null,[t(n).imageIdentifier.type==="cloud"?(v(),b("label",zt,[e[36]||(e[36]=u("Výsledná lokace ")),k(l("input",{"onUpdate:modelValue":e[17]||(e[17]=i=>t(n).imageIdentifier.data=i),type:"text"},null,512),[[_,t(n).imageIdentifier.data,void 0,{lazy:!0}]])])):x("",!0)])],8,ct),l("button",Ct,[g(d,{name:"material-symbols:save"}),e[38]||(e[38]=u(" Uložit "))]),l("button",{type:"reset",class:"large",onClick:e[18]||(e[18]=i=>a.value=0)},[g(d,{name:"mdi:cancel"}),e[39]||(e[39]=u(" ZruÅ¡it "))]),e[48]||(e[48]=l("hr",null,null,-1))],32)):x("",!0),k(g(m,null,null,512),[[Pe,t(D)]]),g(z,{ref_key:"table",ref:E,data:t(De),options:{responsive:!0,select:!0,order:[[0,"desc"]]},onSelect:ne,onDeselect:ne},{default:Y(()=>e[49]||(e[49]=[l("thead",null,[l("tr",null,[l("th",null,"ID"),l("th",null,"Titulek"),l("th",null,"ZaÄátek"),l("th",null,"Konec")])],-1)])),_:1},8,["data"])]))}}});
2export{Nt as default}; 3//# sourceMappingURL=index.Cav9-PIT.js.map
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.