Files
sm-bm-plugin/public/assets/DeadlinesView-C9TVsPTA.js
2026-11-08 11:58:11 +01:00

2 lines
2.7 KiB
JavaScript

import{d as C,ae as B,o as N,U as T,c as t,i as m,j as g,e as a,r as w,x as y,n as o,F as h,E as D,b as i,t as s,C as V,z as b,ai as j,p as f,K as z,a6 as E,aj as $,f as p,ag as L,l as M,k as S}from"./index-CcIbRcGw.js";import{_ as F}from"./PageHead.vue_vue_type_script_setup_true_lang-D514yUH-.js";import{_ as K}from"./LoadState.vue_vue_type_script_setup_true_lang-CDuAEvCu.js";import{_ as P}from"./ElectiveBar.vue_vue_type_script_setup_true_lang-uXXHXoAS.js";import{u as R}from"./scrollToHash-9hW3Jv9D.js";const U={key:0,class:"rows card"},A=["id"],H={class:"row-main"},I={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 n=B(),l=w(new Date),u=w(!1);N(()=>{l.value=new Date,Promise.all([n.loadDeadlines(),n.loadCourses()])});const k=y(()=>n.deadlines.filter(d=>Date.parse(d.due_at)>=l.value.getTime())),c=y(()=>n.deadlines.filter(d=>Date.parse(d.due_at)<l.value.getTime()).reverse()),v=y(()=>n.loaded.deadlines&&n.loaded.courses),x=S();return T([v,()=>x.hash],([d,r])=>{const _=Number(/^#termin-(\d+)$/.exec(r)?.[1]);d&&_&&c.value.some(e=>e.id===_)&&(u.value=!0)},{immediate:!0}),R(v),(d,r)=>{const _=M("router-link");return o(),t("div",null,[m(F,{eyebrow:"Zaliczenia, egzaminy, sprawy organizacyjne",title:"Terminarz"}),m(K,{ready:v.value,error:a(n).error,onRetry:r[1]||(r[1]=e=>a(n).retry())},{default:g(()=>[m(P),k.value.length?(o(),t("ul",U,[(o(!0),t(h,null,D(k.value,e=>(o(),t("li",{id:`termin-${e.id}`,key:e.id},[i("div",H,[i("span",I,s(e.title),1),i("span",{class:V(["badge",{alert:a(b)(e.due_at,l.value)<=3}])},s(a(j)(e.due_at,l.value)),3)]),i("div",Z,[f(s(a(z)(e.due_at))+", "+s(a(E)(e.due_at))+" · ",1),i("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,[i("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},[i("div",Y,[i("span",ee,s(e.title),1),i("span",se,s(a(L)(Math.abs(a(b)(e.due_at,l.value)),"dzień","dni","dni"))+" temu",1)]),i("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};