2 lines
2.7 KiB
JavaScript
2 lines
2.7 KiB
JavaScript
import{d as C,ad as T,o as B,T as N,c as t,i as m,j as g,e as a,r as w,x as y,n as o,F as h,H as D,b as n,t as s,E as V,z as b,af as E,p as f,I as z,D as L,ag as $,f as p,ae as M,l as S,k as j}from"./index-B1ZTq02x.js";import{_ as F}from"./PageHead.vue_vue_type_script_setup_true_lang-CTRsFrXp.js";import{_ as H}from"./LoadState.vue_vue_type_script_setup_true_lang-BJaIgvKE.js";import{_ as I}from"./ElectiveBar.vue_vue_type_script_setup_true_lang-D-Gu30E3.js";import{u as P}from"./scrollToHash-Iwy9VZ0s.js";const R={key:0,class:"rows card"},A=["id"],K={class:"row-main"},U={class:"title"},Z={class:"muted small"},q={class:"badge"},G={key:0,class:"small",style:{margin:"6px 0 0"}},J={key:1,class:"empty"},O={key:2,class:"section"},Q=["aria-pressed"],W={key:0,class:"rows card past",style:{"margin-top":"10px"}},X=["id"],Y={class:"row-main"},ee={class:"title"},se={class:"when"},te={class:"muted small"},de=C({__name:"DeadlinesView",setup(ae){const i=T(),l=w(new Date),u=w(!1);B(()=>{l.value=new Date,Promise.all([i.loadDeadlines(),i.loadCourses()])});const k=y(()=>i.deadlines.filter(d=>Date.parse(d.due_at)>=l.value.getTime())),c=y(()=>i.deadlines.filter(d=>Date.parse(d.due_at)<l.value.getTime()).reverse()),v=y(()=>i.loaded.deadlines&&i.loaded.courses),x=j();return N([v,()=>x.hash],([d,r])=>{const _=Number(/^#termin-(\d+)$/.exec(r)?.[1]);d&&_&&c.value.some(e=>e.id===_)&&(u.value=!0)},{immediate:!0}),P(v),(d,r)=>{const _=S("router-link");return o(),t("div",null,[m(F,{eyebrow:"Zaliczenia, egzaminy, sprawy organizacyjne",title:"Terminarz"}),m(H,{ready:v.value,error:a(i).error,onRetry:r[1]||(r[1]=e=>a(i).retry())},{default:g(()=>[m(I),k.value.length?(o(),t("ul",R,[(o(!0),t(h,null,D(k.value,e=>(o(),t("li",{id:`termin-${e.id}`,key:e.id},[n("div",K,[n("span",U,s(e.title),1),n("span",{class:V(["badge",{alert:a(b)(e.due_at,l.value)<=3}])},s(a(E)(e.due_at,l.value)),3)]),n("div",Z,[f(s(a(z)(e.due_at))+", "+s(a(L)(e.due_at))+" · ",1),n("span",q,s(a($)[e.kind]),1),e.course?(o(),t(h,{key:0},[r[2]||(r[2]=f(" · ",-1)),m(_,{to:`/przedmioty/${e.course.id}`},{default:g(()=>[f(s(e.course.name),1)]),_:2},1032,["to"])],64)):p("",!0)]),e.description?(o(),t("p",G,s(e.description),1)):p("",!0)],8,A))),128))])):(o(),t("p",J,"Brak nadchodzących terminów.")),c.value.length?(o(),t("div",O,[n("button",{class:"chip",type:"button","aria-pressed":u.value,onClick:r[0]||(r[0]=e=>u.value=!u.value)},"Minione ("+s(c.value.length)+")",9,Q),u.value?(o(),t("ul",W,[(o(!0),t(h,null,D(c.value,e=>(o(),t("li",{id:`termin-${e.id}`,key:e.id},[n("div",Y,[n("span",ee,s(e.title),1),n("span",se,s(a(M)(Math.abs(a(b)(e.due_at,l.value)),"dzień","dni","dni"))+" temu",1)]),n("div",te,s(a(z)(e.due_at))+" · "+s(a($)[e.kind]),1)],8,X))),128))])):p("",!0)])):p("",!0)]),_:1},8,["ready","error"])])}}});export{de as default};
|