Files
sm-bm-plugin/public/assets/QuizzesView-ConIDzzP.js
2026-11-09 20:37:52 +01:00

2 lines
3.3 KiB
JavaScript

import{_ as T}from"./PageHead.vue_vue_type_script_setup_true_lang-CBvqAUPQ.js";import{_ as B}from"./LoadState.vue_vue_type_script_setup_true_lang-D2ee3RG3.js";import{q as x,_ as V}from"./quizzes-BK-c6VgO.js";import{d as E,o as F,c as o,i as v,j,r as b,ap as M,n as s,F as u,E as z,b as l,t as c,s as Q,e as k,C as S,f as y,p as g,ag as C,x as H,l as O}from"./index-B9LCKVgm.js";const P="Inne";function R(a){const e=new Map,n=[];for(const i of a){const r=i.context?.trim()??"";if(!r){n.push(i);continue}const m=e.get(r);m?m.push(i):e.set(r,[i])}const p=[...e].sort(([i],[r])=>i.localeCompare(r,"pl",{numeric:!0})).map(([i,r])=>({label:i,quizzes:r}));return n.length&&p.push({label:P,quizzes:n}),p}function A(a){const e=a.question_types,n=[];return(e?.self_check??0)>0&&n.push("fiszki"),(e?.single??0)+(e?.multiple??0)>0&&n.push("wybór"),(e?.open??0)>0&&n.push("otwarte"),n}function D(a){if(a.mode!=="test")return[];const e=["Test"];return a.time_limit_seconds&&e.push(`${Math.ceil(a.time_limit_seconds/60)} min`),e.push(`próg ${String(a.passing_score).replace(".",",")}%`),a.attempts_left!==null&&a.attempts_left!==void 0&&e.push(`Pozostało podejść: ${a.attempts_left}`),e}const I=["aria-labelledby"],L={class:"section-head"},X=["id"],G={class:"stack"},J={class:"quiz-badges"},K={key:0,class:"muted small",style:{margin:"0 0 8px"}},U={class:"small",style:{margin:"0"}},W={key:1,class:"empty"},Y={key:2,class:"section","aria-labelledby":"hist-h"},Z={class:"card"},oe=E({__name:"QuizzesView",setup(a){const e=b(null),n=b([]),p=b(""),i=H(()=>R(e.value??[])),r=d=>String(Math.round(d*10)/10).replace(".",",");async function m(){p.value="";try{const[d,_]=await Promise.all([x.list(),x.attempts()]);e.value=d,n.value=_.data}catch(d){p.value=M(d)}}return F(m),(d,_)=>{const N=O("router-link");return s(),o("div",null,[v(T,{eyebrow:"Fiszki i testy",title:"Quizy"}),v(B,{ready:e.value!==null,error:p.value,onRetry:_[0]||(_[0]=h=>m())},{default:j(()=>[e.value?.length?(s(!0),o(u,{key:0},z(i.value,(h,w)=>(s(),o("section",{key:h.label,class:"section","aria-labelledby":`ctx-${w}`},[l("div",L,[l("h2",{id:`ctx-${w}`},c(h.label),9,X)]),l("div",G,[(s(!0),o(u,null,z(h.quizzes,t=>(s(),Q(N,{key:t.id,to:`/quizy/${t.slug}`,class:"card link accent"},{default:j(()=>[l("h3",null,c(t.title),1),l("div",J,[(s(!0),o(u,null,z(k(D)(t),(f,$)=>(s(),o("span",{key:`t${$}`,class:S(["badge",$===0?"alert":"warn"])},c(f),3))),128)),(s(!0),o(u,null,z(k(A)(t),f=>(s(),o("span",{key:f,class:"badge"},c(f),1))),128))]),t.description?(s(),o("p",K,c(t.description),1)):y("",!0),l("p",U,[g(c(k(C)(t.question_count,"pytanie","pytania","pytań")),1),t.round_size&&t.mode!=="test"?(s(),o(u,{key:0},[g(" · rundy po "+c(t.round_size),1)],64)):y("",!0),t.attempts_count?(s(),o(u,{key:1},[g(" · "+c(k(C)(t.attempts_count,"zakończone podejście","zakończone podejścia","zakończonych podejść")),1)],64)):y("",!0),t.best_score_percent!==null?(s(),o(u,{key:2},[g(" · najlepszy wynik "+c(r(t.best_score_percent))+"%",1)],64)):y("",!0)])]),_:2},1032,["to"]))),128))])],8,I))),128)):(s(),o("p",W,"Nie ma jeszcze żadnych quizów.")),n.value.length?(s(),o("section",Y,[_[1]||(_[1]=l("div",{class:"section-head"},[l("h2",{id:"hist-h"},"Historia podejść")],-1)),l("div",Z,[v(V,{attempts:n.value,"show-quiz":""},null,8,["attempts"])])])):y("",!0)]),_:1},8,["ready","error"])])}}});export{oe as default};