Files
sm-bm-plugin/public/assets/ReadingsView-CkeoRoUe.js

2 lines
3.9 KiB
JavaScript

import{_ as $}from"./PageHead.vue_vue_type_script_setup_true_lang-CTRsFrXp.js";import{_ as C}from"./LoadState.vue_vue_type_script_setup_true_lang-BJaIgvKE.js";import{_ as O}from"./ElectiveBar.vue_vue_type_script_setup_true_lang-D-Gu30E3.js";import{_ as b}from"./ReadingItem.vue_vue_type_script_setup_true_lang-CeBbRub3.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 a,t as r,$ as S,F as m,H as g,p as V,C as j,s as x,f,ae as L,r as T,l as M}from"./index-B1ZTq02x.js";import{u as D}from"./scrollToHash-Iwy9VZ0s.js";const F={class:"card","aria-label":"Postęp czytania"},P={style:{margin:"0 0 8px"}},E={class:"big-num nums"},H={class:"muted"},W={class:"muted small"},A=["aria-valuenow"],G={class:"chips wrap",style:{"margin-top":"12px"}},I=["aria-pressed"],U=["aria-pressed"],J=["aria-labelledby"],K={class:"section-head"},Q=["id"],X={class:"badge",style:{"margin-left":"8px"}},Y={class:"muted small nums"},Z={class:"subhead"},ee={class:"rows"},oe={class:"subhead"},ae={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(o=>(!_.value||!o.read_at)&&(!p.value||o.owned_at));return{course:t[0].course,required:e.filter(o=>o.is_required),optional:e.filter(o=>!o.is_required),read:t.filter(o=>o.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(C,{ready:w.value,error:d(s).error,onRetry:l[2]||(l[2]=e=>d(s).retry())},{default:q(()=>[h(O),a("section",F,[a("p",P,[a("span",E,r(u.value.requiredRead),1),a("span",H," z "+r(u.value.requiredTotal)+" obowiązkowych",1),a("span",W," · łącznie "+r(u.value.read)+" z "+r(u.value.total),1)]),a("div",{class:"progress-bar",role:"progressbar","aria-valuenow":z.value,"aria-valuemin":"0","aria-valuemax":"100","aria-label":"Przeczytane lektury obowiązkowe"},[a("span",{style:S({width:z.value+"%"})},null,4)],8,A)]),a("div",G,[a("button",{class:"chip",type:"button","aria-pressed":_.value,onClick:l[0]||(l[0]=e=>_.value=!_.value)},"Tylko nieprzeczytane",8,I),a("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}`},[a("div",K,[a("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"]),a("span",X,r(d(j)[e.course.form]),1)],8,Q),a("span",Y,r(e.read)+"/"+r(e.total),1)]),e.required.length?(n(),i(m,{key:0},[a("h3",Z,"Obowiązkowe · "+r(e.required.length),1),a("ul",ee,[(n(!0),i(m,null,g(e.required,o=>(n(),x(b,{key:o.id,reading:o,onToggle:c=>d(s).toggleReading(o.id,c),onOwn:c=>d(s).toggleOwned(o.id,c)},null,8,["reading","onToggle","onOwn"]))),128))])],64)):f("",!0),e.optional.length?(n(),i(m,{key:1},[a("h3",oe,"Dodatkowe · "+r(e.optional.length),1),a("ul",ae,[(n(!0),i(m,null,g(e.optional,o=>(n(),x(b,{key:o.id,reading:o,onToggle:c=>d(s).toggleReading(o.id,c),onOwn:c=>d(s).toggleOwned(o.id,c)},null,8,["reading","onToggle","onOwn"]))),128))])],64)):f("",!0)],8,J))),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};