PageSourceSearch

https://enjoycleaningup.com/_nuxt/CTKvC81f.js

js enjoycleaningup.com collected 2026-10-08 01:10:43 UTC 15,182 bytes, 1 lines download raw bytes

1import{_ as ne}from"./CWO79UL1.js";import{_ as le}from"./2bGnICwP.js";import{_ as ie}from"./CUaCSEGT.js";import{a as r,u as de,b as J,A as Y}from"./DBvPIALe.js";import{e as te,g as se,G as oe,h as me,c as o,F as f,i as A,m as D,t as l,u as t,k as Z,a as e,d as v,v as S,o as i,j as K,l as re,P as ue,s as w,_ as ae,b as c,w as k,p as Q}from"./C8769FUg.js";import{_ as ce}from"./DA7jEZZ7.js";import{_ as pe}from"./DnthAM6t.js";import"./wpTvvpR_.js";const _e={class:"wc"},he={key:0,class:"wc__legend","aria-label":"Legenda"},ge={key:1,class:"adm-empty"},ke=["viewBox","width","aria-label"],ve=["x2","y1","y2"],be=["x","y"],fe=["d","fill"],we=["x","width","height","onMouseenter","onFocus"],ye=["x","y"],Fe={class:"wc__tip-title"},$e={class:"wc__tip-name"},Ae={class:"wc__tip-total"},P=240,H=44,x=8,U=12,X=28,ee=2,Me=te({__name:"WeeklyChart",props:{weekStarts:{},series:{}},setup(y){const L=y,W=S(null),h=S(720);let B=null;se(()=>{typeof ResizeObserver>"u"||(B=new ResizeObserver(([m])=>{m&&(h.value=Math.max(300,Math.round(m.contentRect.width)))}),oe(W,m=>{m&&B?.observe(m)},{immediate:!0}))}),me(()=>B?.disconnect());const u=S(null),I=w(()=>L.weekStarts.length||1),z=w(()=>(h.value-H-x)/I.value),F=w(()=>Math.max(6,z.value*.62)),$=m=>H+m*z.value+(z.value-F.value)/2,N=w(()=>z.value<44?3:z.value<60?2:1),C=w(()=>L.weekStarts.map((m,_)=>L.series.reduce((d,p)=>d+(p.values[_]??0),0))),s=w(()=>G(Math.max(1,...C.value))),a=w(()=>[0,.25,.5,.75,1].map(m=>Math.round(s.value*m))),M=m=>P-X-m/s.value*(P-U-X),g=w(()=>L.weekStarts.map((m,_)=>{let d=0;const p=[];for(const b of L.series){const E=b.values[_]??0;E<=0||(p.push({id:b.id,color:b.color,y0:d,y1:d+E,top:!1}),d+=E)}return p.length&&(p[p.length-1].top=!0),p}));function O(m,_){const d=$(m),p=F.value,b=M(_.y0)-(_.y0>0?ee/2:0),E=M(_.y1)+(_.top?0:ee/2),q=Math.max(1,b-E),V=_.top?Math.min(4,p/2,q):0,j=b-q;return`M${d},${b} V${j+V} Q${d},${j} ${d+V},${j} H${d+p-V} Q${d+p},${j} ${d+p},${j+V} V${b} Z`}function G(m){const _=10**Math.floor(Math.log10(m)),d=m/_,p=d<=1?1:d<=2?2:d<=4?4:d<=5?5:10;return Math.max(4,p*_)}const T=m=>new Date(`${m}T12:00:00Z`).toLocaleDateString("nl-NL",{day:"numeric",month:"short"}),R=w(()=>`Opgeruimde stuks per week, laatste ${I.value} weken. Totaal ${r.n(C.value.reduce((m,_)=>m+_,0))} stuks.`),n=w(()=>{if(u.value===null)return{};const m=($(u.value)+F.value/2)/h.value*100;return m>60?{right:`${100-m+2}%`}:{left:`${m+2}%`}});return(m,_)=>(i(),o("div",_e,[y.series.length>1?(i(),o("ul",he,[(i(!0),o(f,null,A(y.series,d=>(i(),o("li",{key:d.id},[e("span",{class:"adm-dot",style:Z({background:d.color})},null,4),v(l(d.name),1)]))),128))])):D("",!0),y.series.length?(i(),o("div",{key:2,ref_key:"plot",ref:W,class:"wc__plot",onMouseleave:_[1]||(_[1]=d=>u.value=null)},[(i(),o("svg",{viewBox:`0 0 ${t(h)} ${P}`,width:t(h),height:P,class:"wc__svg",role:"img","aria-label":t(R)},[(i(!0),o(f,null,A(t(a),d=>(i(),o("g",{key:d},[e("line",{x1:H,x2:t(h)-x,y1:M(d),y2:M(d),class:"wc__grid"},null,8,ve),e("text",{x:H-8,y:M(d)+4,class:"wc__axis","text-anchor":"end"},l(("admFmt"in m?m.admFmt:t(r)).n(d)),9,be)]))),128)),(i(!0),o(f,null,A(t(g),(d,p)=>(i(),o("g",{key:p},[(i(!0),o(f,null,A(d,b=>(i(),o("path",{key:b.id,d:O(p,b),fill:b.color,class:K(["wc__seg",{"wc__seg--dim":t(u)!==null&&t(u)!==p}])},null,10,fe))),128)),e("rect",{x:$(p),y:U,width:t(F),height:P-U-X,class:"wc__hit",onMouseenter:b=>u.value=p,onFocus:b=>u.value=p,onBlur:_[0]||(_[0]=b=>u.value=null),tabindex:"0"},null,40,we)]))),128)),(i(!0),o(f,null,A(y.weekStarts,(d,p)=>re((i(),o("text",{key:d,x:$(p)+t(F)/2,y:P-8,class:"wc__axis","text-anchor":"middle"},l(T(d)),9,ye)),[[ue,p%t(N)===0||p===y.weekStarts.length-1]])),128))],8,ke)),t(u)!==null?(i(),o("div",{key:0,class:"wc__tip",style:Z(t(n))},[e("p",Fe,"Week van "+l(("admFmt"in m?m.admFmt:t(r)).date(y.weekStarts[t(u)])),1),e("ul",null,[(i(!0),o(f,null,A(y.series,d=>(i(),o("li",{key:d.id},[e("span",{class:"adm-dot",style:Z({background:d.color})},null,4),e("span",$e,l(d.name),1),e("strong",null,l(("admFmt"in m?m.admFmt:t(r)).n(d.values[t(u)]??0)),1)]))),128))]),e("p",Ae,[_[2]||(_[2]=v("Totaal ",-1)),e("strong",null,l(("admFmt"in m?m.admFmt:t(r)).n(t(C)[t(u)]??0)),1),_[3]||(_[3]=v(" stuks",-1))])],4)):D("",!0)],544)):(i(),o("div",ge,"Nog geen opgeruimde stuks in de afgelopen "+l(y.weekStarts.length)+" weken.",1))]))}}),De=ae(Me,[["__scopeId","data-v-73b4d35f"]]),Se={key:0,class:"adm-alert adm-alert--error"},Le={key:1,class:"adm-empty"},Be={class:"adm-kpis"},ze={class:"adm-kpi adm-kpi--brand"},Pe={class:"adm-kpi__value"},Ne={class:"adm-kpi__sub"},Ce={class:"adm-kpi__value"},Te={class:"adm-kpi__sub"},Ee={class:"adm-kpi__value"},je={class:"adm-kpi__sub"},We={class:"adm-kpi__value"},Ie={class:"adm-kpi__sub"},Re={class:"adm-kpi__value"},Ve={class:"adm-kpi__value"},He={class:"adm-kpi__value"}
1,Ke={class:"adm-grid adm-grid--main dash-row"},Oe={class:"adm-card"},Ge={class:"adm-card"},Ze={class:"adm-card__head"},Qe={key:0,class:"adm-muted adm-small"},Ue={key:1,class:"dash-list"},Xe={class:"adm-cell-sub"},qe={class:"adm-card adm-card--flush dash-row"},Je={class:"adm-card__head"},Ye={class:"adm-table-wrap"},xe={class:"adm-table"},et={key:0,class:"adm-badge adm-badge--muted"},tt={key:1,class:"adm-badge adm-badge--muted"},st={class:"num"},at={class:"num"},nt={class:"num"},lt={class:"num"},it={class:"num adm-muted"},dt={class:"num"},ot={class:"adm-grid adm-grid--main dash-row"},mt={class:"adm-card adm-card--flush"},rt={class:"adm-card__head"},ut={class:"adm-table-wrap"},ct={class:"adm-table adm-table--compact"},pt={class:"adm-cell-sub"},_t={key:1,class:"adm-muted"},ht={class:"num"},gt={class:"actions"},kt={key:0,class:"adm-empty"},vt={class:"adm-card"},bt={class:"adm-card__head"},ft={class:"web-stats"},wt={class:"dash-list"},yt={class:"adm-cell-sub"},Ft={class:"cache"},$t=["disabled"],At=te({__name:"index",setup(y){const{user:L,isAdmin:W}=de(),h=S(null),B=S(""),u=w(()=>h.value.kpis);se(async()=>{try{h.value=await $fetch("/api/admin/dashboard")}catch(s){B.value=J(s,"Het dashboard kon niet laden.")}});function I(s){const a=[];return s.pieces&&a.push(`${r.n(s.pieces)} st.`),s.weight_kg&&a.push(r.kg(s.weight_kg)),s.cleanups&&a.push(`${r.n(s.cleanups)} cleanups`),s.countries&&a.push(`${r.n(s.countries)} landen`),a.join(", ")||"–"}function z(s){const a=[];return s.total.pieces&&a.push(`${r.n(s.total.pieces)} st.`),s.total.weightKg&&a.push(r.kg(s.total.weightKg)),a.join(" / ")||"0"}const F=S(!1),$=S(""),N=S(!1);async function C(){F.value=!0,$.value="",N.value=!1;try{const s=await $fetch("/api/admin/cache/purge",{method:"POST"});$.value=`Cache geleegd (${s.removed} pagina's).`}catch(s){N.value=!0,$.value=J(s,"Cache legen mislukt")}finally{F.value=!1}}return(s,a)=>{const M=ne,g=le,O=ie,G=De,T=ce,R=pe;return i(),o("div",null,[c(O,{title:"Dashboard",sub:`Welkom, ${t(L)?.username??""}. Alles wat er is opgeruimd, via de app, activiteiten of handmatig, komt samen bij de registraties.`},{default:k(()=>[c(g,{to:"/admin/logboek/nieuw",class:"adm-btn adm-btn--primary"},{default:k(()=>[c(M,{name:"plus",size:16}),a[0]||(a[0]=v(" Resultaat invoeren",-1))]),_:1})]),_:1},8,["sub"]),t(B)?(i(),o("div",Se,l(t(B)),1)):t(h)?(i(),o(f,{key:2},[e("section",Be,[e("div",ze,[a[1]||(a[1]=e("span",{class:"adm-kpi__label"},"Stuks deze week",-1)),e("span",Pe,l(("admFmt"in s?s.admFmt:t(r)).n(t(u).piecesWeek)),1),e("span",Ne,"Deze maand "+l(("admFmt"in s?s.admFmt:t(r)).n(t(u).piecesMonth)),1)]),c(g,{to:"/admin/logboek",class:"adm-kpi"},{default:k(()=>[a[2]||(a[2]=e("span",{class:"adm-kpi__label"},"Stuks totaal (live)",-1)),e("span",Ce,l(("admFmt"in s?s.admFmt:t(r)).n(t(u).piecesAll)),1),e("span",Te,l(("admFmt"in s?s.admFmt:t(r)).n(t(u).logsAll))+" registraties, met nulmetingen "+l(("admFmt"in s?s.admFmt:t(r)).n(t(u).piecesAllInclBaseline)),1)]),_:1}),c(g,{to:"/admin/logboek/moderatie",class:K(["adm-kpi",{"adm-kpi--alert":t(u).flagged>0}])},{default:k(()=>[a[3]||(a[3]=e("span",{class:"adm-kpi__label"},"Te beoordelen",-1)),e("span",Ee,l(("admFmt"in s?s.admFmt:t(r)).n(t(u).flagged)),1),e("span",je,l(t(u).flagged?"Registraties wachten op moderatie":"Niets in de wachtrij"),1)]),_:1},8,["class"]),c(g,{to:"/admin/helden",class:"adm-kpi"},{default:k(()=>[a[4]||(a[4]=e("span",{class:"adm-kpi__label"},"Actieve helden",-1)),e("span",We,l(("admFmt"in s?s.admFmt:t(r)).n(t(u).activeHeroes30d)),1),e("span",Ie,"Laatste 30 dagen, "+l(("admFmt"in s?s.admFmt:t(r)).n(t(u).newHeroesMonth))+" nieuw deze maand",1)]),_:1}),c(g,{to:"/admin/wandelingen",class:"adm-kpi"},{default:k(()=>[a[5]||(a[5]=e("span",{class:"adm-kpi__label"},"Wandelingen",-1)),e("span",Re,l(("admFmt"in s?s.admFmt:t(r)).n(t(u).walksMonth)),1),a[6]||(a[6]=e("span",{class:"adm-kpi__sub"},"Deze maand, via de app",-1))]),_:1}),c(g,{to:"/admin/activiteiten",class:"adm-kpi"},{default:k(()=>[a[7]||(a[7]=e("span",{class:"adm-kpi__label"},"Activiteiten gepland",-1)),e("span",Ve,l(("admFmt"in s?s.admFmt:t(r)).n(t(u).upcomingEvents)),1),a[8]||(a[8]=e("span",{class:"adm-kpi__sub"},"Cleanups en groepswandelingen",-1))]),_:1}),t(u).contactsDue!==null?(i(),Q(g,{key:0,to:"/admin/contacten?actie=1",class:K(["adm-kpi",{"adm-kpi--alert":t(u).contactsDue>0}])},{default:k(()=>[a[9]||(a[9]=e("span",{class:"adm-kpi__label"},"Contacten met actie",-1)),e("span",He,l(("admFmt"in s?s.admFmt:t(r)).n(t(u).contactsDue)),1),a[10]||(a[10]=e("span",{class:"adm-kpi__sub"},"Verlopen of binnen 7 dagen",-1))]),_:1},8,["class"])):D("",!0)]),e("section",Ke,[e("div",Oe,[a[11]||(a[11]=e("div",{class:"adm-card__head"},[e("div",null,[e("h2",{class:"adm-card__title"},"Opgeruimde stuks per week"),e("p",{class:"adm-card__sub"},"Laatste 12 weken, per initiatief (alleen registraties die meetellen)")])],-1)),c(G,{"week-starts":t(h).chart.weekStarts,series:t(h).chart.series},null,8,["week-starts","series"])]),e("div",Ge,[e("div",Ze,[a[13]||(a[13]=e("h2",{class:"adm-card__title"},"Komende activiteiten",-1)),c(g,{to:"/admin/activiteiten",class:"adm-card__link"},{default:k(()=>[...a[12]||(a[12]=[v("Alle activiteiten",-1)])]),_:1})]),t(h).upcoming.length?(i(),o("ul",Ue,[(i(!0),o(f,null,A(t(h).upcoming,n=>(i(),o("li",{key:n.id},[c(g,{to:`/admin/activiteiten/${n.id}`,class:"dash-list__main"},{default:k(()=>[v(l(n.title),1)]),_:2},1032,["to"]),e("span",Xe,[v(l(("admFmt"in s?s.admFmt:t(r)).dateTime(n.startsAt)),1),n.meetPoint?(i(),o(f,{key:0},[v(", "+l(n.meetPoint),1)],64)):D("",!0)]),c(T,{name:n.initiative,color:n.color,class:"adm-small"},null,8,["name","color"])]))),128))])):(i(),o("p",Qe,"Er staat niets gepland.")),c(g,{to:"/admin/activiteiten/nieuw",class:"adm-btn adm-btn--sm dash-cta"},{default:k(()=>[c(M,{name:"plus",size:14}),a[14]||(a[14]=v(" Activiteit plannen",-1))]),_:1})])]),e("section",qe,[e("div",Je,[a[16]||(a[16]=e("div",null,[e("h2",{class:"adm-card__title"},"Per initiatief"),e("p",{class:"adm-card__sub"},"Live = registraties uit het platform. Nulmeting = totalen van voor het platform. De website toont de som.")],-1)),c(g,{to:"/admin/initiatieven",class:"adm-card__link"},{default:k(()=>[...a[15]||(a[15]=[v("Initiatieven beheren",-1)])]),_:1})]),e("div",Ye,[e("table",xe,[a[17]||(a[17]=e("thead",null,[e("tr",null,[e("th",
1null,"Initiatief"),e("th",{class:"num"},"Deze maand"),e("th",{class:"num"},"Stuks live"),e("th",{class:"num"},"Kilo live"),e("th",{class:"num"},"Deelnemers"),e("th",{class:"num"},"Nulmeting"),e("th",{class:"num"},"Totaal op website")])],-1)),e("tbody",null,[(i(!0),o(f,null,A(t(h).initiatives,n=>(i(),o("tr",{key:n.id},[e("td",null,[c(g,{to:`/admin/initiatieven/${n.id}`,class:"adm-rowlink"},{default:k(()=>[c(T,{name:n.name,color:n.color},null,8,["name","color"])]),_:2},1032,["to"]),n.active?n.isPublic?D("",!0):(i(),o("span",tt,"niet openbaar")):(i(),o("span",et,"inactief"))]),e("td",st,l(("admFmt"in s?s.admFmt:t(r)).n(n.month.pieces)),1),e("td",at,l(("admFmt"in s?s.admFmt:t(r)).n(n.live.pieces)),1),e("td",nt,l(("admFmt"in s?s.admFmt:t(r)).kg(n.live.weightKg)),1),e("td",lt,l(("admFmt"in s?s.admFmt:t(r)).n(n.live.participants)),1),e("td",it,l(I(n.baseline)),1),e("td",dt,[e("strong",null,l(z(n)),1)])]))),128))])])])]),e("section",ot,[e("div",mt,[e("div",rt,[a[19]||(a[19]=e("h2",{class:"adm-card__title"},"Recente registraties",-1)),c(g,{to:"/admin/logboek",class:"adm-card__link"},{default:k(()=>[...a[18]||(a[18]=[v("Naar de registraties",-1)])]),_:1})]),e("div",ut,[e("table",ct,[e("tbody",null,[(i(!0),o(f,null,A(t(h).recent,n=>(i(),o("tr",{key:n.id},[e("td",null,[c(T,{name:n.initiative,color:n.color},null,8,["name","color"]),e("span",pt,l(("ADM_LABELS"in s?s.ADM_LABELS:t(Y)).source[n.source])+" · "+l(("admFmt"in s?s.admFmt:t(r)).dateTime(n.occurredAt)),1)]),e("td",null,[n.userId?(i(),Q(g,{key:0,to:`/admin/helden/${n.userId}`,class:"adm-rowlink"},{default:k(()=>[v(l(n.userName),1)]),_:2},1032,["to"])):(i(),o("span",_t,l(n.locationLabel||"Zonder persoon"),1))]),e("td",ht,l(n.pieces!=null?`${("admFmt"in s?s.admFmt:t(r)).n(n.pieces)} st.`:("admFmt"in s?s.admFmt:t(r)).kg((n.weightGrams??0)/1e3)),1),e("td",gt,[c(R,{status:n.status,label:("ADM_LABELS"in s?s.ADM_LABELS:t(Y)).logStatus[n.status]},null,8,["status","label"])])]))),128))])]),t(h).recent.length?D("",!0):(i(),o("p",kt,"Nog geen registraties."))])]),e("div",vt,[e("div",bt,[a[21]||(a[21]=e("h2",{class:"adm-card__title"},"Website",-1)),c(g,{to:"/admin/posts",class:"adm-card__link"},{default:k(()=>[...a[20]||(a[20]=[v("Berichten",-1)])]),_:1})]),e("div",ft,[c(g,{to:"/admin/posts",class:"web-stat"},{default:k(()=>[e("strong",null,l(("admFmt"in s?s.admFmt:t(r)).n(t(h).website.published)),1),a[22]||(a[22]=e("span",null,"gepubliceerd",-1))]),_:1}),c(g,{to:"/admin/posts?status=draft",class:"web-stat"},{default:k(()=>[e("strong",null,l(("admFmt"in s?s.admFmt:t(r)).n(t(h).website.drafts)),1),a[23]||(a[23]=e("span",null,"concepten",-1))]),_:1}),c(g,{to:t(W)?"/admin/mailinglist":"/admin/mailing",class:"web-stat"},{default:k(()=>[e("strong",null,l(("admFmt"in s?s.admFmt:t(r)).n(t(h).website.subscribers)),1),a[24]||(a[24]=e("span",null,"abonnees",-1))]),_:1},8,["to"]),c(g,{to:"/admin/projects",class:"web-stat"},{default:k(()=>[e("strong",null,l(("admFmt"in s?s.admFmt:t(r)).n(t(h).website.openProjects)),1),a[25]||(a[25]=e("span",null,"open projecten",-1))]),_:1})]),a[27]||(a[27]=e("h3",{class:"dash-subtitle"},"Laatste berichten",-1)),e("ul",wt,[(i(!0),o(f,null,A(t(h).website.latestPosts,n=>(i(),o("li",{key:n.id},[c(g,{to:`/admin/posts/${n.id}`,class:"dash-list__main"},{default:k(()=>[v(l(n.title||"(zonder titel)"),1)]),_:2},1032,["to"]),e("span",yt,[v(l(("admFmt"in s?s.admFmt:t(r)).date(n.pubDate))+" ",1),n.status!=="publish"?(i(),Q(R,{key:0,status:n.status,label:"concept"},null,8,["status"])):D("",!0)])]))),128))]),a[28]||(a[28]=e("hr",{class:"adm-divider"},null,-1)),e("div",Ft,[a[26]||(a[26]=e("p",{class:"adm-small adm-muted"},"Berichten en de homepage worden kort gecachet. Wil je een wijziging meteen zien?",-1)),e("button",{class:"adm-btn adm-btn--sm",disabled:t(F),onClick:C},[c(M,{name:"refresh",size:14}),v(" "+l(t(F)?"Bezig...":"Cache legen"),1)],8,$t),t($)?(i(),o("p",{key:0,class:K(["adm-small",t(N)?"adm-link--danger":"adm-muted"])},l(t($)),3)):D("",!0)])])])],64)):(i(),o("div",Le,"Dashboard laden..."))])}}}),Ct=ae(At,[["__scopeId","data-v-cde34311"]]);export{Ct 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.