PageSourceSearch

https://vpdive.com/_nuxt/DWkKyBKt.js

js vpdive.com collected 2026-09-24 12:19:36 UTC 30,176 bytes, 1 lines download raw bytes

1import{k as x,ah as be,B as I,d as ne,y as ue,c as _,l as e,t as a,L as T,a3 as M,e as t,i as P,a7 as Z,h as b,v as pe,g as N,F as Y,r as q,j as p,Q as We,w as Te,u as Ye,z as Ge,b as qe,o as we,ak as Ke,p as ke,f as ce,n as $e,a as Qe}from"./CiKtckVa.js";import{_ as ee}from"./5DDz-OcZ.js";import{_ as re}from"./B_iF5i9d.js";import{_ as Xe}from"./BV5HPj4d.js";import{V as Je}from"./CgrWSzAG.js";import{_ as Ze}from"./CPOqqclL.js";import{u as et}from"./Cybd_hQA.js";import{u as tt}from"./CJKowfl8.js";import"./yw1ultGR.js";import"./Drx3cB6G.js";const Ne=90,de=200,nt=[1,2,3,4,5,6,0];function te(n){return String(n).padStart(2,"0")}function K(n){return`${n.getFullYear()}-${te(n.getMonth()+1)}-${te(n.getDate())}`}function De(n){return`${te(n.getHours())}:${te(n.getMinutes())}`}function Ve(n){return new Date(`${n}T12:00:00`)}function Ue(n){const w=new Date(`${n.from_date}T${n.from_time||"00:00"}`),v=new Date(`${n.to_date||n.from_date}T${n.to_time||"00:00"}`),l=new Date;return l.setHours(0,0,0,0),{multiDay:!!n.to_date&&n.to_date!==n.from_date,past:!Number.isNaN(w.getTime())&&w<l,endBeforeStart:!Number.isNaN(w.getTime())&&!Number.isNaN(v.getTime())&&v<w}}function at(){const n=I([]),w=be({weekdays:[],until:""}),v=be({notified:!1,add_user:!1,copy_comment:!0});let l=1;const m=x(()=>n.value.length),B=x(()=>m.value>de),y=x(()=>m.value>Ne&&!B.value),C=x(()=>n.value.filter(o=>!o.from_date||!o.from_time||!o.to_time||Ue(o).endBeforeStart)),k=x(()=>m.value>0&&!B.value&&C.value.length===0),R=x(()=>new Set(n.value.map(o=>o.from_date)));function F(o,d){const S=d??(o.start?new Date(o.start.getTime()+6048e5):new Date),z=o.start&&o.end?o.end.getTime()-o.start.getTime():0,A=new Date(S.getTime()+z);return{id:l++,place:o.place,from_date:K(S),from_time:o.start?De(o.start):"09:00",to_date:K(A),to_time:o.end?De(o.end):"17:00",responsibles:o.responsibles.map(G=>({...G})),add_user:v.add_user,notified:v.notified}}function D(o,d){const S=n.value[n.value.length-1],z=S?new Date(Ve(S.from_date).getTime()+7*864e5):void 0;n.value.push(F(o,d??z))}function U(o,d){if(R.value.has(d)){n.value=n.value.filter(S=>S.from_date!==d);return}n.value.push(F(o,Ve(d))),h()}function c(o){n.value=n.value.filter(d=>d.id!==o)}function f(){n.value=[]}function h(){n.value.sort((o,d)=>`${o.from_date}${o.from_time}`.localeCompare(`${d.from_date}${d.from_time}`))}function s(o){if(!w.weekdays.length||!w.until)return 0;const d=o.start?new Date(o.start.getTime()+864e5):new Date;d.setHours(12,0,0,0);const S=new Date(`${w.until}T23:59:59`);if(Number.isNaN(S.getTime())||d>S)return 0;const z=[];for(const j of w.weekdays){const $=new Date(d.getTime());for($.setDate($.getDate()+(j-$.getDay()+7)%7);$<=S&&z.length<=de*2;)z.push(new Date($.getTime())),$.setDate($.getDate()+7)}const A=new Set(R.value),G=z.filter(j=>{const $=K(j);return A.has($)?!1:(A.add($),!0)});return G.forEach(j=>n.value.push(F(o,j))),h(),G.length}function V(o){n.value.forEach(d=>{d[o]=v[o]})}function i(){return n.value.map(o=>({place:o.place,from_date:o.from_date,from_time:o.from_time,to_date:o.to_date||o.from_date,to_time:o.to_time,responsibles:o.responsibles.filter(d=>d.calendar_responsible_id).map(d=>({calendar_responsible_id:d.calendar_responsible_id,role:d.role??""})),add_user:o.add_user,notified:o.notified,copy_comment:v.copy_comment}))}return{occurrences:n,recurrence:w,globals:v,total:m,tooMany:B,heavy:y,broken:C,isValid:k,pickedDays:R,add:D,toggleDay:U,remove:c,clear:f,generate:s,applyToAll:V,buildPayload:i}}const st={class:"border-t border-gray-100"},lt={class:"text-xs font-semibold text-gray-400 tabular-nums text-right"},ot=["placeholder"],it={class:"flex gap-1.5"},rt={class:"flex gap-1.5"},ct={class:"grid place-items-center"},dt={class:"grid place-items-center"},ut=["aria-label"],pt={class:"w-6 shrink-0 text-xs font-semibold text-gray-400 tabular-nums"},mt={class:"text-sm font-semibold text-navy-500 shrink-0"},vt={class:"text-xs text-gray-500 shrink-0"},xt={class:"flex-1 min-w-0 text-xs text-gray-500 truncate"},_t={key:0,class:"pill red shrink-0"},gt={key:0,class:"lg:hidden px-4 pb-3 space-y-2"},ft=["placeholder"],ht={class:"flex items-center gap-2"},yt={class:"w-8 text-xs text-gray-500 shrink-0"},bt={class:"flex items-center gap-2"},wt={class:"w-8 text-xs text-gray-500 shrink-0"},kt={class:"flex items-center gap-4 pt-1"},$t={class:"flex items-center gap-2"},Dt={class:"text-xs text-gray-600"},Vt={class:"flex items-center gap-2"},Ct={class:"text-xs text-gray-600"},Tt=["aria-label"],Nt={key:1,class:"px-4 pb-3 space-y-2 bg-gray-50/60"},Ut=["aria-label","onClick"],St={key:2,class:"px-4 pb-2.5 flex flex-wrap gap-1.5"},Et={key:0,class:"pill red"},It={key:1,class:"pill orange"},Bt={key:2,class:"pill orange"},Mt={key:3,class:"pill navy"},Rt="grid-template-columns: 28px minmax(0,1.4fr) minmax(0,1.8fr) minmax(0,1.8fr) minmax(0,1fr) 60px 60px 72px",Ft=ne({__name:"CalendarDuplicateRow",props:{occurrence:{},position:{},existing:{},responsibilities:{},sourcePlace:{}},emits:["remove"],setup(n,{emit:w}){const v=n,l=w,{t:m,locale:B}
1=ue(),y=I(!1),C=I(!1),k=x(()=>Ue(v.occurrence)),R=x(()=>v.existing.has(v.occurrence.from_date)),F=x(()=>k.value.endBeforeStart||k.value.past||k.value.multiDay||R.value),D=x(()=>v.occurrence.place!==v.sourcePlace),U=x(()=>{const h=new Date(`${v.occurrence.from_date}T12:00:00`);if(Number.isNaN(h.getTime()))return"—";const s=new Intl.DateTimeFormat(B.value,{weekday:"short",day:"numeric"}).format(h);return k.value.multiDay?`${s} →`:s}),c=x(()=>{const h=v.occurrence.responsibles.filter(s=>s.calendar_responsible_id).length;return h?m("calendar_event.duplicate.team_count",{n:h},h):""}),f=x(()=>v.responsibilities.map(h=>({label:h.name,value:h.id})));return(h,s)=>{const V=pe;return p(),_("div",st,[e("div",{class:"hidden lg:grid gap-2 px-4 py-2.5 items-center",style:Rt},[e("span",lt,a(n.position),1),T(e("input",{"onUpdate:modelValue":s[0]||(s[0]=i=>n.occurrence.place=i),type:"text",maxlength:"80",class:"cell",placeholder:t(m)("calendar_event.duplicate.place_placeholder")},null,8,ot),[[M,n.occurrence.place]]),e("div",it,[T(e("input",{"onUpdate:modelValue":s[1]||(s[1]=i=>n.occurrence.from_date=i),type:"date",class:P(["cell flex-1 min-w-0",{warn:k.value.past}])},null,2),[[M,n.occurrence.from_date]]),T(e("input",{"onUpdate:modelValue":s[2]||(s[2]=i=>n.occurrence.from_time=i),type:"time",class:"cell w-[92px] shrink-0"},null,512),[[M,n.occurrence.from_time]])]),e("div",rt,[T(e("input",{"onUpdate:modelValue":s[3]||(s[3]=i=>n.occurrence.to_date=i),type:"date",class:P(["cell flex-1 min-w-0",{err:k.value.endBeforeStart}])},null,2),[[M,n.occurrence.to_date]]),T(e("input",{"onUpdate:modelValue":s[4]||(s[4]=i=>n.occurrence.to_time=i),type:"time",class:"cell w-[92px] shrink-0"},null,512),[[M,n.occurrence.to_time]])]),e("button",{type:"button",class:P(["cell text-left truncate",{"text-gray-400":!c.value}]),onClick:s[5]||(s[5]=i=>C.value=!C.value)},a(c.value||t(m)("calendar_event.duplicate.no_team")),3),e("span",ct,[T(e("input",{"onUpdate:modelValue":s[6]||(s[6]=i=>n.occurrence.notified=i),type:"checkbox",class:"box"},null,512),[[Z,n.occurrence.notified]])]),e("span",dt,[T(e("input",{"onUpdate:modelValue":s[7]||(s[7]=i=>n.occurrence.add_user=i),type:"checkbox",class:"box"},null,512),[[Z,n.occurrence.add_user]])]),e("button",{type:"button",class:"w-7 h-7 mx-auto grid place-items-center rounded-lg text-gray-400 hover:text-red-600 hover:bg-red-50","aria-label":t(m)("common.delete"),onClick:s[8]||(s[8]=i=>l("remove"))},[b(V,{name:"heroicons:x-mark",class:"w-4 h-4"})],8,ut)]),e("button",{type:"button",class:"lg:hidden w-full flex items-center gap-2 px-4 py-3 text-left",onClick:s[9]||(s[9]=i=>y.value=!y.value)},[e("span",pt,a(n.position),1),e("span",mt,a(U.value),1),e("span",vt,a(n.occurrence.from_time)+" – "+a(n.occurrence.to_time),1),e("span",xt,a(D.value?n.occurrence.place:""),1),F.value?(p(),_("span",_t,a(t(m)("calendar_event.duplicate.to_fix")),1)):N("",!0),b(V,{name:y.value?"heroicons:chevron-down":"heroicons:chevron-right",class:"w-4 h-4 shrink-0 text-gray-400"},null,8,["name"])]),y.value?(p(),_("div",gt,[T(e("input",{"onUpdate:modelValue":s[10]||(s[10]=i=>n.occurrence.place=i),type:"text",maxlength:"80",class:"cell w-full",placeholder:t(m)("calendar_event.duplicate.place_placeholder")},null,8,ft),[[M,n.occurrence.place]]),e("div",ht,[e("span",yt,a(t(m)("calendar_event.duplicate.col_from")),1),T(e("input",{"onUpdate:modelValue":s[11]||(s[11]=i=>n.occurrence.from_date=i),type:"date",class:P(["cell flex-1 min-w-0",{warn:k.value.past}])},null,2),[[M,n.occurrence.from_date]]),T(e("input",{"onUpdate:modelValue":s[12]||(s[12]=i=>n.occurrence.from_time=i),type:"time",class:"cell w-[92px] shrink-0"},null,512),[[M,n.occurrence.from_time]])]),e("div",bt,[e("span",wt,a(t(m)("calendar_event.duplicate.col_to")),1),T(e("input",{"onUpdate:modelValue":s[13]||(s[13]=i=>n.occurrence.to_date=i),type:"date",class:P(["cell flex-1 min-w-0",{err:k.value.endBeforeStart}])},null,2),[[M,n.occurrence.to_date]]),T(e("input",{"onUpdate:modelValue":s[14]||(s[14]=i=>n.occurrence.to_time=i),type:"time",class:"cell w-[92px] shrink-0"},null,512),[[M,n.occurrence.to_time]])]),e("button",{type:"button",class:P(["cell w-full text-left",{"text-gray-400":!c.value}]),onClick:s[15]||(s[15]=i=>C.value=!C.value)},a(c.value||t(m)("calendar_event.duplicate.no_team")),3),e("div",kt,[e("label",$t,[T(e("input",{"onUpdate:modelValue":s[16]||(s[16]=i=>n.occurrence.notified=i),type:"checkbox",class:"box"},null,512),[[Z,n.occurrence.notified]]),e("span",Dt,a(t(m)("calendar_event.duplicate.col_notify")),1)]),e("label",Vt,[T(e("input",{"onUpdate:modelValue":s[17]||(s[17]=i=>n.occurrence.add_user=i),type:"checkbox",class:"box"},null,512),[[Z,n.occurrence.add_user]]),e("span",Ct,a(t(m)("calendar_event.duplicate.col_registered")),1)]),s[20]||(s[20]=e("span",{class:"flex-1"},null,-1)),e("button",{type:"button",class:"text-gray-400 hover:text-red-600","aria-label":t(m)("common.delete"),onClick:s[18]||(s[18]=i=>l("remove"))},[b(V,{name:"heroicons:x-mark",class:"w-4 h-4"})],8,Tt)])])):N("",!0),C.value?(p(),_("div",Nt,[(p(!0),_(Y,null,q(n.occurrence.responsibles,(i,o)=>(p(),_("div",{key:o,class:"grid grid-cols-1 sm:grid-cols-[minmax(0,1fr)_minmax(0,1fr)_auto] gap-2 items-start"},[b(Xe,{modelValue:i.calendar_responsible_id,"onUpdate:modelValue":d=>i.calendar_responsible_id=d,"initial-name":i.calendar_responsible_name,"initial-picture":i.calendar_responsible_picture,placeholder:t(m)("calendar_event.team.member_placeholder"),onSelect:d=>{i.calendar_responsible_name=d?.value??"",i.calendar_responsible_picture=d?.profile_picture??null}},null,8,["modelValue","onUpdate:modelValue","initial-name","initial-picture","placeholder","onSelect"]),b(Je,{modelValue:i.role,"onUpdate:modelValue":d=>i.role=d,options:f.value,placeholder:t(m)("calendar_event.team.role_placeholder"),class:"min-w-0",teleport:"",vertical:""},null,8,["modelValue","onUpdate:modelValue","options","placeholder"]),e("button",{type:"button",class:"w-8 h-8 grid place-items-center rounded-lg text-gray-400 hover:text-red-600 hover:bg-red-50","aria-label":t(m)("common.delete"),onClick:d=>n.occurrence.responsibles.splice(o,1)},[b(V,{name:"heroicons:trash",class:"w-4 h-4"})],8,Ut)]))),128)),e("button",{type:"button",class:"text-xs font-semibold text-primary hover:underline",onClick:s[19]||(s[19]=i=>n.occurrence.responsibles.push({calendar_responsible_id:null,calendar_responsible_name:"",calendar_responsible_picture:null,role:null}))},a(t(m)("calendar_event.duplicate.add_leader")),1)])):N("",!0),F.value?(p(),_("div",St,[k.value.endBeforeStart?(p(),_("span",Et,a(t(m)("calendar_event.duplicate.alert_order")),1)):N("",!0),k.value.past?(p(),_("span",It,a(t(m)("calendar_event.duplicate.alert_past")),1)):N("",!0),k.value.multiDay?(p(),_("span",Bt,a(t(m)("calendar_event.duplicate.alert_multiday")),1)):N("",!0),R.value?(p(),_("span",Mt,a(t(m)("calendar_event.duplicate.alert_existing")),1)):N("",!0)])):N("",!0)])}}}),zt=We(Ft,[["__scopeId","data-v-250ce503"]]),At={class:"bg-white rounded-lg shadow-sm overflow-hidden"},jt={class:"px-4 pt-3 flex items-start justify-between gap-3"},Lt={class:"min-w-0"},Pt={class:"text-[15px] font-semibold text-navy-500"},Ht={class:"text-xs text-gray-500"},Ot={class:"flex items-center gap-1 shrink-0"},Wt={class:"p-4 pt-3 space-y-3"},Yt={class:"grid grid-cols-7 gap-1"},Gt=["disabled","onClick"],qt={key:0,class:"flex items-start gap-1.5 text-sm text-gray-500"},Kt={class:"flex items-center gap-3"},Qt={class:"flex items-center gap-1.5"},Xt={class:"text-[11px] text-gray-500"},Jt={class:"flex items-center gap-1.5"},Zt={class:"text-[11px] text-gray-500"},en={key:0,class:"flex items-center gap-1.5"},tn={class:"text-[11px] text-gray-500"},nn=ne({__name:"CalendarDuplicateCalendar",props:{picked:{},existing:{},sourceDate:{},premium:{type:Boolean}},emits:["toggle"],setup(n,{emit:w}){const v=n,l=w,{t:m,locale:B}
1=ue(),y=I(v.sourceDate?new Date(v.sourceDate.getTime()):new Date);Te(()=>v.sourceDate,c=>{c&&(y.value=new Date(c.getTime()))});const C=x(()=>v.sourceDate?K(v.sourceDate):""),k=x(()=>new Intl.DateTimeFormat(B.value,{month:"long",year:"numeric"}).format(y.value)),R=x(()=>[1,2,3,4,5,6,0].map(c=>new Intl.DateTimeFormat(B.value,{weekday:"narrow"}).format(new Date(2024,0,7+c)))),F=x(()=>{const c=y.value.getFullYear(),f=y.value.getMonth(),s=(new Date(c,f,1).getDay()+6)%7,V=new Date(c,f,1-s),i=[];for(let o=0;o<42;o++){const d=new Date(V.getFullYear(),V.getMonth(),V.getDate()+o);i.push({iso:K(d),day:d.getDate(),outside:d.getMonth()!==f})}return i});function D(c){y.value=new Date(y.value.getFullYear(),y.value.getMonth()+c,1)}function U(c){return v.premium?c.iso===C.value?"bg-navy-500 text-white font-semibold cursor-default":v.picked.has(c.iso)?"bg-primary text-white font-semibold":v.existing.has(c.iso)?"bg-white ring-1 ring-inset ring-navy-500 text-navy-500 font-semibold hover:bg-navy-50":c.outside?"text-gray-300 hover:bg-gray-50":"text-gray-600 hover:bg-gray-100":c.iso===C.value?"bg-navy-500 text-white font-semibold cursor-not-allowed":v.existing.has(c.iso)?"bg-white ring-1 ring-inset ring-navy-500 text-navy-500 font-semibold cursor-not-allowed":`${c.outside?"text-gray-300":"text-gray-400"} cursor-not-allowed`}return(c,f)=>{const h=pe;return p(),_("section",At,[e("header",jt,[e("div",Lt,[e("h3",Pt,a(k.value),1),e("p",Ht,a(t(m)("calendar_event.duplicate.calendar_hint")),1)]),e("div",Ot,[f[2]||(f[2]=e("span",{class:"mr-1 text-[10px] font-semibold px-2 py-0.5 rounded-full bg-green-50 text-green-700"},"VPDIVE+",-1)),e("button",{type:"button",class:"w-7 h-7 grid place-items-center rounded-lg text-gray-500 hover:bg-gray-100",onClick:f[0]||(f[0]=s=>D(-1))},[b(h,{name:"heroicons:chevron-left",class:"w-4 h-4"})]),e("button",{type:"button",class:"w-7 h-7 grid place-items-center rounded-lg text-gray-500 hover:bg-gray-100",onClick:f[1]||(f[1]=s=>D(1))},[b(h,{name:"heroicons:chevron-right",class:"w-4 h-4"})])])]),e("div",Wt,[e("div",Yt,[(p(!0),_(Y,null,q(R.value,(s,V)=>(p(),_("span",{key:V,class:"h-6 grid place-items-center text-[11px] font-semibold text-gray-400"},a(s),1))),128)),(p(!0),_(Y,null,q(F.value,s=>(p(),_("button",{key:s.iso,type:"button",class:P(["h-8 grid place-items-center rounded-lg text-xs transition-colors",U(s)]),disabled:!n.premium||s.iso===C.value,onClick:V=>l("toggle",s.iso)},a(s.day),11,Gt))),128))]),n.premium?N("",!0):(p(),_("p",qt,[b(h,{name:"heroicons:lock-closed",class:"w-4 h-4 shrink-0 mt-0.5"}),e("span",null,a(t(m)("calendar_event.duplicate.calendar_premium")),1)])),e("div",Kt,[e("span",Qt,[f[3]||(f[3]=e("span",{class:"w-2.5 h-2.5 rounded-sm bg-navy-500"},null,-1)),e("span",Xt,a(t(m)("calendar_event.duplicate.legend_source")),1)]),e("span",Jt,[f[4]||(f[4]=e("span",{class:"w-2.5 h-2.5 rounded-sm bg-primary"},null,-1)),e("span",Zt,a(t(m)("calendar_event.duplicate.legend_copy")),1)]),n.existing.size?(p(),_("span",en,[f[5]||(f[5]=e("span",{class:"w-2.5 h-2.5 rounded-sm bg-white ring-1 ring-inset ring-navy-500"},null,-1)),e("span",tn,a(t(m)("calendar_event.duplicate.legend_existing")),1)])):N("",!0)])])])}}}),an={class:"min-h-full bg-offwhite flex flex-col"},sn={class:"sticky top-0 z-20 bg-white border-b border-gray-100"},ln={class:"max-w-screen-2xl mx-auto w-full px-4 sm:px-6 py-3 flex items-center justify-between gap-4"},on={class:"min-w-0"},rn={class:"text-xs text-gray-400 truncate"},cn={class:"text-xl font-bold text-navy-500 truncate"},dn={key:0,class:"flex-1 w-full max-w-screen-2xl mx-auto px-4 sm:px-6 py-5 space-y-4"},un={key:1,class:"flex-1 w-full"},pn={class:"max-w-screen-2xl mx-auto w-full px-4 sm:px-6 py-5 pb-24 md:pb-24 flex flex-col xl:flex-row gap-4 items-start"},mn={class:"flex-1 min-w-0 space-y-4"},vn={class:"bg-white rounded-lg shadow-sm overflow-hidden"},xn={class:"px-4 py-3 flex items-start justify-between gap-3"},_n={class:"min-w-0"},gn={class:"text-base font-semibold text-navy-500"},fn={class:"text-xs text-gray-500"},hn={class:"px-4 pb-4 space-y-2"},yn={key:0,class:"flex items-start gap-1.5 text-sm text-gray-500"},bn={class:"flex flex-wrap items-end gap-4"},wn={class:"min-w-[250px]"},kn={class:"block text-xs text-gray-500 mb-1.5"},$n={class:"flex gap-1.5"},Dn=["onClick"],Vn={class:"w-40"},Cn={class:"block text-xs text-gray-500 mb-1.5"},Tn={class:"text-xs text-gray-400"},Nn={class:"bg-white rounded-lg shadow-sm overflow-hidden"},Un={class:"px-4 py-3 flex items-start justify-between gap-3"},Sn={class:"min-w-0"},En={class:"text-base font-semibold text-navy-500"},In={class:"text-xs text-gray-500"},Bn={class:"shrink-0 text-[10px] font-semibold px-2 py-0.5 rounded-full bg-navy-50 text-navy-500"},Mn={class:"text-center leading-tight"},Rn={class:"text-center leading-tight"},Fn={class:"text-sm font-bold text-navy-500 truncate"},zn={class:"text-sm text-gray-500 truncate"},An={class:"text-sm text-gray-500 truncate"},jn={class:"text-sm text-gray-500 truncate"},Ln={class:"text-[10px] font-semibold px-1.5 py-0.5 rounded-full bg-navy-500 text-white text-center"},Pn={key:0,class:"px-4 py-12 text-center border-t border-gray-100"},Hn={class:"mt-2 text-sm text-gray-500"},On={class:"lg:max-h-[48vh] lg:overflow-y-auto"},Wn={key:1,class:"flex items-center justify-between gap-3 px-4 py-2 border-t border-gray-100 bg-gray-50"},Yn=["disabled"],Gn={class:"text-xs text-gray-500 tabular-nums"},qn=["disabled"],Kn={class:"px-4 py-3 border-t border-gray-100"},Qn={class:"w-full xl:w-72 xl:shrink-0 xl:sticky xl:top-20 space-y-4"},Xn={class:"bg-white rounded-lg shadow-sm overflow-hidden"},Jn={class:"px-4 pt-3"},Zn={class:"text-[15px] font-semibold text-navy-500"},ea={class:"p-4 pt-3 space-y-2.5"},ta={class:"flex items-center gap-2.5"},na={class:"text-sm text-navy-500"},aa={class:"flex items-center gap-2.5"},sa={class:"text-sm text-navy-500"},la={class:"flex items-center gap-2.5"},oa={class:"text-sm text-navy-500"},ia={class:"bg-white rounded-lg shadow-sm overflow-hidden"},ra={class:"px-4 pt-3"},ca={class:"text-[15px] font-semibold text-navy-500"},da={class:"text-xs text-gray-500"},ua={class:"p-4 pt-3 flex flex-wrap gap-1.5"},pa={class:"sticky bottom-0 z-30 bg-white border-t border-gray-100 md:fixed md:left-20 md:right-0"},ma={class:"max-w-screen-2xl mx-auto w-full px-4 sm:px-6 py-3 flex items-center justify-between gap-4"},va={class:"flex items-center gap-2.5 min-w-0"},xa={class:"text-sm text-gray-500"},_a={key:0,class:"text-[10px] font-semibold px-2 py-0.5 rounded-full bg-red-50 text-red-700"},ga={key:1,class:"text-[10px] font-semibold px-2 py-0.5 rounded-full bg-red-50 text-red-700"},fa={key:2,class:"text-[10px] font-semibold px-2 py-0.5 rounded-full bg-orange-50 text-orange-700"},Ce="grid-template-columns: 28px minmax(0,1.4fr) minmax(0,1.8fr) minmax(0,1.8fr) minmax(0,1fr) 60px 60px 72px",ha=ne({__name:"CalendarEventDuplicate",props:{token:{}},setup(n){const w=["domain","category","type","city","pricing","registration","limits","material","boats","files","colors"],v=n,{t:l,locale:m}=ue(),B=Ye(),y=Ge(),{isPremium:C}=tt(),{fetchEvent:k,duplicateEvent:R}=et(),{occurrences:F,recurrence:D,globals:U,total:c,tooMany:f,heavy:h,broken:s,isValid:V,pickedDays:i,add:o,toggleDay:d,remove:S,generate:z,applyToAll:A,buildPayload:G}=at(),j=I(!0),$=I(!1),E=I(1),ae=I(1280),H=x(()=>ae.value<768?8:ae.value<1280?15:25),Q=x(()=>Math.max(1,Math.ceil(c.value/H.value))),Se=x(()=>c.value?(E.value-1)*H.value+1:0),Ee=x(()=>Math.min(E.value*H.value,c.value)),Ie=x(()=>F.value.slice((E.value-1)*H.value,E.value*H.value));Te([c,H],()=>{E.value=Math.min(E.value,Q.value)});const L=I(null),se=I(null),X=I(null),me=I([]),le=x(()=>fe(L.value?.from_date,L.value?.from_time)),ve=x(()=>fe(L.value?.to_date,L.value?.to_time)),O=x(()=>({place:L.value?.place??"",start:le.value,end:ve.value,responsibles:_e.value})),Be=x(()=>se.value?.responsibilities??[]),Me=x(()=>(X.value?.events??[]).filter(u=>!u.cancelled_at)),xe=x(()=>new Set(Me.value.map(u=>(u.from_date??"").slice(0,10)))),_e=x(()=>L.value?.responsibles??[]),ge=x(()=>he(le.value)),Re=x(()=>he(ve.value)),Fe=x(()=>{const u=_e.value.map(r=>
1r.calendar_responsible_name).filter(Boolean);return u.length?u.join(", "):l("calendar_event.duplicate.no_team")}),ze=x(()=>[l("calendar_event.breadcrumb"),O.value.place,ge.value].filter(Boolean).join(" · "));qe({title:()=>l("calendar_event.duplicate.title")});function oe(){ae.value=window.innerWidth}we(()=>{oe(),window.addEventListener("resize",oe)}),Ke(()=>window.removeEventListener("resize",oe)),we(async()=>{try{const u=await k(v.token);L.value=u.event,se.value=u.catalog,X.value=u.series??null,o(O.value)}catch{y.add({title:l("calendar_event.load_error"),description:l("calendar_event.load_error_desc"),icon:"heroicons:exclamation-triangle",color:"red"})}finally{j.value=!1}});function fe(u,r){const W=String(u??"").split("/");if(W.length!==3)return null;const[g,J]=String(r??"00:00").split(":"),ie=new Date(Number(W[2]),Number(W[1])-1,Number(W[0]),Number(g)||0,Number(J)||0);return Number.isNaN(ie.getTime())?null:ie}function he(u){return u?new Intl.DateTimeFormat(m.value,{weekday:"short",day:"numeric",month:"short",year:"numeric",hour:"2-digit",minute:"2-digit"}).format(u):"—"}function Ae(u){return new Intl.DateTimeFormat(m.value,{weekday:"narrow"}).format(new Date(2024,0,7+u)).toUpperCase()}function je(u){D.weekdays=D.weekdays.includes(u)?D.weekdays.filter(r=>r!==u):[...D.weekdays,u]}function ye(u){U[u]=!0,A(u)}function Le(){const u=z(O.value);y.add({title:u?l("calendar_event.duplicate.generated",{n:u},u):l("calendar_event.duplicate.generated_none"),icon:u?"heroicons:check-circle":"heroicons:information-circle",color:u?"green":"orange"})}function Pe(){o(O.value),E.value=Q.value}function He(){const u=B.options.history.state?.back;if(typeof u=="string"&&u.startsWith("/")){B.back();return}$e(`/app/activities/${v.token}`)}async function Oe(){if(!(!V.value||$.value)){$.value=!0;try{const u=await R(v.token,G());y.add({title:l("calendar_event.duplicate.done",{n:u},u),icon:"heroicons:check-circle",color:"green"}),$e(`/app/activities/${v.token}`)}catch{y.add({title:l("common.error"),description:l("calendar_event.duplicate.failed"),icon:"heroicons:exclamation-triangle",color:"red"})}finally{$.value=!1}}}return(u,r)=>{const W=pe;return p(),_("div",an,[e("header",sn,[e("div",ln,[e("div",on,[e("p",rn,a(ze.value),1),e("h1",cn,a(t(l)("calendar_event.duplicate.title")),1)]),b(ee,{text:t(l)("common.back"),icon:"heroicons:arrow-left","icon-position":"left",color:"secondary",size:"sm",onClick:He},null,8,["text"])])]),j.value?(p(),_("div",dn,[...r[12]||(r[12]=[e("div",{class:"h-28 rounded-lg bg-white animate-pulse"},null,-1),e("div",{class:"h-72 rounded-lg bg-white animate-pulse"},null,-1)])])):L.value?(p(),_("div",un,[e("div",pn,[e("div",mn,[e("section",vn,[e("header",xn,[e("div",_n,[e("h2",gn,a(t(l)("calendar_event.duplicate.fast_title")),1),e("p",fn,a(t(l)("calendar_event.duplicate.fast_sub")),1)]),r[13]||(r[13]=e("span",{class:"shrink-0 text-[10px] font-semibold px-2 py-0.5 rounded-full bg-green-50 text-green-700"},"VPDIVE+",-1))]),e("div",hn,[t(C)?(p(),_(Y,{key:1},[e("div",bn,[e("div",wn,[e("span",kn,a(t(l)("calendar_event.duplicate.repeat_every")),1),e("div",$n,[(p(!0),_(Y,null,q(t(nt),g=>(p(),_("button",{key:g,type:"button",class:P(["w-9 h-9 text-xs rounded-lg border transition-colors",t(D).weekdays.includes(g)?"bg-primary border-primary text-white font-semibold":"bg-white border-gray-200 text-gray-500 hover:border-gray-300"]),onClick:J=>je(g)},a(Ae(g)),11,Dn))),128))])]),e("div",Vn,[e("span",Cn,a(t(l)("calendar_event.duplicate.until")),1),T(e("input",{"onUpdate:modelValue":r[0]||(r[0]=g=>t(D).until=g),type:"date",class:"w-full text-sm text-navy-500 bg-gray-50 rounded-lg px-2.5 py-2"},null,512),[[M,t(D).until]])]),b(ee,{text:t(l)("calendar_event.duplicate.generate"),color:"primary",size:"sm",disabled:!t(D).weekdays.length||!t(D).until,onClick:Le},null,8,["text","disabled"])]),e("p",Tn,a(t(l)("calendar_event.duplicate.fast_hint",{n:t(Ne)})),1)],64)):(p(),_("p",yn,[b(W,{name:"heroicons:lock-closed",class:"w-4 h-4 shrink-0 mt-0.5"}),e("span",null,a(t(l)("calendar_event.duplicate.recurrence_premium")),1)]))])]),e("section",Nn,[e("header",Un,[e("div",Sn,[e("h2",En,a(t(l)("calendar_event.duplicate.list_title")),1),e("p",In,a(t(l)("calendar_event.duplicate.list_sub")),1)]),e("span",Bn,a(t(c)),1)]),e("div",{class:"hidden lg:grid ga
1p-2 px-4 py-2 bg-gray-50 text-[11px] font-semibold text-gray-500 uppercase tracking-wide",style:Ce},[r[14]||(r[14]=e("span",null,null,-1)),e("span",null,a(t(l)("calendar_event.duplicate.col_place")),1),e("span",null,a(t(l)("calendar_event.duplicate.col_from")),1),e("span",null,a(t(l)("calendar_event.duplicate.col_to")),1),e("span",null,a(t(l)("calendar_event.duplicate.col_team")),1),e("span",Mn,[ke(a(t(l)("calendar_event.duplicate.col_notify"))+" ",1),e("button",{type:"button",class:"block w-full font-normal normal-case text-primary hover:underline",onClick:r[1]||(r[1]=g=>ye("notified"))},a(t(l)("calendar_event.duplicate.check_all")),1)]),e("span",Rn,[ke(a(t(l)("calendar_event.duplicate.col_registered"))+" ",1),e("button",{type:"button",class:"block w-full font-normal normal-case text-primary hover:underline",onClick:r[2]||(r[2]=g=>ye("add_user"))},a(t(l)("calendar_event.duplicate.check_all")),1)]),r[15]||(r[15]=e("span",null,null,-1))]),e("div",{class:"hidden lg:grid gap-2 px-4 py-2.5 items-center bg-navy-50/40 border-t border-gray-100",style:Ce},[r[16]||(r[16]=e("span",null,null,-1)),e("span",Fn,a(O.value.place),1),e("span",zn,a(ge.value),1),e("span",An,a(Re.value),1),e("span",jn,a(Fe.value),1),r[17]||(r[17]=e("span",null,null,-1)),r[18]||(r[18]=e("span",null,null,-1)),e("span",Ln,a(t(l)("calendar_event.duplicate.original")),1)]),t(c)?N("",!0):(p(),_("div",Pn,[b(W,{name:"heroicons:square-2-stack",class:"w-9 h-9 mx-auto text-gray-300"}),e("p",Hn,a(t(l)("calendar_event.duplicate.empty")),1)])),e("div",On,[(p(!0),_(Y,null,q(Ie.value,(g,J)=>(p(),ce(zt,{key:g.id,occurrence:g,position:(E.value-1)*H.value+J+1,responsibilities:Be.value,existing:xe.value,"source-place":O.value.place,onRemove:ie=>t(S)(g.id)},null,8,["occurrence","position","responsibilities","existing","source-place","onRemove"]))),128))]),Q.value>1?(p(),_("div",Wn,[e("button",{type:"button",class:"text-xs font-semibold text-primary disabled:text-gray-300 hover:underline disabled:no-underline",disabled:E.value===1,onClick:r[3]||(r[3]=g=>E.value--)},a(t(l)("calendar_event.duplicate.previous")),9,Yn),e("span",Gn,a(t(l)("calendar_event.duplicate.range",{from:Se.value,to:Ee.value,total:t(c)})),1),e("button",{type:"button",class:"text-xs font-semibold text-primary disabled:text-gray-300 hover:underline disabled:no-underline",disabled:E.value===Q.value,onClick:r[4]||(r[4]=g=>E.value++)},a(t(l)("calendar_event.duplicate.next")),9,qn)])):N("",!0),e("div",Kn,[b(ee,{text:t(l)("calendar_event.duplicate.add"),icon:"heroicons:plus","icon-position":"left",color:"secondary",variant:"outlined",size:"sm",onClick:Pe},null,8,["text"])])])]),e("aside",Qn,[b(nn,{picked:t(i),existing:xe.value,"source-date":le.value,premium:t(C),onToggle:r[5]||(r[5]=g=>t(d)(O.value,g))},null,8,["picked","existing","source-date","premium"]),X.value?(p(),ce(Ze,{key:0,selected:me.value,"onUpdate:selected":r[6]||(r[6]=g=>me.value=g),series:X.value,premium:se.value?.is_premium??!1,verb:"duplicate"},null,8,["selected","series","premium"])):N("",!0),e("section",Xn,[e("header",Jn,[e("h3",Zn,a(t(l)("calendar_event.duplicate.apply_all")),1)]),e("div",ea,[e("div",ta,[b(re,{modelValue:t(U).notified,"onUpdate:modelValue":[r[7]||(r[7]=g=>t(U).notified=g),r[8]||(r[8]=g=>t(A)("notified"))]},null,8,["modelValue"]),e("span",na,a(t(l)("calendar_event.duplicate.col_notify")),1)]),e("div",aa,[b(re,{modelValue:t(U).add_user,"onUpdate:modelValue":[r[9]||(r[9]=g=>t(U).add_user=g),r[10]||(r[10]=g=>t(A)("add_user"))]},null,8,["modelValue"]),e("span",sa,a(t(l)("calendar_event.duplicate.keep_registered")),1)]),e("div",la,[b(re,{modelValue:t(U).copy_comment,"onUpdate:modelValue":r[11]||(r[11]=g=>t(U).copy_comment=g)},null,8,["modelValue"]),e("span",oa,a(t(l)("calendar_event.duplicate.keep_comment")),1)])])]),e("section",ia,[e("header",ra,[e("h3",ca,a(t(l)("calendar_event.duplicate.inherited")),1),e("p",da,a(t(l)("calendar_event.duplicate.inherited_sub")),1)]),e("div",ua,[(p(),_(Y,null,q(w,g=>e("span",{key:g,class:"text-[11px] px-2 py-0.5 rounded-full bg-gray-100 text-gray-600"},a(t(l)(`calendar_event.duplicate.inherited_${g}`)),1)),64))])])])])])):N("",!0),e("footer",pa,[e("div",ma,[e("div",va,[e("span",xa,a(t(l)("calendar_event.duplicate.footer",{n:t(c)},t(c))),1),t(s).length?(p(),_("span",_a,a(t(l)("calendar_event.duplicate.to_fix_count",{n:t(s).length},t(s).length)),1)):t(f)?(p(),_("span",ga,a(t(l)("calendar_event.duplicate.too_many",{n:t(c),max:t(de)})),1)):t(h)?(p(),_("span",fa,a(t(l)("calendar_event.duplicate.heavy",{n:t(c)})),1)):N("",!0)]),b(ee,{text:$.value?t(l)("calendar_event.duplicate.saving"):t(l)("calendar_event.duplicate.submit"),icon:"heroicons:square-2-stack","icon-position":"left",color:"primary",size:"sm",loading:$.value,disabled:!t(V)||$.value,onClick:Oe},null,8,["text","loading","disabled"])])])])}}}),Ua=ne({__name:"duplicate",setup(n){const w=String(Qe().params.id??"");return(v,l)=>(p(),ce(ha,{token:t(w)},null,8,["token"]))}});
1export{Ua 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.