2 lines
3.9 KiB
JavaScript
2 lines
3.9 KiB
JavaScript
import{_ as $}from"./PageHead.vue_vue_type_script_setup_true_lang-CU_q4BB6.js";import{_ as O}from"./LoadState.vue_vue_type_script_setup_true_lang-Yoyi77l1.js";import{_ as C}from"./ElectiveBar.vue_vue_type_script_setup_true_lang-Be6NoBea.js";import{_ as b}from"./ReadingItem.vue_vue_type_script_setup_true_lang-CqjsicZF.js";import{d as R,ad as B,o as N,c as i,i as h,j as q,e as d,x as v,n,b as o,t as r,Z as S,F as m,E as g,p as V,af as j,s as x,f,ae as L,r as T,l as M}from"./index-C7vQR2oS.js";import{u as D}from"./scrollToHash-BQ5mxZMT.js";const E={class:"card","aria-label":"Postęp czytania"},F={style:{margin:"0 0 8px"}},P={class:"big-num nums"},W={class:"muted"},A={class:"muted small"},G=["aria-valuenow"],H={class:"chips wrap",style:{"margin-top":"12px"}},I=["aria-pressed"],U=["aria-pressed"],Z=["aria-labelledby"],J={class:"section-head"},K=["id"],Q={class:"badge",style:{"margin-left":"8px"}},X={class:"muted small nums"},Y={class:"subhead"},ee={class:"rows"},ae={class:"subhead"},oe={class:"rows"},te={key:0,class:"empty",style:{"margin-top":"16px"}},ce=R({__name:"ReadingsView",setup(se){const s=B(),_=T(!1),p=T(!1);N(()=>{Promise.all([s.loadReadings(),s.loadCourses()])});const k=v(()=>{const y=new Map;for(const t of s.readings)y.set(t.course_id,[...y.get(t.course_id)??[],t]);const l=t=>s.courseById.get(t)?.sort_order??0;return[...y].sort(([t],[e])=>l(t)-l(e)).map(([,t])=>{const e=t.filter(a=>(!_.value||!a.read_at)&&(!p.value||a.owned_at));return{course:t[0].course,required:e.filter(a=>a.is_required),optional:e.filter(a=>!a.is_required),read:t.filter(a=>a.read_at).length,total:t.length}}).filter(t=>t.required.length+t.optional.length>0)}),w=v(()=>s.loaded.readings&&s.loaded.courses);D(w);const u=v(()=>s.readingStats),z=v(()=>u.value.requiredTotal?Math.round(u.value.requiredRead/u.value.requiredTotal*100):0);return(y,l)=>{const t=M("router-link");return n(),i("div",null,[h($,{eyebrow:"Do przeczytania",title:"Lektury"}),h(O,{ready:w.value,error:d(s).error,onRetry:l[2]||(l[2]=e=>d(s).retry())},{default:q(()=>[h(C),o("section",E,[o("p",F,[o("span",P,r(u.value.requiredRead),1),o("span",W," z "+r(u.value.requiredTotal)+" obowiązkowych",1),o("span",A," · łącznie "+r(u.value.read)+" z "+r(u.value.total),1)]),o("div",{class:"progress-bar",role:"progressbar","aria-valuenow":z.value,"aria-valuemin":"0","aria-valuemax":"100","aria-label":"Przeczytane lektury obowiązkowe"},[o("span",{style:S({width:z.value+"%"})},null,4)],8,G)]),o("div",H,[o("button",{class:"chip",type:"button","aria-pressed":_.value,onClick:l[0]||(l[0]=e=>_.value=!_.value)},"Tylko nieprzeczytane",8,I),o("button",{class:"chip",type:"button","aria-pressed":p.value,onClick:l[1]||(l[1]=e=>p.value=!p.value)},"Tylko posiadane",8,U)]),(n(!0),i(m,null,g(k.value,e=>(n(),i("section",{key:e.course.id,class:"section","aria-labelledby":`c${e.course.id}`},[o("div",J,[o("h2",{id:`c${e.course.id}`},[h(t,{to:`/przedmioty/${e.course.id}`,style:{color:"inherit","text-decoration":"none"}},{default:q(()=>[V(r(e.course.name),1)]),_:2},1032,["to"]),o("span",Q,r(d(j)[e.course.form]),1)],8,K),o("span",X,r(e.read)+"/"+r(e.total),1)]),e.required.length?(n(),i(m,{key:0},[o("h3",Y,"Obowiązkowe · "+r(e.required.length),1),o("ul",ee,[(n(!0),i(m,null,g(e.required,a=>(n(),x(b,{key:a.id,reading:a,onToggle:c=>d(s).toggleReading(a.id,c),onOwn:c=>d(s).toggleOwned(a.id,c)},null,8,["reading","onToggle","onOwn"]))),128))])],64)):f("",!0),e.optional.length?(n(),i(m,{key:1},[o("h3",ae,"Dodatkowe · "+r(e.optional.length),1),o("ul",oe,[(n(!0),i(m,null,g(e.optional,a=>(n(),x(b,{key:a.id,reading:a,onToggle:c=>d(s).toggleReading(a.id,c),onOwn:c=>d(s).toggleOwned(a.id,c)},null,8,["reading","onToggle","onOwn"]))),128))])],64)):f("",!0)],8,Z))),128)),k.value.length?f("",!0):(n(),i("p",te,r(p.value?_.value?"Wszystkie posiadane lektury przeczytane.":"Nie masz jeszcze żadnej lektury.":_.value?"Wszystko przeczytane. Gratulacje!":d(L)(0,"lektura","lektury","lektur")+" do wyświetlenia."),1))]),_:1},8,["ready","error"])])}}});export{ce as default};
|