2 lines
3.4 KiB
JavaScript
2 lines
3.4 KiB
JavaScript
import{d as B,ae as N,af as Z,o as E,c as o,i as b,j as g,h as S,b as s,w as k,as as U,F as z,E as w,e as d,v as D,t as r,f as c,x as h,r as v,n as l,D as j,s as L,H as P,G as R,l as T,m as F}from"./index--Ur876OO.js";import{_ as q}from"./PageHead.vue_vue_type_script_setup_true_lang-DKfkvmAv.js";import{_ as A}from"./LoadState.vue_vue_type_script_setup_true_lang-xMTqsPB2.js";import{f as G}from"./forms-CUDBT2Lc.js";const H={class:"field"},I=["value"],J={class:"field"},K={key:0,class:"notice error",role:"alert"},O={class:"btn-row"},Q=["disabled"],W={class:"stack"},X={class:"row-main"},Y={key:0,class:"muted small"},ee={class:"big-num nums"},te=["aria-valuenow","aria-label"],se={class:"muted small nums"},ae={key:0,class:"empty"},ue=B({__name:"ChecklistsView",setup(le){const _=N(),i=Z(),x=F();E(()=>{Promise.all([i.loadList(),_.loadMeetings()])});const C=h(()=>i.list!==null),y=h(()=>[...i.list??[]].sort((a,t)=>a.sort_order-t.sort_order||a.id-t.id)),m=v(!1),n=v(""),u=v(""),f=v(!1),p=v("");function $(){const a=_.meetings?.find(t=>t.id===u.value);a&&(!n.value||/^Zjazd \d+$/.test(n.value))&&(n.value=`Zjazd ${a.number}`)}async function M(){f.value=!0,p.value="";try{const a=await i.create({title:n.value,meeting_id:u.value===""?null:u.value});m.value=!1,n.value="",u.value="",await x.push(`/checklisty/${a.id}`)}catch(a){p.value=G(a).message}finally{f.value=!1}}return(a,t)=>{const V=T("router-link");return l(),o("div",null,[b(q,{eyebrow:"Przygotowanie do zjazdów",title:"Checklisty"},{default:g(()=>[m.value?c("",!0):(l(),o("button",{key:0,class:"btn primary small",type:"button",onClick:t[0]||(t[0]=e=>m.value=!0)},"Nowa"))]),_:1}),m.value?(l(),o("form",{key:0,class:"card",style:{"margin-bottom":"16px"},onSubmit:S(M,["prevent"])},[s("div",H,[t[6]||(t[6]=s("label",{for:"cl-meeting"},"Zjazd",-1)),k(s("select",{id:"cl-meeting","onUpdate:modelValue":t[1]||(t[1]=e=>u.value=e),onChange:$},[t[5]||(t[5]=s("option",{value:""},"bez zjazdu",-1)),(l(!0),o(z,null,w(d(_).meetings??[],e=>(l(),o("option",{key:e.id,value:e.id},"Zjazd "+r(e.number)+" · "+r(d(j)(e.starts_on,e.ends_on)),9,I))),128))],544),[[U,u.value]])]),s("div",J,[t[7]||(t[7]=s("label",{for:"cl-title"},"Tytuł",-1)),k(s("input",{id:"cl-title","onUpdate:modelValue":t[2]||(t[2]=e=>n.value=e),type:"text",required:"",maxlength:"255"},null,512),[[D,n.value]])]),p.value?(l(),o("p",K,r(p.value),1)):c("",!0),s("div",O,[s("button",{class:"btn primary",type:"submit",disabled:f.value||!n.value.trim()},"Utwórz",8,Q),s("button",{class:"btn ghost",type:"button",onClick:t[3]||(t[3]=e=>m.value=!1)},"Anuluj")])],32)):c("",!0),b(A,{ready:C.value,error:d(i).listError,onRetry:t[4]||(t[4]=e=>d(i).loadList())},{default:g(()=>[s("div",W,[(l(!0),o(z,null,w(y.value,e=>(l(),L(V,{key:e.id,to:`/checklisty/${e.id}`,class:"card link checklist-card"},{default:g(()=>[s("div",X,[s("div",null,[s("h3",null,r(e.title),1),e.meeting?(l(),o("span",Y,"Zjazd "+r(e.meeting.number)+" · "+r(d(j)(e.meeting.starts_on,e.meeting.ends_on)),1)):c("",!0)]),s("span",ee,r(e.progress.percent)+"%",1)]),s("div",{class:"progress-bar",role:"progressbar","aria-valuenow":e.progress.percent,"aria-valuemin":"0","aria-valuemax":"100","aria-label":`Postęp: ${e.title}`},[s("span",{style:P({width:e.progress.percent+"%"})},null,4)],8,te),s("span",se,r(d(R)(e.progress)),1)]),_:2},1032,["to"]))),128))]),y.value.length?c("",!0):(l(),o("p",ae,"Nie masz jeszcze checklist. Utwórz pierwszą, np. na najbliższy zjazd."))]),_:1},8,["ready","error"])])}}});export{ue as default};
|