diff --git a/public/assets/CourseView-WRUNe9gZ.js b/public/assets/CourseView-WRUNe9gZ.js deleted file mode 100644 index 11ff3fb..0000000 --- a/public/assets/CourseView-WRUNe9gZ.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as L}from"./PageHead.vue_vue_type_script_setup_true_lang-D45_AHIh.js";import{_ as N}from"./LoadState.vue_vue_type_script_setup_true_lang-DkVVX15k.js";import{_ as B}from"./ReadingItem.vue_vue_type_script_setup_true_lang-CoT1-n5U.js";import{d as R,y as E,o as S,D as V,c as a,i as y,j as p,r as z,H as j,I as F,n as t,F as r,e as d,p as T,b as e,t as n,f as i,B as g,x as f,l as M,z as q,s as O}from"./index-BJq7_SVs.js";import{F as A,b as P,a as C,T as Z,c as H}from"./format-bcE-cYHJ.js";const I={class:"card"},K={style:{margin:"0",display:"grid","grid-template-columns":"auto 1fr",gap:"4px 16px"}},W={style:{margin:"0"}},Y={style:{margin:"0"},class:"mono small"},G={style:{margin:"0"}},J={style:{margin:"0"}},Q={key:0,style:{margin:"10px 0 0","white-space":"pre-line"}},U={key:1,style:{margin:"10px 0 0"}},X=["href"],ee={class:"section","aria-labelledby":"sess-h"},se={class:"section-head"},te={class:"muted small"},ae={key:0,class:"rows"},le={class:"row-main"},oe={class:"title"},ne={class:"when"},ie={class:"muted small"},re={key:0},de={key:1,class:"badge online",style:{"margin-left":"6px"}},ue={key:2,class:"badge onsite",style:{"margin-left":"6px"}},ce={key:3},_e={key:4},me={key:1,class:"empty"},ye={class:"section","aria-labelledby":"read-h"},pe={class:"section-head"},ge={class:"muted small"},ve={class:"rows"},he={class:"rows"},ke={key:1,class:"empty"},fe={class:"section","aria-labelledby":"mat-h"},be={class:"section-head"},we={class:"muted small"},xe={key:0,class:"rows"},Be={class:"muted small"},ze={class:"badge"},Te={key:0},Oe={key:1,class:"empty"},Re=R({__name:"CourseView",props:{id:{}},setup($){const v=$,_=E(),l=z(null),h=z("");async function k(){l.value=null,h.value="";try{l.value=await j.course(Number(v.id))}catch(u){h.value=F(u)}}S(()=>{k(),_.loadReadings()}),V(()=>v.id,()=>{k()});const m=f(()=>_.allReadings.filter(u=>u.course_id===Number(v.id))),b=f(()=>m.value.filter(u=>u.is_required)),w=f(()=>m.value.filter(u=>!u.is_required)),D=Date.now();return(u,o)=>{const x=M("router-link");return t(),a("div",null,[y(N,{ready:!!l.value,error:h.value,onRetry:o[0]||(o[0]=s=>k())},{default:p(()=>[l.value?(t(),a(r,{key:0},[y(L,{eyebrow:`${d(A)[l.value.form]} · semestr ${l.value.semester}`,title:l.value.name},{default:p(()=>[y(x,{class:"btn small ghost",to:"/przedmioty"},{default:p(()=>[...o[1]||(o[1]=[T("← Przedmioty",-1)])]),_:1})]),_:1},8,["eyebrow","title"]),e("section",I,[e("dl",K,[l.value.lecturer?(t(),a(r,{key:0},[o[2]||(o[2]=e("dt",{class:"muted"},"Prowadzący",-1)),e("dd",W,n(l.value.lecturer),1)],64)):i("",!0),l.value.code?(t(),a(r,{key:1},[o[3]||(o[3]=e("dt",{class:"muted"},"Kod",-1)),e("dd",Y,n(l.value.code),1)],64)):i("",!0),l.value.ects?(t(),a(r,{key:2},[o[4]||(o[4]=e("dt",{class:"muted"},"ECTS",-1)),e("dd",G,n(l.value.ects),1)],64)):i("",!0),l.value.assessment?(t(),a(r,{key:3},[o[5]||(o[5]=e("dt",{class:"muted"},"Zaliczenie",-1)),e("dd",J,n(l.value.assessment),1)],64)):i("",!0),l.value.elective_group?(t(),a(r,{key:4},[o[6]||(o[6]=e("dt",{class:"muted"},"Wybór",-1)),o[7]||(o[7]=e("dd",{style:{margin:"0"}},[e("span",{class:"badge alert"},"do wyboru")],-1))],64)):i("",!0)]),l.value.description?(t(),a("p",Q,n(l.value.description),1)):i("",!0),l.value.syllabus_url?(t(),a("p",U,[e("a",{href:l.value.syllabus_url,target:"_blank",rel:"noopener noreferrer"},"Sylabus",8,X)])):i("",!0)]),e("section",ee,[e("div",se,[o[8]||(o[8]=e("h2",{id:"sess-h"},"Zajęcia",-1)),e("span",te,n(l.value.sessions.length),1)]),l.value.sessions.length?(t(),a("ul",ae,[(t(!0),a(r,null,g(l.value.sessions,s=>(t(),a("li",{key:s.id,class:q({past:Date.parse(s.ends_at)s.read_at).length)+"/"+n(m.value.length),1)]),m.value.length?(t(),a(r,{key:0},[b.value.length?(t(),a(r,{key:0},[o[10]||(o[10]=e("h3",{class:"subhead"},"Obowiązkowe",-1)),e("ul",ve,[(t(!0),a(r,null,g(b.value,s=>(t(),O(B,{key:s.id,reading:s,onToggle:c=>d(_).toggleReading(s.id,c),onOwn:c=>d(_).toggleOwned(s.id,c)},null,8,["reading","onToggle","onOwn"]))),128))])],64)):i("",!0),w.value.length?(t(),a(r,{key:1},[o[11]||(o[11]=e("h3",{class:"subhead"},"Dodatkowe",-1)),e("ul",he,[(t(!0),a(r,null,g(w.value,s=>(t(),O(B,{key:s.id,reading:s,onToggle:c=>d(_).toggleReading(s.id,c),onOwn:c=>d(_).toggleOwned(s.id,c)},null,8,["reading","onToggle","onOwn"]))),128))])],64)):i("",!0)],64)):(t(),a("p",ke,"Brak lektur."))]),e("section",fe,[e("div",be,[o[12]||(o[12]=e("h2",{id:"mat-h"},"Materiały",-1)),e("span",we,n(l.value.materials.length),1)]),l.value.materials.length?(t(),a("ul",xe,[(t(!0),a(r,null,g(l.value.materials,s=>(t(),a("li",{key:s.id},[y(x,{to:`/materialy/${s.id}`,class:"title"},{default:p(()=>[T(n(s.title),1)]),_:2},1032,["to"]),e("div",Be,[e("span",ze,n(d(Z)[s.type]),1),s.files_count?(t(),a("span",Te," · "+n(d(H)(s.files_count,"plik","pliki","plików")),1)):i("",!0)])]))),128))])):(t(),a("p",Oe,"Brak materiałów."))])],64)):i("",!0)]),_:1},8,["ready","error"])])}}});export{Re as default}; diff --git a/public/assets/CourseView-vpw6HNN6.js b/public/assets/CourseView-vpw6HNN6.js new file mode 100644 index 0000000..096360e --- /dev/null +++ b/public/assets/CourseView-vpw6HNN6.js @@ -0,0 +1 @@ +import{_ as E}from"./PageHead.vue_vue_type_script_setup_true_lang-BvljxRM_.js";import{_ as L}from"./LoadState.vue_vue_type_script_setup_true_lang-CZ3UpUyg.js";import{_ as B}from"./ReadingItem.vue_vue_type_script_setup_true_lang-Ca2rv9LR.js";import{d as N,ad as R,o as S,T as V,c as a,i as y,j as p,r as T,ak as j,al as M,n as t,F as r,e as d,C as q,p as z,b as e,t as n,f as i,H as g,E as A,I as F,D as C,s as O,am as P,ae as Z,x as f,l as H}from"./index-BxuLaZe9.js";const I={class:"card"},K={style:{margin:"0",display:"grid","grid-template-columns":"auto 1fr",gap:"4px 16px"}},W={style:{margin:"0"}},Y={style:{margin:"0"},class:"mono small"},G={style:{margin:"0"}},J={style:{margin:"0"}},Q={key:0,style:{margin:"10px 0 0","white-space":"pre-line"}},U={key:1,style:{margin:"10px 0 0"}},X=["href"],ee={class:"section","aria-labelledby":"sess-h"},se={class:"section-head"},te={class:"muted small"},ae={key:0,class:"rows"},le={class:"row-main"},oe={class:"title"},ne={class:"when"},ie={class:"muted small"},re={key:0},de={key:1,class:"badge online",style:{"margin-left":"6px"}},ue={key:2,class:"badge onsite",style:{"margin-left":"6px"}},ce={key:3},_e={key:4},me={key:1,class:"empty"},ye={class:"section","aria-labelledby":"read-h"},pe={class:"section-head"},ge={class:"muted small"},ve={class:"rows"},he={class:"rows"},ke={key:1,class:"empty"},fe={class:"section","aria-labelledby":"mat-h"},be={class:"section-head"},we={class:"muted small"},xe={key:0,class:"rows"},Be={class:"muted small"},Te={class:"badge"},ze={key:0},Ce={key:1,class:"empty"},Le=N({__name:"CourseView",props:{id:{}},setup($){const v=$,_=R(),l=T(null),h=T("");async function k(){l.value=null,h.value="";try{l.value=await j.course(Number(v.id))}catch(u){h.value=M(u)}}S(()=>{k(),_.loadReadings()}),V(()=>v.id,()=>{k()});const m=f(()=>_.allReadings.filter(u=>u.course_id===Number(v.id))),b=f(()=>m.value.filter(u=>u.is_required)),w=f(()=>m.value.filter(u=>!u.is_required)),D=Date.now();return(u,o)=>{const x=H("router-link");return t(),a("div",null,[y(L,{ready:!!l.value,error:h.value,onRetry:o[0]||(o[0]=s=>k())},{default:p(()=>[l.value?(t(),a(r,{key:0},[y(E,{eyebrow:`${d(q)[l.value.form]} · semestr ${l.value.semester}`,title:l.value.name},{default:p(()=>[y(x,{class:"btn small ghost",to:"/przedmioty"},{default:p(()=>[...o[1]||(o[1]=[z("← Przedmioty",-1)])]),_:1})]),_:1},8,["eyebrow","title"]),e("section",I,[e("dl",K,[l.value.lecturer?(t(),a(r,{key:0},[o[2]||(o[2]=e("dt",{class:"muted"},"Prowadzący",-1)),e("dd",W,n(l.value.lecturer),1)],64)):i("",!0),l.value.code?(t(),a(r,{key:1},[o[3]||(o[3]=e("dt",{class:"muted"},"Kod",-1)),e("dd",Y,n(l.value.code),1)],64)):i("",!0),l.value.ects?(t(),a(r,{key:2},[o[4]||(o[4]=e("dt",{class:"muted"},"ECTS",-1)),e("dd",G,n(l.value.ects),1)],64)):i("",!0),l.value.assessment?(t(),a(r,{key:3},[o[5]||(o[5]=e("dt",{class:"muted"},"Zaliczenie",-1)),e("dd",J,n(l.value.assessment),1)],64)):i("",!0),l.value.elective_group?(t(),a(r,{key:4},[o[6]||(o[6]=e("dt",{class:"muted"},"Wybór",-1)),o[7]||(o[7]=e("dd",{style:{margin:"0"}},[e("span",{class:"badge alert"},"do wyboru")],-1))],64)):i("",!0)]),l.value.description?(t(),a("p",Q,n(l.value.description),1)):i("",!0),l.value.syllabus_url?(t(),a("p",U,[e("a",{href:l.value.syllabus_url,target:"_blank",rel:"noopener noreferrer"},"Sylabus",8,X)])):i("",!0)]),e("section",ee,[e("div",se,[o[8]||(o[8]=e("h2",{id:"sess-h"},"Zajęcia",-1)),e("span",te,n(l.value.sessions.length),1)]),l.value.sessions.length?(t(),a("ul",ae,[(t(!0),a(r,null,g(l.value.sessions,s=>(t(),a("li",{key:s.id,class:A({past:Date.parse(s.ends_at)s.read_at).length)+"/"+n(m.value.length),1)]),m.value.length?(t(),a(r,{key:0},[b.value.length?(t(),a(r,{key:0},[o[10]||(o[10]=e("h3",{class:"subhead"},"Obowiązkowe",-1)),e("ul",ve,[(t(!0),a(r,null,g(b.value,s=>(t(),O(B,{key:s.id,reading:s,onToggle:c=>d(_).toggleReading(s.id,c),onOwn:c=>d(_).toggleOwned(s.id,c)},null,8,["reading","onToggle","onOwn"]))),128))])],64)):i("",!0),w.value.length?(t(),a(r,{key:1},[o[11]||(o[11]=e("h3",{class:"subhead"},"Dodatkowe",-1)),e("ul",he,[(t(!0),a(r,null,g(w.value,s=>(t(),O(B,{key:s.id,reading:s,onToggle:c=>d(_).toggleReading(s.id,c),onOwn:c=>d(_).toggleOwned(s.id,c)},null,8,["reading","onToggle","onOwn"]))),128))])],64)):i("",!0)],64)):(t(),a("p",ke,"Brak lektur."))]),e("section",fe,[e("div",be,[o[12]||(o[12]=e("h2",{id:"mat-h"},"Materiały",-1)),e("span",we,n(l.value.materials.length),1)]),l.value.materials.length?(t(),a("ul",xe,[(t(!0),a(r,null,g(l.value.materials,s=>(t(),a("li",{key:s.id},[y(x,{to:`/materialy/${s.id}`,class:"title"},{default:p(()=>[z(n(s.title),1)]),_:2},1032,["to"]),e("div",Be,[e("span",Te,n(d(P)[s.type]),1),s.files_count?(t(),a("span",ze," · "+n(d(Z)(s.files_count,"plik","pliki","plików")),1)):i("",!0)])]))),128))])):(t(),a("p",Ce,"Brak materiałów."))])],64)):i("",!0)]),_:1},8,["ready","error"])])}}});export{Le as default}; diff --git a/public/assets/CoursesView-BS-GiROB.js b/public/assets/CoursesView-BS-GiROB.js new file mode 100644 index 0000000..f2301c9 --- /dev/null +++ b/public/assets/CoursesView-BS-GiROB.js @@ -0,0 +1 @@ +import{_ as C}from"./PageHead.vue_vue_type_script_setup_true_lang-BvljxRM_.js";import{_ as w}from"./LoadState.vue_vue_type_script_setup_true_lang-CZ3UpUyg.js";import{_ as x}from"./ElectiveBar.vue_vue_type_script_setup_true_lang-BLN4Nv_F.js";import{d as z,ad as B,ai as $,o as S,c as t,i as m,j as k,e as r,n as s,b as o,F as c,H as v,t as a,f as n,s as j,C as V,aj as E,p as _,ae as h,r as N,x as f,l as F}from"./index-BxuLaZe9.js";const L={key:0,class:"chips",role:"group","aria-label":"Semestr"},M=["aria-pressed"],P=["aria-pressed","onClick"],R={key:1,class:"stack",style:{"margin-top":"10px"}},T={class:"row-main"},A={class:"badge"},D={class:"muted small",style:{margin:"0 0 6px"}},H={key:0},O={key:1},U={key:2},W={class:"small",style:{margin:"0"}},q={key:0,class:"badge alert"},G={class:"muted"},I={key:2,class:"empty"},ee=z({__name:"CoursesView",setup(J){const i=B(),g=$(),l=N(null);S(()=>{i.loadCourses()});const p=f(()=>[...new Set((i.courses??[]).map(u=>u.semester))].sort((u,d)=>u-d)),y=f(()=>i.visibleCourses.filter(u=>l.value===null||u.semester===l.value));return(u,d)=>{const b=F("router-link");return s(),t("div",null,[m(C,{eyebrow:"Program studiów",title:"Przedmioty"}),m(w,{ready:r(i).loaded.courses,error:r(i).error,onRetry:d[1]||(d[1]=e=>r(i).retry())},{default:k(()=>[m(x),p.value.length>1?(s(),t("div",L,[o("button",{class:"chip",type:"button","aria-pressed":l.value===null,onClick:d[0]||(d[0]=e=>l.value=null)},"Wszystkie",8,M),(s(!0),t(c,null,v(p.value,e=>(s(),t("button",{key:e,class:"chip",type:"button","aria-pressed":l.value===e,onClick:K=>l.value=e},"Semestr "+a(e),9,P))),128))])):n("",!0),y.value.length?(s(),t("div",R,[(s(!0),t(c,null,v(y.value,e=>(s(),j(b,{key:e.id,to:`/przedmioty/${e.id}`,class:"card link"},{default:k(()=>[o("div",T,[o("h3",null,a(e.name),1),o("span",A,a(r(V)[e.form]),1)]),o("p",D,[e.lecturer?(s(),t("span",H,a(e.lecturer),1)):n("",!0),e.ects?(s(),t("span",O," · "+a(e.ects)+" ECTS",1)):n("",!0),e.assessment?(s(),t("span",U," · "+a(e.assessment),1)):n("",!0)]),o("p",W,[r(E)(e,r(g).choices)?(s(),t("span",q,"do wyboru")):n("",!0),o("span",G,[_(a(r(h)(e.counts.sessions,"zajęcia","zajęcia","zajęć")),1),e.counts.readings?(s(),t(c,{key:0},[_(" · lektury "+a(e.counts.readings_read)+"/"+a(e.counts.readings),1)],64)):n("",!0),e.counts.materials?(s(),t(c,{key:1},[_(" · "+a(r(h)(e.counts.materials,"materiał","materiały","materiałów")),1)],64)):n("",!0)])])]),_:2},1032,["to"]))),128))])):(s(),t("p",I,"Brak przedmiotów."))]),_:1},8,["ready","error"])])}}});export{ee as default}; diff --git a/public/assets/CoursesView-DqecOhmq.js b/public/assets/CoursesView-DqecOhmq.js deleted file mode 100644 index 08c5c4a..0000000 --- a/public/assets/CoursesView-DqecOhmq.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as C}from"./PageHead.vue_vue_type_script_setup_true_lang-D45_AHIh.js";import{_ as w}from"./LoadState.vue_vue_type_script_setup_true_lang-DkVVX15k.js";import{_ as B}from"./ElectiveBar.vue_vue_type_script_setup_true_lang-Cy49YMPm.js";import{d as x,y as z,E as $,o as S,c as t,i as m,j as k,e as r,n as s,b as o,F as c,B as v,f as n,r as E,x as h,l as V,t as a,s as j,G as F,p as _}from"./index-BJq7_SVs.js";import{F as N,c as f}from"./format-bcE-cYHJ.js";const L={key:0,class:"chips",role:"group","aria-label":"Semestr"},M=["aria-pressed"],P=["aria-pressed","onClick"],R={key:1,class:"stack",style:{"margin-top":"10px"}},T={class:"row-main"},A={class:"badge"},D={class:"muted small",style:{margin:"0 0 6px"}},G={key:0},O={key:1},U={key:2},W={class:"small",style:{margin:"0"}},q={key:0,class:"badge alert"},H={class:"muted"},I={key:2,class:"empty"},se=x({__name:"CoursesView",setup(J){const i=z(),g=$(),l=E(null);S(()=>{i.loadCourses()});const p=h(()=>[...new Set((i.courses??[]).map(u=>u.semester))].sort((u,d)=>u-d)),y=h(()=>i.visibleCourses.filter(u=>l.value===null||u.semester===l.value));return(u,d)=>{const b=V("router-link");return s(),t("div",null,[m(C,{eyebrow:"Program studiów",title:"Przedmioty"}),m(w,{ready:r(i).loaded.courses,error:r(i).error,onRetry:d[1]||(d[1]=e=>r(i).retry())},{default:k(()=>[m(B),p.value.length>1?(s(),t("div",L,[o("button",{class:"chip",type:"button","aria-pressed":l.value===null,onClick:d[0]||(d[0]=e=>l.value=null)},"Wszystkie",8,M),(s(!0),t(c,null,v(p.value,e=>(s(),t("button",{key:e,class:"chip",type:"button","aria-pressed":l.value===e,onClick:K=>l.value=e},"Semestr "+a(e),9,P))),128))])):n("",!0),y.value.length?(s(),t("div",R,[(s(!0),t(c,null,v(y.value,e=>(s(),j(b,{key:e.id,to:`/przedmioty/${e.id}`,class:"card link"},{default:k(()=>[o("div",T,[o("h3",null,a(e.name),1),o("span",A,a(r(N)[e.form]),1)]),o("p",D,[e.lecturer?(s(),t("span",G,a(e.lecturer),1)):n("",!0),e.ects?(s(),t("span",O," · "+a(e.ects)+" ECTS",1)):n("",!0),e.assessment?(s(),t("span",U," · "+a(e.assessment),1)):n("",!0)]),o("p",W,[r(F)(e,r(g).choices)?(s(),t("span",q,"do wyboru")):n("",!0),o("span",H,[_(a(r(f)(e.counts.sessions,"zajęcia","zajęcia","zajęć")),1),e.counts.readings?(s(),t(c,{key:0},[_(" · lektury "+a(e.counts.readings_read)+"/"+a(e.counts.readings),1)],64)):n("",!0),e.counts.materials?(s(),t(c,{key:1},[_(" · "+a(r(f)(e.counts.materials,"materiał","materiały","materiałów")),1)],64)):n("",!0)])])]),_:2},1032,["to"]))),128))])):(s(),t("p",I,"Brak przedmiotów."))]),_:1},8,["ready","error"])])}}});export{se as default}; diff --git a/public/assets/DashboardView--YjuMg1O.js b/public/assets/DashboardView--YjuMg1O.js new file mode 100644 index 0000000..896fc16 --- /dev/null +++ b/public/assets/DashboardView--YjuMg1O.js @@ -0,0 +1,2 @@ +import{y as pe,z as Re,B as Ue,C as lt,D as Me,d as oe,n,c as s,E as ue,b as t,t as d,p as X,e as p,G as kt,f as I,F as K,H as J,i as L,j as ve,I as Be,x as m,l as it,J as gt,K as $t,r as w,L as wt,M as zt,s as fe,R as xt,N as rt,O as ut,P as It,Q as Ct,S as jt,T as re,U as Ce,_ as te,w as Ae,v as qe,V as Et,h as We,W as je,X as ct,Y as V,Z as xe,$ as Qe,a0 as be,a1 as Ke,o as Ge,a2 as Tt,a3 as Dt,a4 as Ie,a5 as Xe,a6 as St,q as Mt,a7 as Fe,a8 as Bt,a9 as Lt,aa as Nt,ab as Rt,ac as At,u as qt,ad as Wt,ae as Ot,k as Ut,m as Pt,af as Ht,ag as Kt}from"./index-BxuLaZe9.js";import{_ as Ft}from"./PageHead.vue_vue_type_script_setup_true_lang-BvljxRM_.js";import{_ as Zt}from"./LoadState.vue_vue_type_script_setup_true_lang-CZ3UpUyg.js";import{_ as Je}from"./ElectiveBar.vue_vue_type_script_setup_true_lang-BLN4Nv_F.js";import{e as $e,s as et,f as tt}from"./markdown-C6lfQdWc.js";const at=6,Ze=a=>`${a}T12:00:00Z`;function nt(a,r){return Re(Ze(r),new Date(Ze(a)))}function Vt(a,r,e,o=new Date){let l;if(r){const c=nt(a.starts_on,a.ends_on)+1;l={value:`${Math.min(Math.max(nt(a.starts_on,pe(o))+1,1),c)}/${c}`,caption:"dzień zjazdu"}}else{const c=Math.max(Re(Ze(a.starts_on),o),0);l={value:String(c),caption:Ue(c,"dzień do zjazdu","dni do zjazdu","dni do zjazdu")}}const i=a.sessions_count,u=o.getTime(),f=e.filter(c=>Date.parse(c.due_at)>=u&&pe(c.due_at)<=a.ends_on).length;return[l,{value:String(i),caption:Ue(i,"zajęcia","zajęcia","zajęć")},{value:String(f),caption:Ue(f,"termin do końca zjazdu","terminy do końca zjazdu","terminów do końca zjazdu")}]}function Qt(a,r){return r.filter(e=>{if(e.meeting_id!==null)return e.meeting_id===a.id;const o=pe(e.starts_at);return o>=a.starts_on&&o<=a.ends_on})}function Gt(a,r,e,o=new Date){const l=Qt(a,e).sort((f,c)=>Date.parse(f.starts_at)-Date.parse(c.starts_at));let i=a.starts_on;if(r){const f=pe(o);i=l.map($=>pe($.starts_at)).find($=>$>=f)??f}const u=l.filter(f=>pe(f.starts_at)===i);return{day:i,rows:u.slice(0,at).map(f=>({id:f.id,time:Me(f.starts_at),title:`${f.course.name} · ${lt[f.course.form]}`})),more:Math.max(u.length-at,0)}}const Xt={class:"hero-main"},Yt={class:"eyebrow hero-eyebrow"},Jt={id:"hero-h",class:"hero-title"},ea={class:"hero-dates"},ta={key:0,class:"hero-extra muted"},aa={class:"hero-stats"},na={class:"hero-num"},sa={class:"hero-cap"},oa={key:0,class:"hero-timeline"},la={class:"eyebrow"},ia={class:"hero-rows"},ra={class:"hero-time"},ua={class:"hero-row-title"},ca={key:0,class:"hero-more"},da={key:1,class:"card hero hero-empty","aria-labelledby":"hero-h"},ma={class:"hero-main"},va=oe({__name:"ZjazdHero",props:{meeting:{},isCurrent:{type:Boolean},schedule:{},deadlines:{},now:{}},setup(a){const r=a,e=m(()=>gt(r.meeting?.notes)),o=m(()=>$t(r.meeting?.notes)),l=m(()=>r.meeting?Vt(r.meeting,r.isCurrent,r.deadlines,r.now):[]),i=m(()=>r.meeting?Gt(r.meeting,r.isCurrent,r.schedule,r.now):null),u=m(()=>({name:"schedule",query:{zjazd:r.meeting?.number}}));return(f,c)=>{const $=it("router-link");return a.meeting?(n(),s("section",{key:0,class:ue(["card hero",{hl:a.isCurrent}]),"aria-labelledby":"hero-h"},[t("div",Xt,[t("span",Yt,d(a.isCurrent?"Trwa zjazd":"Najbliższy zjazd"),1),t("h2",Jt,"Zjazd "+d(a.meeting.number),1),t("p",ea,[X(d(p(kt)(a.meeting.starts_on,a.meeting.ends_on))+" ",1),e.value?(n(),s("span",{key:0,class:ue(["badge",e.value==="online"?"online":"onsite"])},d(e.value),3)):I("",!0)]),o.value?(n(),s("p",ta,d(o.value),1)):I("",!0),t("ul",aa,[(n(!0),s(K,null,J(l.value,b=>(n(),s("li",{key:b.caption},[t("span",na,d(b.value),1),t("span",sa,d(b.caption),1)]))),128))]),L($,{class:"btn hero-btn",to:u.value},{default:ve(()=>[...c[0]||(c[0]=[X("Zobacz plan zjazdu",-1)])]),_:1},8,["to"])]),i.value&&i.value.rows.length?(n(),s("div",oa,[t("span",la,d(p(Be)(`${i.value.day}T12:00:00Z`)),1),t("ol",ia,[(n(!0),s(K,null,J(i.value.rows,b=>(n(),s("li",{key:b.id},[t("span",ra,d(b.time),1),t("span",ua,d(b.title),1)]))),128)),i.value.more?(n(),s("li",ca,[L($,{to:u.value},{default:ve(()=>[X("+ "+d(i.value.more)+" więcej",1)]),_:1},8,["to"])])):I("",!0)])])):I("",!0)],2)):(n(),s("section",da,[t("div",ma,[c[2]||(c[2]=t("h2",{id:"hero-h",class:"hero-empty-h"},"Brak zaplanowanych zjazdów",-1)),c[3]||(c[3]=t("p",{class:"muted"},"Plan kolejnych zjazdów pojawi się tutaj, gdy zostanie opublikowany.",-1)),L($,{class:"btn hero-btn",to:"/plan"},{default:ve(()=>[...c[1]||(c[1]=[X("Cały plan",-1)])]),_:1})])]))}}});function dt(a){const r=a.indexOf("@");return r>0?a.slice(0,r):a}function ge(a,r=""){const e=a?.name?.trim()??"",o=a?.surname?.trim()??"";if(e&&a?.is_bot)return e;if(e&&o)return`${e} ${o[0]}.`;if(e)return e;if(a?.handle)return`@${a.handle}`;const l=r.trim();return l?dt(l):"Nieznana osoba"}function Ne(a,r=""){return[a?.name?.trim(),a?.surname?.trim()].filter(Boolean).join(" ")||ge(a,r)}function mt(a,r=""){const e=a?.name?.trim()??"",o=a?.surname?.trim()??"";let l="";return e||o?l=e.slice(0,1)+o.slice(0,1):a?.handle?l=a.handle.slice(0,2):l=dt(r.trim()).slice(0,2),(l||"?").toLocaleUpperCase("pl-PL")}function pa(a){return Math.abs(Math.trunc(a))%8+1}function fa(a,r=new Date){const e=Re(a,r);if(e===0)return"DZIŚ";if(e===-1)return"WCZORAJ";const o=pe(a).slice(0,4);return(o===pe(r).slice(0,4)?Be(a):`${Be(a)} ${o}`).toLocaleUpperCase("pl-PL")}const ba=300*1e3;function ya(a,r=new Date){const e=[];let o=null,l="";for(const i of a){const u=pe(i.created_at),f=u!==l;f&&e.push({kind:"day",key:`day-${u}`,label:fa(i.created_at,r)});const c=!f&&o!==null&&o.sender_id===i.sender_id&&Date.parse(i.created_at)-Date.parse(o.created_at)<=ba;e.push({kind:"message",key:`m-${i.id}`,message:i,followUp:c}),o=i,l=u}return e}function Pe(a){return a.toLocaleLowerCase("pl-PL").replace(/ł/g,"l").normalize("NFD").replace(/\p{Diacritic}/gu,"")}function Ve(a,r,e){const o=Pe(r.trim()),l=[];for(const i of a){if(i.id===e)continue;const u=Pe(i.name??""),f=Pe(i.surname??"");(!o||u.startsWith(o)||f.startsWith(o)||`${u} ${f}`.startsWith(o))&&l.push(i)}return l.sort((i,u)=>Ne(i).localeCompare(Ne(u),"pl"))}const ha=10;function _a(a,r){const e=a.slice(0,ha).map(l=>ge(r.get(l))),o=a.length-e.length;return o>0?`${e.join(", ")} i ${o} innych`:e.join(", ")}const st=' target="_blank" rel="noopener noreferrer nofollow"',vt=/(?"'`]+/gi;function ft(a,r){if(r(a))return{handle:a,rest:""};const e=a.replace(/[.-]+$/,"");return e.length>=2&&e!==a&&r(e)?{handle:e,rest:a.slice(e.length)}:null}function $a(a){let r=a;for(;;){const e=r.at(-1);if(!e)break;if(`.,;:!?'"]}`.includes(e)){r=r.slice(0,-1);continue}if(e===")"&&(r.match(/\(/g)?.length??0)<(r.match(/\)/g)?.length??0)){r=r.slice(0,-1);continue}break}return{url:r,rest:a.slice(r.length)}}function wa(a,r=new Map){if(!a)return"";const e=[],o=i=>`\0${e.push(i)-1}\0`;let l=a.replace(/\r\n?/g,` +`).replace(/\u0000/g,"");return l=l.replace(pt,(i,u)=>o(`${$e(u)}`)),l=l.replace(ka,(i,u,f)=>{const c=et(f),$=tt($e(u));if(!c)return o($);const b=/^https?:/i.test(c)?st:"";return o(`${$}`)}),l=l.replace(ga,i=>{const{url:u,rest:f}=$a(i),c=et(u);return c?o(`${$e(u)}`)+f:i}),l=l.replace(vt,(i,u)=>{const f=ft(u,b=>r.has(b));if(!f)return i;const c=r.get(f.handle),$=`@${ge(c)}`;return o(`${$e($)}`)+f.rest}),l=tt($e(l)).replace(/\n/g,"
"),l.replace(/\u0000(\d+)\u0000/g,(i,u)=>e[Number(u)]??"")}function za(a,r){if(!a||!r)return!1;const e=a.replace(pt," ");for(const o of e.matchAll(vt))if(ft(o[1],l=>l===r))return!0;return!1}function xa(a,r){const e=a.slice(0,Math.max(0,r)),o=/(^|\s)@([^\s@]*)$/u.exec(e);return o?{start:e.length-o[2].length-1,query:o[2]}:null}function Ia(a,r,e){const o=a.slice(0,r.start),l=a.slice(r.end),i=`@${e}`;return l.startsWith(" ")?{text:o+i+l,caret:o.length+i.length+1}:{text:`${o}${i} ${l}`,caret:o.length+i.length+1}}function Ye(a){const r=w(!1);if(typeof window>"u"||typeof window.matchMedia!="function")return r;const e=window.matchMedia(a);r.value=e.matches;const o=l=>{r.value=l.matches};return e.addEventListener("change",o),wt()&&zt(()=>e.removeEventListener("change",o)),r}function Ca(a){return Ye(`(min-width: ${a}px)`)}const ja={class:"embed-main"},Ea={class:"embed-type"},Ta={class:"embed-title"},Da={key:0,class:"embed-meta"},Sa={key:1,class:"embed-card static"},Ma={class:"embed-main"},Ba={class:"embed-type"},La={class:"embed-title"},Na={key:0,class:"embed-meta"},Ra={key:2,class:"embed-card unavailable"},Aa={class:"embed-main"},qa={class:"embed-type"},Wa={key:3,class:"embed-card loading","aria-busy":"true"},Oa={class:"embed-main"},Ua={class:"embed-type"},bt=oe({__name:"EmbedCard",props:{embedRef:{},item:{},static:{type:Boolean}},setup(a){const r=a,e=m(()=>rt[r.embedRef.type]),o=m(()=>r.item===void 0),l=m(()=>r.item??null),i=m(()=>l.value?ut(l.value):""),u=m(()=>l.value?It(l.value):""),f=m(()=>l.value?Ct(l.value):null),c=m(()=>l.value?jt(l.value):"");return($,b)=>l.value&&!a.static?(n(),fe(p(xt),{key:0,class:"embed-card",to:c.value},{default:ve(()=>[t("span",ja,[t("span",Ea,d(e.value),1),t("span",Ta,d(i.value),1),u.value?(n(),s("span",Da,d(u.value),1)):I("",!0)]),f.value?(n(),s("span",{key:0,class:ue(["badge",{warn:f.value.warn}])},d(f.value.text),3)):I("",!0)]),_:1},8,["to"])):l.value?(n(),s("span",Sa,[t("span",Ma,[t("span",Ba,d(e.value),1),t("span",La,d(i.value),1),u.value?(n(),s("span",Na,d(u.value),1)):I("",!0)]),f.value?(n(),s("span",{key:0,class:ue(["badge",{warn:f.value.warn}])},d(f.value.text),3)):I("",!0)])):o.value?(n(),s("span",Wa,[t("span",Oa,[t("span",Ua,d(e.value),1),b[2]||(b[2]=t("span",{class:"embed-title"},[t("span",{class:"skeleton embed-skeleton","aria-label":"Wczytywanie"})],-1)),b[3]||(b[3]=t("span",{class:"embed-meta"}," ",-1))])])):(n(),s("div",Ra,[t("span",Aa,[t("span",qa,d(e.value),1),b[0]||(b[0]=t("span",{class:"embed-title"},"Element niedostępny",-1)),b[1]||(b[1]=t("span",{class:"embed-meta"},"Ten element usunięto albo nie masz do niego dostępu.",-1))])]))}}),Pa=["aria-labelledby"],Ha={class:"chat-dialog-head"},Ka=["id"],Fa={class:"embed-tabs",role:"tablist","aria-label":"Rodzaj elementu"},Za=["id","aria-selected","aria-controls","tabindex","onClick","onKeydown"],Va=["id","aria-labelledby"],Qa={class:"field"},Ga=["for"],Xa=["id","placeholder"],Ya={class:"picker-results"},Ja={key:0,class:"embed-searching",role:"status"},en={key:1,class:"chat-skeletons picker-skeletons","aria-busy":"true","aria-label":"Szukam…"},tn={key:2,class:"notice error",role:"alert"},an={key:3,class:"empty"},nn={key:4,class:"empty"},sn={key:5,class:"picker-rows"},on=["aria-disabled","onClick"],ln={key:0,class:"embed-staged"},rn=250,un=oe({__name:"EmbedPicker",props:{staged:{}},emits:["pick"],setup(a,{expose:r,emit:e}){const o=a,l=e,i=[{type:"deadline",label:"Terminy",placeholder:"Szukaj terminu…"},{type:"class",label:"Zajęcia",placeholder:"Szukaj zajęć…"},{type:"reading",label:"Lektury",placeholder:"Szukaj lektury…"}],u=je(),f=w(null),c=w(null),$=w([]),b=w("deadline"),v=w(""),_=w(null),C=w("idle"),W=w("");let P=0,D=null,M=null,E=!1;const A=m(()=>i.find(S=>S.type===b.value)??i[0]),R=m(()=>new Set(o.staged));async function N(){D&&clearTimeout(D),D=null;const S=++P,q=b.value,B=v.value.trim();C.value="loading";try{const ee=await ct.embeds(q,B);if(S!==P)return;_.value=Array.isArray(ee)?ee.filter(Y=>Y&&Y.type===q):[],W.value=B,C.value="ready"}catch{if(S!==P)return;C.value="error"}}function ae(){D&&clearTimeout(D),D=setTimeout(()=>{N()},rn)}re(v,ae);function F(S,q=!1){b.value!==S&&(b.value=S,_.value=null,N()),q&&V(()=>$.value[i.findIndex(B=>B.type===S)]?.focus())}function ne(S,q){let B=-1;S.key==="ArrowRight"?B=(q+1)%i.length:S.key==="ArrowLeft"?B=(q-1+i.length)%i.length:S.key==="Home"?B=0:S.key==="End"&&(B=i.length-1),!(B<0)&&(S.preventDefault(),F(i[B].type,!0))}function G(){M=document.activeElement instanceof HTMLElement?document.activeElement:null,E=!1,v.value="",_.value=null,f.value?.showModal(),N(),V(()=>c.value?.focus())}function le(){f.value?.close()}function O(){D&&clearTimeout(D),D=null,P++,E||M?.focus(),M=null}function h(S){S.target===f.value&&le()}function j(S){return R.value.has(xe(S))}function k(S){j(S)||(E=!0,le(),l("pick",S))}return Ce(()=>{D&&clearTimeout(D)}),r({open:G}),(S,q)=>(n(),s("dialog",{ref_key:"dialog",ref:f,class:"chat-dialog embed-picker","aria-labelledby":`embed-h-${p(u)}`,onClose:O,onClick:h},[t("div",Ha,[t("h2",{id:`embed-h-${p(u)}`,class:"chat-dialog-title"},"Podepnij do wiadomości",8,Ka),t("button",{class:"icon-btn",type:"button","aria-label":"Zamknij",onClick:le},[L(te,{name:"close"})])]),t("div",Fa,[(n(),s(K,null,J(i,(B,ee)=>t("button",{id:`embed-tab-${p(u)}-${B.type}`,key:B.type,ref_for:!0,ref_key:"tabEls",ref:$,class:"embed-tab",type:"button",role:"tab","aria-selected":b.value===B.type?"true":"false","aria-controls":`embed-panel-${p(u)}`,tabindex:b.value===B.type?0:-1,onClick:Y=>F(B.type),onKeydown:Y=>ne(Y,ee)},d(B.label),41,Za)),64))]),t("div",{id:`embed-panel-${p(u)}`,class:"embed-panel",role:"tabpanel","aria-labelledby":`embed-tab-${p(u)}-${b.value}`},[t("div",Qa,[t("label",{for:`embed-q-${p(u)}`},"Szukaj",8,Ga),Ae(t("input",{id:`embed-q-${p(u)}`,ref_key:"search",ref:c,"onUpdate:modelValue":q[0]||(q[0]=B=>v.value=B),type:"text",autocomplete:"off",placeholder:A.value.placeholder,onKeydown:q[1]||(q[1]=Et(We(()=>{},["prevent"]),["enter"]))},null,40,Xa),[[qe,v.value]])]),t("div",Ya,[C.value==="loading"&&_.value?(n(),s("p",Ja,"Szukam…")):I("",!0),C.value==="loading"&&!_.value?(n(),s("div",en,[...q[2]||(q[2]=[t("div",{class:"skeleton"},null,-1),t("div",{class:"skeleton"},null,-1),t("div",{class:"skeleton"},null,-1)])])):C.value==="error"?(n(),s("div",tn,[q[3]||(q[3]=X(" Nie udało się wczytać wyników. ",-1)),t("button",{class:"linkish",type:"button",onClick:N},"Spróbuj ponownie")])):_.value&&!_.value.length&&W.value?(n(),s("p",an,"Nic nie znaleziono dla „"+d(W.value)+"”.",1)):_.value&&!_.value.length?(n(),s("p",nn,"Nic tu jeszcze nie ma.")):_.value?(n(),s("ul",sn,[(n(!0),s(K,null,J(_.value,B=>(n(),s("li",{key:`${B.type}:${B.id}`},[t("button",{class:"picker-row embed-pick",type:"button","aria-disabled":j(B)?"true":void 0,onClick:ee=>k(B)},[L(bt,{"embed-ref":B,item:B,static:""},null,8,["embed-ref","item"]),j(B)?(n(),s("span",ln,"podpięte")):I("",!0)],8,on)]))),128))])):I("",!0)])],8,Va)],40,Pa))}}),Le=oe({__name:"Avatar",props:{userId:{},member:{default:null},fallback:{default:""},size:{default:32},me:{type:Boolean,default:!1}},setup(a){const r=a,e=m(()=>mt(r.member,r.fallback)),o=m(()=>r.me?void 0:{background:`var(--av-${pa(r.userId)})`});return(l,i)=>(n(),s("span",{class:ue(["avatar",[`s${a.size}`,{me:a.me}]]),style:Qe(o.value),"aria-hidden":"true"},d(e.value),7))}}),cn=["id"],dn={key:0,class:"mention-empty",role:"option","aria-disabled":"true","aria-selected":"false"},mn=["id","aria-selected","onMousedown","onMousemove"],vn={class:"mention-name"},pn={class:"mention-handle"},fn=oe({__name:"MentionPopup",props:{id:{},options:{},active:{},query:{}},emits:["pick","hover"],setup(a,{emit:r}){const e=r;function o(l,i){return`${l}-opt-${i}`}return(l,i)=>(n(),s("ul",{id:a.id,class:"mention-pop",role:"listbox","aria-label":"Wspomnij osobę"},[a.options.length?I("",!0):(n(),s("li",dn,"Brak osób pasujących do „"+d(a.query)+"”.",1)),(n(!0),s(K,null,J(a.options,(u,f)=>(n(),s("li",{id:o(a.id,f),key:u.id,class:ue(["mention-option",{active:f===a.active}]),role:"option","aria-selected":f===a.active?"true":"false",onMousedown:We(c=>e("pick",u),["prevent"]),onMousemove:c=>f!==a.active&&e("hover",f)},[L(Le,{"user-id":u.id,member:u,size:24},null,8,["user-id","member"]),t("span",vn,d(p(Ne)(u)),1),t("span",pn,"@"+d(u.handle),1)],42,mn))),128))],8,cn))}}),bn={key:0,class:"staging","aria-label":"Załączniki i podpięcia"},yn=["title"],hn={key:0,class:"staging-size"},_n=["onClick"],kn={key:2,class:"staging-size"},gn=["aria-label","disabled","onClick"],$n={class:"staging-type"},wn=["title"],zn=["aria-label","disabled","onClick"],ot=oe({__name:"StagingChips",props:{conversationId:{}},emits:["removed"],setup(a,{emit:r}){const e=a,o=r,l=be(),i=m(()=>l.draft(e.conversationId));function u($){const b=l.embedItem($);return b===void 0?"Wczytywanie…":b===null?"Element niedostępny":ut(b)}function f($){l.unstageEmbed(e.conversationId,$),o("removed")}function c($){l.removeFile(e.conversationId,$.localId),o("removed")}return($,b)=>i.value.files.length||i.value.embeds.length?(n(),s("ul",bn,[(n(!0),s(K,null,J(i.value.files,v=>(n(),s("li",{key:`file-${v.localId}`,class:ue(["staging-chip file",v.state])},[t("span",{class:"staging-name file-name",title:v.name},d(v.name),9,yn),v.state==="uploading"?(n(),s("span",hn,"Wysyłanie… "+d(v.progress)+"%",1)):v.state==="failed"?(n(),s(K,{key:1},[b[0]||(b[0]=t("span",{class:"staging-failed"},"Nie wysłano",-1)),t("button",{class:"linkish",type:"button",onClick:_=>p(l).retryUpload(a.conversationId,v.localId)},"Spróbuj ponownie",8,_n)],64)):(n(),s("span",kn,d(p(Ke)(v.size)),1)),t("button",{class:"staging-remove",type:"button","aria-label":`Usuń załącznik ${v.name}`,disabled:i.value.sending,onClick:_=>c(v)},[L(te,{name:"close"})],8,gn),v.state==="uploading"?(n(),s("span",{key:3,class:"staging-progress",style:Qe({width:`${v.progress}%`}),"aria-hidden":"true"},null,4)):I("",!0)],2))),128)),(n(!0),s(K,null,J(i.value.embeds,v=>(n(),s("li",{key:p(xe)(v),class:"staging-chip embed"},[t("span",$n,d(p(rt)[v.type]),1),t("span",{class:"staging-name embed-name",title:u(v)},d(u(v)),9,wn),t("button",{class:"staging-remove",type:"button","aria-label":`Usuń podpięcie ${u(v)}`,disabled:i.value.sending,onClick:_=>f(v)},[L(te,{name:"close"})],8,zn)]))),128))])):I("",!0)}}),xn={key:0,class:"error-text",role:"alert"},In={class:"composer-row"},Cn={key:0,class:"composer-add"},jn=["aria-expanded","disabled"],En=["disabled","title","onClick"],Tn={class:"composer-field"},Dn=["rows","placeholder","readonly","aria-expanded","aria-activedescendant"],Sn={key:2,class:"composer-tools"},Mn=["disabled"],Bn=["title","disabled"],Ln=["disabled"],Nn=["aria-busy","disabled"],Rn=["aria-busy","disabled"],He="Możesz podpiąć najwyżej 3 elementy do jednej wiadomości.",An=24,qn=6,Wn=oe({__name:"ChatComposer",props:{conversationId:{},label:{},placeholder:{}},emits:["sent"],setup(a,{expose:r,emit:e}){const o=a,l=e,i=be(),u=je(),f=`composer-${u}`,c=`composer-hint-${u}`,$=`mentions-${u}`,b=w(null),v=Ye("(min-width: 1100px) and (pointer: fine)"),_=m(()=>i.draft(o.conversationId)),C=w(""),W=m(()=>_.value.error||C.value),P=m({get:()=>_.value.text,set:y=>{C.value="",i.setDraftText(o.conversationId,y),y.trim()&&i.emitTyping(o.conversationId,y)}}),D=m(()=>i.canSend(o.conversationId)),M=w(null);function E(){_.value.sending||M.value?.click()}function A(){const y=M.value;y?.files?.length&&(C.value="",i.uploadFiles(o.conversationId,[...y.files]),y.value="",V(Te))}const R=`composer-menu-${u}`,N=w(!1),ae=w(null),F=w([]);function ne(){N.value=!0,V(()=>F.value[0]?.focus())}function G(y=!0){N.value&&(N.value=!1,y&&V(()=>ae.value?.focus()))}function le(y){const x=F.value.filter(se=>!se.disabled),U=x.indexOf(document.activeElement);if(y.key==="Escape")y.preventDefault(),y.stopPropagation(),G();else if(y.key==="ArrowDown"||y.key==="ArrowUp"){if(y.preventDefault(),!x.length)return;const se=y.key==="ArrowDown"?(U+1)%x.length:(U-1+x.length)%x.length;x[se]?.focus()}else y.key==="Home"||y.key==="End"?(y.preventDefault(),x[y.key==="Home"?0:x.length-1]?.focus()):y.key==="Tab"&&G(!1)}function O(){G(!1),E()}function h(){G(!1),ae.value?.focus(),Y()}const j=m(()=>[{label:"Dołącz plik",icon:"paperclip",disabled:!1,title:void 0,run:O},{label:"Podepnij termin, zajęcia lub lekturę",icon:"calendar",disabled:B.value,title:B.value?He:void 0,run:h}]);function k(y){const x=y.target;x instanceof Node&&(ae.value?.contains(x)||F.value.some(U=>U.contains(x)))||G(!1)}re(N,y=>{y?document.addEventListener("pointerdown",k,!0):document.removeEventListener("pointerdown",k,!0)}),re(v,()=>G(!1)),Ce(()=>document.removeEventListener("pointerdown",k,!0));const S=w(null),q=m(()=>_.value.embeds.map(xe)),B=m(()=>_.value.embeds.length>=i.maxEmbeds),ee=m(()=>B.value?He:"Podepnij termin, zajęcia lub lekturę");function Y(){B.value||_.value.sending||S.value?.open()}function Ee(y){C.value="",i.stageEmbed(o.conversationId,{type:y.type,id:y.id},y),V(Te)}function ce(y){if(_.value.sending)return;const x=y.clipboardData?.getData("text/plain")??"";if(!x)return;const U=Tt(x,window.location.origin);if(!U.refs.length)return;const se=new Set(q.value);let De=0,ze=0;for(const Oe of U.refs)se.has(xe(Oe))||(i.stageEmbed(o.conversationId,Oe)?(se.add(xe(Oe)),De++):ze++);U.insertText===""&&(De>0||ze===0)&&y.preventDefault(),ze>0&&setTimeout(()=>C.value=He)}function we(){const y=b.value;if(!y)return;y.style.height="auto";const x=getComputedStyle(y),U=parseFloat(x.paddingTop)+parseFloat(x.paddingBottom),se=An*(v.value?8:4)+U;y.style.height=`${Math.min(y.scrollHeight,se)}px`,y.style.overflowY=y.scrollHeight>se?"auto":"hidden"}re([P,v],()=>{V(we)}),Ge(we);const Z=w(null),ie=w(0);let de=null;const ye=m(()=>Z.value?Ve(i.members.values(),Z.value.query,i.userId).slice(0,qn):[]),g=m(()=>Z.value!==null&&i.membersState==="ready"),z=m(()=>g.value&&ye.value.length?`${$}-opt-${ie.value}`:void 0);function H(){const y=b.value;if(!y)return;const x=y.selectionStart===y.selectionEnd?xa(y.value,y.selectionStart??0):null;if(!x){de=null,Z.value=null;return}x.start!==de&&((!Z.value||Z.value.start!==x.start||Z.value.query!==x.query)&&(ie.value=0),Z.value=x)}function he(){Z.value&&(de=Z.value.start),Z.value=null}function T(y){const x=b.value,U=Z.value;if(!x||!U||!y.handle)return;const se=Ia(x.value,{start:U.start,end:x.selectionStart??U.start+U.query.length+1},y.handle);P.value=se.text,Z.value=null,de=null,V(()=>{x.focus(),x.setSelectionRange(se.caret,se.caret)})}function me(){const y=b.value;if(!y)return;const x=y.selectionStart??y.value.length,U=y.selectionEnd??x,se=y.value.slice(0,x),De=se===""||/\s$/.test(se)?"@":" @";P.value=se+De+y.value.slice(U),i.loadMembers(),V(()=>{const ze=x+De.length;y.focus(),y.setSelectionRange(ze,ze),de=null,H()})}function Q(y){if(!g.value)return!1;const x=ye.value.length;switch(y.key){case"ArrowDown":return x&&(ie.value=(ie.value+1)%x),!0;case"ArrowUp":return x&&(ie.value=(ie.value-1+x)%x),!0;case"Enter":return y.shiftKey&&!x?!1:(x?T(ye.value[ie.value]):he(),!0);case"Tab":return x?(T(ye.value[ie.value]),!0):(he(),!1);case"Escape":return y.stopPropagation(),he(),!0;default:return!1}}re(()=>o.conversationId,()=>{Z.value=null,de=null});async function _e(){D.value&&await i.send(o.conversationId)&&l("sent")}function ht(y){if(!y.isComposing){if(Q(y)){y.preventDefault();return}y.key!=="Enter"||y.shiftKey||(y.preventDefault(),_e())}}function _t(y){(["ArrowLeft","ArrowRight","Home","End"].includes(y.key)||!g.value&&["ArrowUp","ArrowDown"].includes(y.key))&&H()}function Te(){b.value?.focus()}return r({focus:Te}),(y,x)=>(n(),s("form",{class:ue(["composer",{compact:!p(v)}]),onSubmit:We(_e,["prevent"])},[t("label",{class:ue(p(v)?"composer-label":"sr-only"),for:f},d(a.label),3),W.value?(n(),s("p",xn,d(W.value),1)):I("",!0),p(v)?I("",!0):(n(),fe(ot,{key:1,"conversation-id":a.conversationId,onRemoved:Te},null,8,["conversation-id"])),t("div",In,[p(v)?I("",!0):(n(),s("div",Cn,[t("button",{ref_key:"menuButton",ref:ae,class:"composer-plus",type:"button","aria-label":"Dodaj do wiadomości","aria-haspopup":"menu","aria-expanded":N.value?"true":"false","aria-controls":R,disabled:_.value.sending,onClick:x[0]||(x[0]=U=>N.value?G():ne())},[L(te,{name:"plus"})],8,jn),N.value?(n(),s("div",{key:0,id:R,class:"composer-menu",role:"menu","aria-label":"Dodaj do wiadomości",onKeydown:le},[(n(!0),s(K,null,J(j.value,U=>(n(),s("button",{key:U.label,ref_for:!0,ref_key:"menuItems",ref:F,class:"composer-menu-item",type:"button",role:"menuitem",tabindex:"-1",disabled:U.disabled,title:U.title,onClick:U.run},[L(te,{name:U.icon},null,8,["name"]),X(d(U.label),1)],8,En))),128))],32)):I("",!0)])),t("div",Tn,[p(v)?(n(),fe(ot,{key:0,"conversation-id":a.conversationId,onRemoved:Te},null,8,["conversation-id"])):I("",!0),g.value&&Z.value?(n(),fe(fn,{key:1,id:$,options:ye.value,active:ie.value,query:Z.value.query,onPick:T,onHover:x[1]||(x[1]=U=>ie.value=U)},null,8,["options","active","query"])):I("",!0),Ae(t("textarea",{id:f,ref_key:"input",ref:b,"onUpdate:modelValue":x[2]||(x[2]=U=>P.value=U),rows:p(v)?3:1,placeholder:p(v)?"Napisz wiadomość…":a.placeholder,enterkeyhint:"send",readonly:_.value.sending,"aria-describedby":c,role:"combobox","aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":$,"aria-expanded":g.value?"true":"false","aria-activedescendant":z.value,onKeydown:ht,onKeyup:_t,onInput:H,onClick:H,onPaste:ce,onBlur:x[3]||(x[3]=U=>Z.value=null)},null,40,Dn),[[qe,P.value]]),p(v)?(n(),s("div",Sn,[t("button",{class:"composer-tool",type:"button","aria-label":"Dołącz plik",title:"Dołącz plik",disabled:_.value.sending,onClick:E},[L(te,{name:"paperclip"})],8,Mn),t("button",{class:"composer-tool",type:"button","aria-label":"Podepnij termin, zajęcia lub lekturę",title:ee.value,disabled:_.value.sending||B.value,onClick:Y},[L(te,{name:"calendar"})],8,Bn),t("button",{class:"composer-tool",type:"button","aria-label":"Wspomnij osobę",title:"Wspomnij osobę",disabled:_.value.sending,onClick:me},[L(te,{name:"at"})],8,Ln),x[5]||(x[5]=t("span",{class:"composer-tools-gap"},null,-1)),t("button",{class:"btn primary small composer-send",type:"submit","aria-label":"Wyślij wiadomość","aria-busy":_.value.sending?"true":void 0,disabled:!D.value},[x[4]||(x[4]=X(" Wyślij",-1)),L(te,{name:"arrow-right"})],8,Nn)])):I("",!0)]),p(v)?I("",!0):(n(),s("button",{key:1,class:"composer-send round",type:"submit","aria-label":"Wyślij wiadomość","aria-busy":_.value.sending?"true":void 0,disabled:!D.value},[L(te,{name:"arrow-up"})],8,Rn))]),t("span",{id:c,class:"sr-only"},"Enter wysyła, Shift+Enter dodaje nową linię."),t("input",{ref_key:"fileInput",ref:M,class:"sr-only",type:"file",multiple:"",tabindex:"-1","aria-hidden":"true",onChange:A},null,544),L(un,{ref_key:"picker",ref:S,staged:q.value,onPick:Ee},null,8,["staged"])],34))}});function yt(a,r,e){if(e<=0)return null;switch(a){case"ArrowRight":return(r+1)%e;case"ArrowLeft":return(r-1+e)%e;case"Home":return 0;case"End":return e-1;default:return null}}const On={class:"chat-head"},Un={class:"chat-head-row"},Pn={class:"chat-head-name"},Hn={class:"eyebrow"},Kn={class:"chat-title"},Fn={class:"chat-presence","aria-hidden":"true"},Zn={key:0,class:"presence-stack"},Vn={key:1,class:"presence-text"},Qn={class:"presence-text"},Gn={class:"chat-tabs",role:"tablist","aria-label":"Rozmowy"},Xn=["id","aria-selected","aria-controls","tabindex","onClick","onKeydown"],Yn={key:0,class:"mention-badge"},Jn={class:"sr-only"},es={key:1,class:"unread-badge"},ts={"aria-hidden":"true"},as={class:"sr-only"},ns={key:0,class:"chat-strip"},ss=oe({__name:"ChatHeader",props:{view:{},dmName:{},dmUserId:{},idBase:{}},emits:["select","back"],setup(a,{emit:r}){const e=a,o=r,l=[{key:"general",label:"# ogólny"},{key:"dms",label:"Wiadomości"}],i=D=>`${e.idBase}-tab-${D}`,u=be(),f=m(()=>{switch(u.connection){case"connecting":return"Łączenie z czatem…";case"reconnecting":return"Ponowne łączenie…";case"unavailable":return"Czat bez aktualizacji na żywo — odświeżam co 15 s.";default:return""}}),c=m(()=>({general:{unread:u.generalId===null?0:u.unreadOf(u.generalId),mentions:u.totalMentions},dms:{unread:u.dmUnread,mentions:0}})),$=m(()=>u.othersOnline.slice(0,3)),b=m(()=>Math.max(0,u.othersOnline.length-3)),v=m(()=>e.view==="dm"&&e.dmUserId!=null&&u.isOnline(e.dmUserId)),_=m(()=>e.view==="general"?"general":"dms"),C=m(()=>e.view==="general"?"Czat roku":e.view==="dms"?"Wiadomości":"Wiadomość prywatna"),W=m(()=>e.view==="general"?"# ogólny":e.view==="dms"?"Wiadomości":e.dmName??"");function P(D,M){const E=yt(D.key,M,l.length);E!==null&&(D.preventDefault(),o("select",l[E].key),V(()=>document.getElementById(i(l[E].key))?.focus()))}return(D,M)=>(n(),s(K,null,[t("header",On,[t("div",Un,[a.view==="dm"?(n(),s("button",{key:0,class:"icon-btn chat-back",type:"button","aria-label":"Wróć do listy wiadomości",onClick:M[0]||(M[0]=E=>o("back"))},[L(te,{name:"arrow-left"})])):I("",!0),t("div",Pn,[t("span",Hn,d(C.value),1),t("h2",Kn,d(W.value),1)]),t("div",Fn,[a.view==="general"&&p(u).presenceAvailable?(n(),s(K,{key:0},[$.value.length?(n(),s("span",Zn,[(n(!0),s(K,null,J($.value,E=>(n(),fe(Le,{key:E,"user-id":E,member:p(u).members.get(E),size:24},null,8,["user-id","member"]))),128))])):I("",!0),b.value?(n(),s("span",Vn,"+"+d(b.value),1)):I("",!0),M[1]||(M[1]=t("span",{class:"presence-dot"},null,-1)),t("span",Qn,d(p(u).onlineCount>1?`${p(u).onlineCount} online`:"tylko Ty"),1)],64)):v.value?(n(),s(K,{key:1},[M[2]||(M[2]=t("span",{class:"presence-dot"},null,-1)),M[3]||(M[3]=t("span",{class:"presence-text"},"online",-1))],64)):I("",!0)])]),t("div",Gn,[(n(),s(K,null,J(l,(E,A)=>t("button",{id:i(E.key),key:E.key,class:"chat-tab",type:"button",role:"tab","aria-selected":_.value===E.key,"aria-controls":`${a.idBase}-body`,tabindex:_.value===E.key?0:-1,onClick:R=>o("select",E.key),onKeydown:R=>P(R,A)},[X(d(E.label)+" ",1),c.value[E.key].mentions>0?(n(),s("span",Yn,[M[4]||(M[4]=t("span",{"aria-hidden":"true"},"@",-1)),t("span",Jn,", "+d(p(Dt)(c.value[E.key].mentions)),1)])):I("",!0),p(Ie)(c.value[E.key].unread)?(n(),s("span",es,[t("span",ts,d(p(Ie)(c.value[E.key].unread)),1),t("span",as,", "+d(p(Xe)(c.value[E.key].unread)),1)])):I("",!0)],40,Xn)),64))])]),f.value?(n(),s("p",ns,d(f.value),1)):I("",!0)],64))}}),os={class:"dm-list"},ls={class:"dm-new"},is={key:0,class:"chat-skeletons dm-skeletons","aria-busy":"true","aria-label":"Wczytywanie rozmów"},rs={key:1,class:"notice error dm-notice",role:"alert"},us={key:2,class:"empty chat-empty dm-empty"},cs={key:3,class:"dm-rows"},ds=["onClick"],ms={class:"dm-text"},vs={class:"dm-name"},ps={class:"dm-preview"},fs={class:"dm-meta"},bs=["datetime"],ys={key:1,class:"unread-badge"},hs={"aria-hidden":"true"},_s={class:"sr-only"},ks=oe({__name:"DmList",emits:["compose"],setup(a,{emit:r}){const e=r,o=be(),l=m(()=>o.dmRows),i=m(()=>!l.value.length&&(o.bootstrapState==="loading"||o.bootstrapState==="idle")),u=m(()=>!l.value.length&&o.bootstrapState==="error");function f(b){return ge(o.members.get(b.other_user_id))}function c(b){const v=b.last_message;return v?v.sender_id===o.userId?`Ty: ${v.content}`:v.content:""}function $(b){const v=b.last_message?.created_at;return v?pe(v)===pe(new Date)?Me(v):St(v):""}return(b,v)=>(n(),s("div",os,[t("div",ls,[t("button",{class:"btn small",type:"button",onClick:v[0]||(v[0]=_=>e("compose"))},[L(te,{name:"plus"}),v[2]||(v[2]=X("Nowa wiadomość",-1))])]),i.value?(n(),s("div",is,[...v[3]||(v[3]=[t("div",{class:"skeleton"},null,-1),t("div",{class:"skeleton"},null,-1),t("div",{class:"skeleton"},null,-1)])])):u.value?(n(),s("div",rs,[v[4]||(v[4]=X(" Nie udało się wczytać rozmów. ",-1)),t("button",{class:"linkish",type:"button",onClick:v[1]||(v[1]=_=>p(o).bootstrap())},"Spróbuj ponownie")])):l.value.length?(n(),s("ul",cs,[(n(!0),s(K,null,J(l.value,_=>(n(),s("li",{key:_.id},[t("button",{class:ue(["dm-row",{unread:_.unread>0}]),type:"button",onClick:C=>p(o).openDm(_.id)},[L(Le,{"user-id":_.other_user_id,member:p(o).members.get(_.other_user_id)},null,8,["user-id","member"]),t("span",ms,[t("span",vs,d(f(_)),1),t("span",ps,d(c(_)),1)]),t("span",fs,[_.last_message?(n(),s("time",{key:0,datetime:_.last_message.created_at},d($(_)),9,bs)):I("",!0),p(Ie)(_.unread)?(n(),s("span",ys,[t("span",hs,d(p(Ie)(_.unread)),1),t("span",_s,", "+d(p(Xe)(_.unread)),1)])):I("",!0)])],10,ds)]))),128))])):(n(),s("div",us,[...v[5]||(v[5]=[t("p",{class:"chat-empty-h"},"Nie masz jeszcze wiadomości prywatnych",-1),t("p",null,"Kliknij „Nowa wiadomość”, wybierz osobę i napisz do niej.",-1)])]))]))}}),gs=["aria-labelledby"],$s={class:"chat-dialog-head"},ws=["id"],zs={class:"field"},xs=["for"],Is=["id"],Cs={key:0,class:"error-text",role:"alert"},js={class:"picker-results"},Es={key:0,class:"chat-skeletons picker-skeletons","aria-busy":"true","aria-label":"Wczytywanie osób"},Ts={key:1,class:"notice error",role:"alert"},Ds={key:2,class:"empty"},Ss={key:3,class:"empty"},Ms={key:4,class:"picker-rows"},Bs=["disabled","onClick"],Ls={class:"picker-name"},Ns=oe({__name:"MemberPicker",emits:["started"],setup(a,{expose:r,emit:e}){const o=e,l=be(),i=je(),u=w(null),f=w(null),c=w(""),$=w(!1);let b=null,v=!1;const _=m(()=>Ve(l.members.values(),"",l.userId)),C=m(()=>Ve(l.members.values(),c.value,l.userId));function W(){b=document.activeElement instanceof HTMLElement?document.activeElement:null,v=!1,c.value="",l.dmError="",l.loadMembers(),u.value?.showModal(),V(()=>f.value?.focus())}function P(){u.value?.close()}function D(){v||b?.focus(),b=null}function M(A){A.target===u.value&&P()}async function E(A){if(!$.value){$.value=!0;try{const R=await l.startDm(A);if(R===null)return;v=!0,P(),o("started",R)}finally{$.value=!1}}}return r({open:W}),(A,R)=>(n(),s("dialog",{ref_key:"dialog",ref:u,class:"chat-dialog","aria-labelledby":`picker-h-${p(i)}`,onClose:D,onClick:M},[t("div",$s,[t("h2",{id:`picker-h-${p(i)}`,class:"chat-dialog-title"},"Nowa wiadomość",8,ws),t("button",{class:"icon-btn",type:"button","aria-label":"Zamknij",onClick:P},[L(te,{name:"close"})])]),t("div",zs,[t("label",{for:`picker-q-${p(i)}`},"Do kogo?",8,xs),Ae(t("input",{id:`picker-q-${p(i)}`,ref_key:"search",ref:f,"onUpdate:modelValue":R[0]||(R[0]=N=>c.value=N),type:"text",autocomplete:"off",placeholder:"Wpisz imię lub nazwisko…"},null,8,Is),[[qe,c.value]])]),p(l).dmError?(n(),s("p",Cs,d(p(l).dmError),1)):I("",!0),t("div",js,[p(l).membersState==="loading"&&!p(l).members.size?(n(),s("div",Es,[...R[2]||(R[2]=[t("div",{class:"skeleton"},null,-1),t("div",{class:"skeleton"},null,-1),t("div",{class:"skeleton"},null,-1)])])):p(l).membersState==="error"&&!p(l).members.size?(n(),s("div",Ts,[R[3]||(R[3]=X(" Nie udało się wczytać listy osób. ",-1)),t("button",{class:"linkish",type:"button",onClick:R[1]||(R[1]=N=>p(l).loadMembers(!0))},"Spróbuj ponownie")])):_.value.length?C.value.length?(n(),s("ul",Ms,[(n(!0),s(K,null,J(C.value,N=>(n(),s("li",{key:N.id},[t("button",{class:"picker-row",type:"button",disabled:$.value,onClick:ae=>E(N.id)},[L(Le,{"user-id":N.id,member:N,size:24},null,8,["user-id","member"]),t("span",Ls,d(p(Ne)(N)),1)],8,Bs)]))),128))])):(n(),s("p",Ss,"Nikt nie pasuje do „"+d(c.value.trim())+"”.",1)):(n(),s("p",Ds,"Na czacie nie ma jeszcze innych osób."))])],40,gs))}}),Rs=["aria-pressed","aria-label","title","onClick"],As={class:"reaction-emoji","aria-hidden":"true"},qs={class:"reaction-count","aria-hidden":"true"},Ws={class:"reaction-add-wrap"},Os=["aria-expanded","aria-controls","disabled"],Us=["aria-label","tabindex","onClick","onFocus"],ke=6,Ps=oe({__name:"ReactionBar",props:{message:{}},emits:["closed"],setup(a,{expose:r,emit:e}){const o=a,l=e,i=be(),f=`reactions-${je()}`,c=w(null),$=w(null),b=w(null),v=w(!1),_=w(!1),C=w(0);let W=null;const P=m(()=>(o.message.reactions??[]).filter(h=>h.count>0).map(h=>{const j=i.userId!==null&&h.user_ids.includes(i.userId);return{key:h.key,count:h.count,mine:j,label:`${h.key} ${h.count}. ${j?"Cofnij swoją reakcję":"Dodaj swoją reakcję"}`,title:_a(h.user_ids,i.members)}})),D=m(()=>i.allowedReactions??[]),M=m(()=>D.value.length>0);function E(h){i.toggleReaction(o.message,h)}function A(){const h=c.value,j=h?.closest(".chat-list");if(!h||!j){_.value=!1;return}const k=Math.ceil(D.value.length/ke),S=k*36+(k-1)*4+16+2+8;_.value=h.getBoundingClientRect().top-j.getBoundingClientRect().topR()[C.value]?.focus())}function ae(h){if(!M.value){i.loadReactions();return}W=h??$.value,C.value=0,A(),v.value=!0,document.addEventListener("pointerdown",ne,!0),N()}function F(h=!0){if(!v.value)return;v.value=!1,document.removeEventListener("pointerdown",ne,!0);const j=W;W=null,h&&j?.focus(),l("closed")}function ne(h){const j=h.target;if(j&&(b.value?.contains(j)||$.value?.contains(j)))return;const k=W;F(!1),setTimeout(()=>{const S=document.activeElement;(!S||S===document.body||b.value?.contains(S))&&k?.focus()})}function G(h){E(h),F()}function le(){v.value?F():ae($.value)}function O(h){const j=D.value.length;if(!j)return;let k=C.value;switch(h.key){case"Escape":h.preventDefault(),h.stopPropagation(),F();return;case"ArrowRight":k=(C.value+1)%j;break;case"ArrowLeft":k=(C.value-1+j)%j;break;case"ArrowDown":k=C.value+ke=0?C.value-ke:Math.min(j-1,C.value%ke+Math.floor((j-1)/ke)*ke);break;case"Home":k=0;break;case"End":k=j-1;break;case"Tab":F(!1);return;default:return}h.preventDefault(),C.value=k,N()}return Ce(()=>document.removeEventListener("pointerdown",ne,!0)),r({openPicker:ae}),(h,j)=>(n(),s("div",{ref_key:"root",ref:c,class:"reactions"},[(n(!0),s(K,null,J(P.value,k=>(n(),s("button",{key:k.key,class:"reaction-chip",type:"button","aria-pressed":k.mine?"true":"false","aria-label":k.label,title:k.title,onClick:S=>E(k.key)},[t("span",As,d(k.key),1),t("span",qs,d(k.count),1)],8,Rs))),128)),t("span",Ws,[t("button",{ref_key:"addBtn",ref:$,class:"reaction-add",type:"button","aria-label":"Dodaj reakcję","aria-haspopup":"true","aria-expanded":v.value?"true":"false","aria-controls":v.value?f:void 0,disabled:!M.value,onClick:le},[L(te,{name:"smile"})],8,Os),v.value?(n(),s("div",{key:0,id:f,ref_key:"pop",ref:b,class:ue(["reaction-pop",{below:_.value}]),role:"group","aria-label":"Dodaj reakcję",onKeydown:O},[(n(!0),s(K,null,J(D.value,(k,S)=>(n(),s("button",{key:k,class:"reaction-pick",type:"button","aria-label":k,tabindex:S===C.value?0:-1,onClick:q=>G(k),onFocus:q=>C.value=S},d(k),41,Us))),128))],34)):I("",!0)])],512))}}),Hs=["data-message-id"],Ks={class:"msg-gutter"},Fs=["datetime","title"],Zs={class:"msg-content"},Vs={key:0,class:"msg-head"},Qs={class:"msg-name"},Gs={key:0,class:"msg-tag"},Xs={key:1,class:"msg-tag me"},Ys=["datetime","title"],Js=["title"],eo={key:1,class:"sr-only"},to={key:2,class:"msg-deleted"},ao={class:"composer-field"},no=["readonly"],so={key:0,class:"error-text",role:"alert"},oo={class:"btn-row"},lo=["aria-busy"],io=["disabled"],ro=["innerHTML"],uo=["title"],co={key:5,class:"msg-files"},mo=["aria-label","aria-busy","onClick"],vo={class:"msg-file-name"},po={class:"msg-file-size"},fo={key:6,class:"msg-embeds"},bo={key:0,class:"msg-actions",role:"toolbar","aria-label":"Działania wiadomości"},yo=["disabled"],Se=w(null),ho=oe({__name:"ChatMessage",props:{message:{},followUp:{type:Boolean},author:{},meId:{}},emits:["delete"],setup(a,{emit:r}){const e=a,o=r,l=be(),i=Ye("(hover: none)"),u=w(null),f=w(null),c=w(null),$=w(null),b=w(null),v=w(null),_=m(()=>e.meId!==null&&e.message.sender_id===e.meId),C=m(()=>ge(e.author,e.message.sender_name)),W=m(()=>Me(e.message.created_at)),P=m(()=>Fe(e.message.created_at)),D=m(()=>!!e.author?.is_bot),M=m(()=>!_.value&&za(e.message.content,l.myHandle)),E=m(()=>e.message.edited_at?`Edytowano ${Fe(e.message.edited_at)}`:""),A=m(()=>(e.message.reactions??[]).some(T=>T.count>0)),R=w(!1),N=m(()=>Se.value===e.message.id),ae=m(()=>!!l.allowedReactions?.length),F=m(()=>!!e.message.deleted_at),ne=m(()=>l.canEdit(e.message)),G=m(()=>l.canDelete(e.message)),le=m(()=>Bt(e.message,l.maxEmbeds)),O=m(()=>!e.message.content||Lt(e.message.content,le.value)),h=m(()=>e.message.attachments??[]),j=w(null),k=Mt();async function S(T){if(j.value===null){j.value=T.id;try{await ct.download(e.message.id,T.id,T.filename)}catch{k.show("Nie udało się pobrać pliku. Spróbuj ponownie.")}finally{j.value=null}}}const q=w(!1),B=w(""),ee=w(!1),Y=w(""),Ee=24;function ce(){const T=v.value;if(!T)return;T.style.height="auto";const me=getComputedStyle(T),Q=Ee*8+parseFloat(me.paddingTop)+parseFloat(me.paddingBottom);T.style.height=`${Math.min(T.scrollHeight,Q)}px`,T.style.overflowY=T.scrollHeight>Q?"auto":"hidden"}async function we(){if(!ne.value)return;B.value=e.message.content??"",Y.value="",q.value=!0,Se.value=null,await V();const T=v.value;T&&(ce(),T.focus(),T.setSelectionRange(T.value.length,T.value.length))}function Z(){q.value=!1,Y.value="",V(()=>$.value?.focus())}async function ie(){if(ee.value)return;ee.value=!0,Y.value="";const T=await l.edit(e.message,B.value);if(ee.value=!1,T){Y.value=T;return}Z()}function de(T){if(!T.isComposing){if(T.key==="Escape"){T.preventDefault(),T.stopPropagation(),ee.value||Z();return}T.key==="Enter"&&!T.shiftKey&&(T.preventDefault(),ie())}}re(B,()=>{V(ce)}),re(F,T=>{T&&(q.value=!1)});function ye(){G.value&&o("delete",e.message,b.value)}async function g(){ae.value&&(R.value=!0,await V(),f.value?.openPicker(c.value))}function z(){R.value=!1}function H(T){!i.value||T.target?.closest("a, button, textarea, input, .msg-actions")||(Se.value=N.value?null:e.message.id)}function he(T){u.value&&T.target instanceof Node&&u.value.contains(T.target)||N.value&&(Se.value=null)}return re(N,T=>{T?document.addEventListener("pointerdown",he,!0):document.removeEventListener("pointerdown",he,!0)}),Ce(()=>{document.removeEventListener("pointerdown",he,!0),N.value&&(Se.value=null)}),(T,me)=>(n(),s("article",{ref_key:"root",ref:u,class:ue(["msg",{follow:a.followUp,"actions-open":N.value,"mentions-me":M.value}]),"data-message-id":a.message.id,onClick:H},[t("div",Ks,[a.followUp?(n(),s("time",{key:1,class:"msg-time",datetime:a.message.created_at,title:P.value},d(W.value),9,Fs)):(n(),fe(Le,{key:0,"user-id":a.message.sender_id,member:a.author,fallback:a.message.sender_name,me:_.value},null,8,["user-id","member","fallback","me"]))]),t("div",Zs,[a.followUp?(n(),s("span",eo,d(C.value)+", "+d(W.value)+":",1)):(n(),s("div",Vs,[t("span",Qs,d(C.value),1),D.value?(n(),s("span",Gs,"Bot")):_.value?(n(),s("span",Xs,"Ty")):I("",!0),t("time",{class:"msg-time",datetime:a.message.created_at,title:P.value},d(W.value),9,Ys),a.message.edited_at?(n(),s("span",{key:2,class:"msg-edited",title:E.value},"(edytowano)",8,Js)):I("",!0)])),F.value?(n(),s("p",to,"Wiadomość usunięta.")):q.value?(n(),s("form",{key:3,class:"msg-edit",onSubmit:We(ie,["prevent"])},[t("div",ao,[Ae(t("textarea",{ref_key:"editInput",ref:v,"onUpdate:modelValue":me[0]||(me[0]=Q=>B.value=Q),rows:"1","aria-label":"Edytuj wiadomość",readonly:ee.value,onKeydown:de},null,40,no),[[qe,B.value]])]),Y.value?(n(),s("p",so,d(Y.value),1)):I("",!0),t("div",oo,[t("button",{class:"btn primary small",type:"submit","aria-busy":ee.value?"true":void 0},"Zapisz zmiany",8,lo),t("button",{class:"btn ghost small",type:"button",disabled:ee.value,onClick:Z},"Anuluj edycję",8,io)])],32)):(n(),s(K,{key:4},[O.value?I("",!0):(n(),s("div",{key:0,class:"msg-body prose",innerHTML:p(wa)(a.message.content,p(l).membersByHandle)},null,8,ro)),a.followUp&&a.message.edited_at?(n(),s("span",{key:1,class:"msg-edited",title:E.value},"(edytowano)",8,uo)):I("",!0)],64)),!F.value&&h.value.length?(n(),s("ul",co,[(n(!0),s(K,null,J(h.value,Q=>(n(),s("li",{key:Q.id},[t("button",{class:"msg-file",type:"button","aria-label":`Pobierz ${Q.filename} (${p(Ke)(Q.size)})`,"aria-busy":j.value===Q.id?"true":void 0,onClick:_e=>S(Q)},[L(te,{name:"file"}),t("span",vo,d(Q.filename),1),t("span",po,d(p(Ke)(Q.size)),1)],8,mo)]))),128))])):I("",!0),!F.value&&le.value.length?(n(),s("div",fo,[(n(!0),s(K,null,J(le.value,Q=>(n(),fe(bt,{key:p(xe)(Q),"embed-ref":Q,item:p(l).embedItem(Q)},null,8,["embed-ref","item"]))),128))])):I("",!0),!F.value&&(A.value||R.value)?(n(),fe(Ps,{key:7,ref_key:"bar",ref:f,message:a.message,onClosed:z},null,8,["message"])):I("",!0)]),!F.value&&!q.value?(n(),s("div",bo,[t("button",{ref_key:"reactBtn",ref:c,class:"msg-action",type:"button","aria-label":"Dodaj reakcję",title:"Dodaj reakcję",disabled:!ae.value,onClick:g},[L(te,{name:"smile"})],8,yo),ne.value?(n(),s("button",{key:0,ref_key:"editBtn",ref:$,class:"msg-action",type:"button","aria-label":"Edytuj",title:"Edytuj",onClick:we},[L(te,{name:"pencil"})],512)):I("",!0),G.value?(n(),s("button",{key:1,ref_key:"deleteBtn",ref:b,class:"msg-action miss",type:"button","aria-label":"Usuń",title:"Usuń",onClick:ye},[L(te,{name:"trash"})],512)):I("",!0)])):I("",!0)],10,Hs))}}),_o=["aria-labelledby","aria-describedby"],ko=["id"],go=["id"],$o={key:0,class:"error-text",role:"alert"},wo={class:"btn-row chat-confirm-buttons"},zo=["aria-busy","disabled"],xo=["disabled"],Io=oe({__name:"DeleteDialog",setup(a,{expose:r}){const e=be(),o=je(),l=w(null),i=w(null),u=w(null),f=w(!1),c=w("");let $=null,b=null;const v=m(()=>!!u.value&&u.value.sender_id===e.userId),_=m(()=>{const A=u.value;return!A||v.value?"Wiadomość zniknie z rozmowy u wszystkich. Tego nie można cofnąć.":`Usuniesz wiadomość od ${ge(e.members.get(A.sender_id),A.sender_name)} u wszystkich. Tego nie można cofnąć.`});function C(A,R){u.value=A,c.value="",f.value=!1,$=R??(document.activeElement instanceof HTMLElement?document.activeElement:null),b=$?.closest(".chat-list")??null,l.value?.showModal(),V(()=>i.value?.focus())}function W(){l.value?.close()}function P(A){f.value&&A.preventDefault()}function D(){$?.isConnected?$.focus():b?.focus(),$=null,b=null,u.value=null}function M(A){A.target===l.value&&!f.value&&W()}async function E(){const A=u.value;if(!A||f.value)return;f.value=!0,c.value="";const R=await e.remove(A);if(f.value=!1,R){c.value=R;return}W()}return r({open:C}),(A,R)=>(n(),s("dialog",{ref_key:"dialog",ref:l,class:"chat-dialog chat-confirm","aria-labelledby":`delete-h-${p(o)}`,"aria-describedby":`delete-b-${p(o)}`,onCancel:P,onClose:D,onClick:M},[t("h2",{id:`delete-h-${p(o)}`,class:"chat-dialog-title"},"Usunąć wiadomość?",8,ko),t("p",{id:`delete-b-${p(o)}`,class:"chat-confirm-body"},d(_.value),9,go),c.value?(n(),s("p",$o,d(c.value),1)):I("",!0),t("div",wo,[t("button",{class:"btn danger",type:"button","aria-busy":f.value?"true":void 0,disabled:f.value,onClick:E},"Usuń wiadomość",8,zo),t("button",{ref_key:"keepBtn",ref:i,class:"btn ghost",type:"button",disabled:f.value,onClick:W},"Zostaw wiadomość",8,xo)])],40,_o))}}),Co={class:"chat-list-wrap"},jo=["aria-label"],Eo={key:0,class:"notice error",role:"alert"},To={key:1,class:"chat-skeletons","aria-busy":"true","aria-label":"Wczytywanie wiadomości"},Do={key:2,class:"chat-start"},So={key:3,class:"empty chat-empty"},Mo={key:0,class:"error-text"},Bo={key:1,class:"chat-start"},Lo={key:2,class:"chat-start"},No=["aria-label"],Ro={"aria-hidden":"true"},Ao={key:0,class:"chat-new",role:"separator","aria-label":"Nowe wiadomości"},qo={class:"sr-only","aria-live":"polite"},Wo=oe({__name:"MessageList",props:{conversationId:{},name:{},kind:{default:"general"},otherName:{default:""},visible:{type:Boolean,default:!0}},setup(a,{expose:r}){const e=a,o=be(),l=w(null),i=w(null),u=w(null);function f(g,z){u.value?.open(g,z)}const c=m(()=>o.messages[e.conversationId]),$=m(()=>o.errors[e.conversationId]??""),b=m(()=>ya(c.value??[],new Date)),v=m(()=>c.value?.at(-1)?.id??null),_=m(()=>!!o.olderLoading[e.conversationId]),C=m(()=>o.olderError[e.conversationId]??""),W=m(()=>!!o.reachedStart[e.conversationId]),P=m(()=>e.kind==="dm"?"To początek Waszej rozmowy.":"To początek kanału # ogólny.");let D=!1;re(c,g=>{g&&(o.resolveFor(g,!D),D=!0)},{immediate:!0,deep:1});const M=o.unreadOf(e.conversationId),E=w(null);let A=!1;function R(){A||!c.value||(A=!0,E.value=Nt(c.value,M,o.userId))}const N=w(0),ae=w(""),F=typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;function ne(){return!!l.value&&l.value.clientHeight>0}function G(){const g=l.value;return!g||g.scrollHeight-g.scrollTop-g.clientHeight<=48}function le(){return!l.value||!ne()||!c.value?null:G()?{atBottom:!0,messageId:null,offset:0}:O()??{atBottom:!0,messageId:null,offset:0}}function O(){const g=l.value;if(!g)return null;for(const z of g.querySelectorAll("[data-message-id]"))if(z.offsetTop+z.offsetHeight>g.scrollTop)return{atBottom:!1,messageId:Number(z.dataset.messageId),offset:z.offsetTop-g.scrollTop};return null}function h(){const g=le();g&&o.saveAnchor(e.conversationId,g)}let j=!0;const k=w(!1);function S(){if(!c.value||!ne())return;Rt({active:o.activeId===e.conversationId,visible:e.visible,focused:typeof document>"u"||document.hasFocus(),atBottom:G()})&&o.markRead(e.conversationId)}function q(g=!1){V(()=>{const z=l.value;z&&(g&&!F&&typeof z.scrollTo=="function"?z.scrollTo({top:z.scrollHeight,behavior:"smooth"}):z.scrollTop=z.scrollHeight,j=!0,N.value=0,ne()&&o.saveAnchor(e.conversationId,{atBottom:!0,messageId:null,offset:0}),S())})}function B(g){if(E.value===null)return!1;const z=g.querySelector(".chat-new");if(!z)return!1;const H=g.scrollHeight-g.clientHeight;return z.offsetTop>=H?!1:(g.scrollTop=z.offsetTop-48,!0)}function ee(){V(()=>{const g=l.value;!g||!ne()||!c.value||(R(),V(()=>{const z=o.anchorFor(e.conversationId),H=z&&!z.atBottom&&z.messageId!==null?g.querySelector(`[data-message-id="${z.messageId}"]`):null;H?g.scrollTop=H.offsetTop-(z?.offset??0):E.value!==null&&!k.value&&B(g)||(g.scrollTop=g.scrollHeight),j=G(),j&&(N.value=0),k.value=!0,S(),Z()}))})}let Y=0;function Ee(){j=G(),j&&(N.value=0),!Y&&(Y=requestAnimationFrame(()=>{Y=0,h(),S()}))}re(()=>c.value===void 0,(g,z)=>{!g&&z&&ee()}),re(v,(g,z)=>{if(g===null||g===z||z===null)return;const H=c.value??[],he=H.filter(_e=>_e.id>z),T=H.at(-1),me=he.filter(_e=>_e.sender_id!==o.userId),Q=me.at(-1);if(Q&&e.visible){const _e=(Q.content??"").replace(/\s+/g," ").trim().slice(0,80);ae.value=`${ge(o.members.get(Q.sender_id),Q.sender_name)}: ${_e}`}j||T&&T.sender_id===o.userId?q():N.value+=me.length}),re(()=>e.visible,(g,z)=>{z&&!g&&h(),g&&!z&&ee()});let ce=null;async function we(){const g=l.value;if(!g||!k.value||_.value||C.value||W.value)return;const z=O();if(await o.loadOlder(e.conversationId),await V(),z?.messageId!=null){const H=g.querySelector(`[data-message-id="${z.messageId}"]`);H&&(g.scrollTop=H.offsetTop-z.offset)}Z()}function Z(){const g=i.value;!ce||!g||(ce.unobserve(g),ce.observe(g))}function ie(){o.olderError[e.conversationId]="",V(()=>{we()})}re(i,(g,z)=>{z&&ce?.unobserve(z),g&&ce?.observe(g)});function de(){S()}function ye(){document.visibilityState==="visible"&&S()}return Ge(()=>{typeof IntersectionObserver<"u"&&l.value&&(ce=new IntersectionObserver(g=>{g.some(z=>z.isIntersecting)&&we()},{root:l.value,rootMargin:"200px 0px 0px 0px"}),i.value&&ce.observe(i.value)),window.addEventListener("focus",de),document.addEventListener("visibilitychange",ye),ee()}),Ce(()=>{Y&&cancelAnimationFrame(Y),ce?.disconnect(),window.removeEventListener("focus",de),document.removeEventListener("visibilitychange",ye),h()}),r({scrollToBottom:q}),(g,z)=>(n(),s("div",Co,[t("div",{ref_key:"el",ref:l,class:"chat-list",role:"region","aria-label":`Wiadomości w ${a.name}`,tabindex:"0",onScrollPassive:Ee},[!c.value&&$.value?(n(),s("div",Eo,[X(d($.value)+" ",1),t("button",{class:"linkish",type:"button",onClick:z[0]||(z[0]=H=>p(o).loadLatest(a.conversationId))},"Spróbuj ponownie")])):c.value?!c.value.length&&a.kind==="dm"?(n(),s("p",Do,"To początek Waszej rozmowy z "+d(a.otherName)+".",1)):c.value.length?(n(),s(K,{key:4},[t("div",{ref_key:"sentinel",ref:i,class:"chat-older"},[C.value?(n(),s("p",Mo,[X(d(C.value)+" ",1),t("button",{class:"linkish",type:"button",onClick:ie},"Spróbuj ponownie")])):_.value?(n(),s("p",Bo,"Wczytywanie starszych wiadomości…")):W.value?(n(),s("p",Lo,d(P.value),1)):I("",!0)],512),(n(!0),s(K,null,J(b.value,H=>(n(),s(K,{key:H.key},[H.kind==="day"?(n(),s("div",{key:0,class:"chat-day",role:"separator","aria-label":H.label},[t("span",Ro,d(H.label),1)],8,No)):(n(),s(K,{key:1},[H.message.id===E.value?(n(),s("div",Ao,[...z[4]||(z[4]=[t("span",{"aria-hidden":"true"},"Nowe wiadomości",-1)])])):I("",!0),L(ho,{message:H.message,"follow-up":H.followUp&&H.message.id!==E.value,author:p(o).members.get(H.message.sender_id),"me-id":p(o).userId,onDelete:f},null,8,["message","follow-up","author","me-id"])],64))],64))),128))],64)):(n(),s("div",So,[...z[3]||(z[3]=[t("p",{class:"chat-empty-h"},"Na # ogólny jeszcze cisza",-1),t("p",null,"Napisz pierwszą wiadomość do całego roku. Przyciskiem kalendarza podepniesz termin, zajęcia albo lekturę.",-1)])])):(n(),s("div",To,[...z[2]||(z[2]=[t("div",{class:"skeleton"},null,-1),t("div",{class:"skeleton"},null,-1),t("div",{class:"skeleton"},null,-1)])]))],40,jo),N.value>0?(n(),s("button",{key:0,class:"btn small chat-jump",type:"button",onClick:z[1]||(z[1]=H=>q(!0))},[L(te,{name:"arrow-down"}),X("Nowe wiadomości: "+d(N.value),1)])):I("",!0),t("div",qo,d(ae.value),1),L(Io,{ref_key:"deleteDialog",ref:u},null,512)]))}}),Oo=["role","aria-label","aria-labelledby"],Uo=["id","aria-labelledby"],Po={class:"chat-typing","aria-hidden":"true"},Ho={key:2,class:"chat-list"},Ko=oe({__name:"ChatPanel",props:{wide:{type:Boolean,default:!0},visible:{type:Boolean,default:!0},labelledBy:{default:void 0}},setup(a){const r=a,e=be(),o=`chat-${je()}`,l=w(null),i=w(null),u=w(null),f=m(()=>r.wide?void 0:"tabpanel"),c=m(()=>e.view==="dms"?null:e.activeId),$=m(()=>e.view==="dm"?e.conversations.find(D=>D.id===e.activeId):void 0),b=m(()=>$.value?ge(e.members.get($.value.other_user_id)):""),v=m(()=>e.view==="dm"?b.value:"# ogólny"),_=m(()=>c.value===null?"":At(e.typingIn(c.value).map(D=>ge(e.members.get(D),"Ktoś")))),C=m(()=>`${o}-tab-${e.view==="general"?"general":"dms"}`);re(()=>r.visible,D=>e.panelVisible=D,{immediate:!0}),Ce(()=>e.panelVisible=!1);function W(D){D==="general"?e.showGeneral():e.showDms()}function P(){V(()=>i.value?.focus())}return(D,M)=>(n(),s("aside",{class:"chat",role:f.value,"aria-label":a.wide?"Czat":void 0,"aria-labelledby":a.wide?void 0:a.labelledBy},[L(ss,{view:p(e).view,"dm-name":b.value,"dm-user-id":$.value?.other_user_id??null,"id-base":o,onSelect:W,onBack:M[0]||(M[0]=E=>p(e).showDms())},null,8,["view","dm-name","dm-user-id"]),t("div",{id:`${o}-body`,class:"chat-body",role:"tabpanel","aria-labelledby":C.value},[p(e).view==="dms"?(n(),fe(ks,{key:0,onCompose:M[1]||(M[1]=E=>u.value?.open())})):c.value!==null?(n(),s(K,{key:1},[(n(),fe(Wo,{ref_key:"list",ref:l,key:c.value,"conversation-id":c.value,name:v.value,kind:p(e).view==="dm"?"dm":"general","other-name":b.value,visible:a.visible},null,8,["conversation-id","name","kind","other-name","visible"])),t("div",Po,d(_.value),1),L(Wn,{ref_key:"composer",ref:i,"conversation-id":c.value,label:`Wiadomość do ${v.value}`,placeholder:p(e).view==="dm"?`Napisz do ${b.value}…`:"Napisz na # ogólny…",onSent:M[2]||(M[2]=E=>l.value?.scrollToBottom())},null,8,["conversation-id","label","placeholder"])],64)):(n(),s("div",Ho,[...M[3]||(M[3]=[t("div",{class:"chat-skeletons","aria-busy":"true","aria-label":"Wczytywanie czatu"},[t("div",{class:"skeleton"}),t("div",{class:"skeleton"}),t("div",{class:"skeleton"})],-1)])]))],8,Uo),L(Ns,{ref_key:"picker",ref:u,onStarted:P},null,512)],8,Oo))}}),Fo={key:0,class:"pulpit-tabs",role:"tablist","aria-label":"Widok"},Zo=["id","aria-selected","aria-controls","tabindex","onClick","onKeydown"],Vo={key:0,class:"unread-badge"},Qo={"aria-hidden":"true"},Go={class:"sr-only"},Xo=["role","aria-labelledby"],Yo={class:"pulpit-lists"},Jo={"aria-labelledby":"next-h"},el={class:"section-head"},tl={key:0,class:"rows"},al={class:"row-main"},nl={class:"title"},sl={class:"when"},ol={class:"muted small"},ll={key:0,class:"badge online"},il={key:1,class:"badge onsite"},rl={key:1,class:"empty"},ul={"aria-labelledby":"dl-h"},cl={class:"section-head"},dl={key:0,class:"rows"},ml={class:"row-main"},vl={class:"title"},pl={class:"muted small"},fl={key:0},bl={key:1,class:"empty"},yl={class:"pulpit-cards"},hl={class:"card","aria-labelledby":"read-h"},_l={style:{margin:"0 0 8px"}},kl={class:"big-num"},gl={class:"muted"},$l=["aria-valuenow"],wl={class:"muted small",style:{margin:"8px 0 10px"}},zl={class:"card","aria-labelledby":"quiz-h"},Tl=oe({__name:"DashboardView",setup(a){const r=qt(),e=Wt(),o=be(),l=Ut(),i=Pt(),u=w(new Date);Ge(()=>{u.value=new Date,Promise.all([e.loadDashboard(),e.loadCourses(),e.loadSchedule(),e.loadDeadlines(),e.loadReadings()])});const f=m(()=>e.loaded.schedule&&e.loaded.courses&&e.loaded.readings&&e.loaded.deadlines&&e.loaded.dashboard),c=m(()=>e.dashboard?.current_meeting??e.dashboard?.next_meeting??null),$=m(()=>!!e.dashboard?.current_meeting),b=m(()=>e.schedule.filter(O=>Date.parse(O.ends_at)>u.value.getTime()).slice(0,5)),v=m(()=>e.deadlines.filter(O=>Date.parse(O.due_at)>=u.value.getTime()).slice(0,5)),_=O=>{const h=Re(O,u.value);return h>=0&&h<=14},C=m(()=>e.readingStats),W=m(()=>C.value.requiredTotal?Math.round(C.value.requiredRead/C.value.requiredTotal*100):0),P=m(()=>r.user?.name?`Cześć, ${r.user.name}`:"Pulpit"),D=m(()=>`Pulpit · ${Be(u.value.toISOString())}`),M=m(()=>{const O=r.user;return mt({name:O?.name??"",surname:O?.surname??"",handle:""},O?.email??"")}),E=Ca(1100),A=m(()=>o.member===!0),R=m(()=>l.query.tab==="czat"?"czat":"pulpit"),N=m(()=>A.value&&!E.value),ae=m(()=>A.value&&(E.value||R.value==="czat")),F=[{key:"pulpit",label:"Pulpit",id:"tab-pulpit",panel:"panel-pulpit"},{key:"czat",label:"Czat",id:"tab-czat",panel:"panel-czat"}];function ne(O){if(O==="czat")return{...l.query,tab:"czat"};const{tab:h,...j}=l.query;return j}function G(O){O!==R.value&&i.push({query:ne(O)})}function le(O,h){const j=yt(O.key,h,F.length);j!==null&&(O.preventDefault(),G(F[j].key),V(()=>document.getElementById(F[j].id)?.focus()))}return re([()=>o.member,()=>l.query.tab],([O,h])=>{O===!1&&h==="czat"&&i.replace({query:ne("pulpit")})},{immediate:!0}),(O,h)=>{const j=it("router-link");return n(),s("div",{class:ue(["pulpit",{"with-chat":A.value,czat:A.value&&R.value==="czat"}])},[L(Ft,{class:"pulpit-head",eyebrow:D.value,title:P.value},{default:ve(()=>[L(Je,{part:"chip"}),L(j,{class:"profile-link",to:"/profil","aria-label":"Profil"},{default:ve(()=>[X(d(M.value),1)]),_:1})]),_:1},8,["eyebrow","title"]),A.value?(n(),s("div",Fo,[(n(),s(K,null,J(F,(k,S)=>t("button",{id:k.id,key:k.key,class:"pulpit-tab",type:"button",role:"tab","aria-selected":R.value===k.key,"aria-controls":k.panel,tabindex:R.value===k.key?0:-1,onClick:q=>G(k.key),onKeydown:q=>le(q,S)},[X(d(k.label)+" ",1),k.key==="czat"&&p(Ie)(p(o).totalUnread)?(n(),s("span",Vo,[t("span",Qo,d(p(Ie)(p(o).totalUnread)),1),t("span",Go,", "+d(p(Xe)(p(o).totalUnread)),1)])):I("",!0)],40,Zo)),64))])):I("",!0),t("div",{id:"panel-pulpit",class:"pulpit-main",role:N.value?"tabpanel":void 0,"aria-labelledby":N.value?"tab-pulpit":void 0},[L(Je,{part:"notice"}),L(Zt,{ready:f.value,error:p(e).error,onRetry:h[0]||(h[0]=k=>p(e).retry())},{default:ve(()=>[L(va,{meeting:c.value,"is-current":$.value,schedule:p(e).schedule,deadlines:p(e).deadlines,now:u.value},null,8,["meeting","is-current","schedule","deadlines","now"]),t("div",Yo,[t("section",Jo,[t("div",el,[h[2]||(h[2]=t("h2",{id:"next-h"},"Najbliższe zajęcia",-1)),L(j,{to:"/plan",class:"small"},{default:ve(()=>[...h[1]||(h[1]=[X("Cały plan",-1)])]),_:1})]),b.value.length?(n(),s("ul",tl,[(n(!0),s(K,null,J(b.value,k=>(n(),s("li",{key:k.id},[t("div",al,[t("span",nl,d(k.course.name),1),t("span",sl,d(p(Me)(k.starts_at))+"–"+d(p(Me)(k.ends_at)),1)]),t("div",ol,[X(d(p(Be)(k.starts_at))+" · "+d(p(lt)[k.course.form])+" ",1),k.is_online?(n(),s("span",ll,"online")):k.room?(n(),s("span",il,"sala "+d(k.room),1)):I("",!0)])]))),128))])):(n(),s("p",rl,"Nie ma już zaplanowanych zajęć."))]),t("section",ul,[t("div",cl,[h[4]||(h[4]=t("h2",{id:"dl-h"},"Terminy",-1)),L(j,{to:"/terminarz",class:"small"},{default:ve(()=>[...h[3]||(h[3]=[X("Terminarz",-1)])]),_:1})]),v.value.length?(n(),s("ul",dl,[(n(!0),s(K,null,J(v.value,k=>(n(),s("li",{key:k.id},[t("div",ml,[t("span",vl,d(k.title),1),t("span",{class:ue(["badge",{warn:_(k.due_at)}])},d(p(Ht)(k.due_at,u.value)),3)]),t("div",pl,[X(d(p(Fe)(k.due_at))+" · "+d(p(Kt)[k.kind]),1),k.course?(n(),s("span",fl," · "+d(k.course.name),1)):I("",!0)])]))),128))])):(n(),s("p",bl,"Brak nadchodzących terminów."))])]),t("div",yl,[t("section",hl,[h[6]||(h[6]=t("span",{class:"eyebrow"},"Lektury",-1)),h[7]||(h[7]=t("h2",{id:"read-h",style:{margin:"4px 0 8px"}},"Postęp czytania",-1)),t("p",_l,[t("span",kl,d(C.value.requiredRead),1),t("span",gl," z "+d(C.value.requiredTotal)+" obowiązkowych",1)]),t("div",{class:"progress-bar",role:"progressbar","aria-valuenow":W.value,"aria-valuemin":"0","aria-valuemax":"100","aria-label":"Przeczytane lektury obowiązkowe"},[t("span",{style:Qe({width:W.value+"%"})},null,4)],8,$l),t("p",wl,"Łącznie przeczytano "+d(C.value.read)+" z "+d(p(Ot)(C.value.total,"lektury","lektur","lektur"))+".",1),L(j,{class:"btn small",to:"/lektury"},{default:ve(()=>[...h[5]||(h[5]=[X("Lista lektur",-1)])]),_:1})]),t("section",zl,[h[9]||(h[9]=t("span",{class:"eyebrow"},"Quizy",-1)),h[10]||(h[10]=t("h2",{id:"quiz-h",style:{margin:"4px 0 8px"}},"Sprawdź się",-1)),h[11]||(h[11]=t("p",{class:"muted",style:{margin:"0 0 12px"}},"Fiszki z powtórki: losuj po 5 pytań, oznaczaj Wiem / Nie wiem i wracaj do tych, których nie znasz.",-1)),L(j,{class:"btn primary small",to:"/quizy"},{default:ve(()=>[...h[8]||(h[8]=[X("Zacznij quiz",-1)])]),_:1})])])]),_:1},8,["ready","error"])],8,Xo),A.value?(n(),fe(Ko,{key:1,id:"panel-czat",wide:p(E),visible:ae.value,"labelled-by":"tab-czat"},null,8,["wide","visible"])):I("",!0)],2)}}});export{Tl as default}; diff --git a/public/assets/DashboardView-78HUVahK.js b/public/assets/DashboardView-78HUVahK.js deleted file mode 100644 index 3f34294..0000000 --- a/public/assets/DashboardView-78HUVahK.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as S}from"./PageHead.vue_vue_type_script_setup_true_lang-D45_AHIh.js";import{_ as R}from"./LoadState.vue_vue_type_script_setup_true_lang-DkVVX15k.js";import{_ as $}from"./ElectiveBar.vue_vue_type_script_setup_true_lang-Cy49YMPm.js";import{d as F,u as P,y as V,o as E,c as o,i as u,j as p,e as i,r as M,x as d,n,z as b,b as e,t as a,p as m,f as v,F as j,B as D,C as A,l as Z}from"./index-BJq7_SVs.js";import{f as I,m as T,r as q,c as C,a as B,b as K,F as O,d as Q,e as U,K as W,g as G}from"./format-bcE-cYHJ.js";const H={class:"eyebrow"},J={id:"meeting-h",style:{margin:"4px 0 6px"}},X={style:{margin:"0 0 6px"}},Y={key:0,class:"muted small",style:{margin:"0 0 6px"}},ee={key:1,class:"muted small",style:{margin:"0 0 8px"}},se={key:1,class:"card"},ae={class:"grid-2 section"},te={"aria-labelledby":"next-h"},le={class:"section-head"},oe={key:0,class:"rows"},ne={class:"row-main"},ie={class:"title"},re={class:"when"},de={class:"muted small"},ue={key:0,class:"badge online"},me={key:1,class:"badge onsite"},ce={key:1,class:"empty"},_e={"aria-labelledby":"dl-h"},pe={class:"section-head"},ye={key:0,class:"rows"},ve={class:"row-main"},ze={class:"title"},he={class:"muted small"},ge={key:0},be={key:1,class:"empty"},ke={class:"grid-2 section"},we={class:"card","aria-labelledby":"read-h"},fe={style:{margin:"0 0 8px"}},xe={class:"big-num"},je={class:"muted"},De=["aria-valuenow"],Te={class:"muted small",style:{margin:"8px 0 10px"}},qe={class:"card","aria-labelledby":"quiz-h"},$e=F({__name:"DashboardView",setup(Ce){const k=P(),l=V(),_=M(new Date);E(()=>{_.value=new Date,Promise.all([l.loadDashboard(),l.loadCourses(),l.loadSchedule(),l.loadDeadlines(),l.loadReadings()])});const N=d(()=>l.loaded.schedule&&l.loaded.courses&&l.loaded.readings&&l.loaded.deadlines&&l.loaded.dashboard),r=d(()=>l.dashboard?.current_meeting??l.dashboard?.next_meeting??null),h=d(()=>!!l.dashboard?.current_meeting),g=d(()=>G(r.value?.notes)),w=d(()=>l.schedule.filter(z=>Date.parse(z.ends_at)>_.value.getTime()).slice(0,5)),f=d(()=>l.deadlines.filter(z=>Date.parse(z.due_at)>=_.value.getTime()).slice(0,5)),c=d(()=>l.readingStats),x=d(()=>c.value.requiredTotal?Math.round(c.value.requiredRead/c.value.requiredTotal*100):0),L=d(()=>k.user?.name?`Cześć, ${k.user.name}`:"Pulpit");return(z,s)=>{const y=Z("router-link");return n(),o("div",null,[u(S,{eyebrow:"Pulpit",title:L.value},null,8,["title"]),u(R,{ready:N.value,error:i(l).error,onRetry:s[0]||(s[0]=t=>i(l).retry())},{default:p(()=>[u($),r.value?(n(),o("section",{key:0,class:b(["card accent",{hl:h.value}]),"aria-labelledby":"meeting-h"},[e("span",H,a(h.value?"Trwa zjazd":"Najbliższy zjazd"),1),e("h2",J,"Zjazd "+a(r.value.number),1),e("p",X,[m(a(i(I)(r.value.starts_on,r.value.ends_on))+" ",1),g.value?(n(),o("span",{key:0,class:b(["badge",g.value==="online"?"online":"onsite"]),style:{"margin-left":"6px"}},a(g.value),3)):v("",!0)]),i(T)(r.value.notes)?(n(),o("p",Y,a(i(T)(r.value.notes)),1)):v("",!0),h.value?v("",!0):(n(),o("p",ee,a(i(q)(`${r.value.starts_on}T12:00:00+02:00`,_.value))+" · "+a(i(C)(r.value.sessions_count,"zajęcia","zajęcia","zajęć")),1)),u(y,{class:"btn small",to:{name:"schedule",query:{zjazd:r.value.number}}},{default:p(()=>[...s[1]||(s[1]=[m("Zobacz plan zjazdu",-1)])]),_:1},8,["to"])],2)):(n(),o("section",se,[...s[2]||(s[2]=[e("p",{class:"muted",style:{margin:"0"}},"Brak zaplanowanych zjazdów.",-1)])])),e("div",ae,[e("section",te,[e("div",le,[s[4]||(s[4]=e("h2",{id:"next-h"},"Najbliższe zajęcia",-1)),u(y,{to:"/plan",class:"small"},{default:p(()=>[...s[3]||(s[3]=[m("Cały plan",-1)])]),_:1})]),w.value.length?(n(),o("ul",oe,[(n(!0),o(j,null,D(w.value,t=>(n(),o("li",{key:t.id},[e("div",ne,[e("span",ie,a(t.course.name),1),e("span",re,a(i(B)(t.starts_at))+"–"+a(i(B)(t.ends_at)),1)]),e("div",de,[m(a(i(K)(t.starts_at))+" · "+a(i(O)[t.course.form])+" ",1),t.is_online?(n(),o("span",ue,"online")):t.room?(n(),o("span",me,"sala "+a(t.room),1)):v("",!0)])]))),128))])):(n(),o("p",ce,"Nie ma już zaplanowanych zajęć."))]),e("section",_e,[e("div",pe,[s[6]||(s[6]=e("h2",{id:"dl-h"},"Terminy",-1)),u(y,{to:"/terminarz",class:"small"},{default:p(()=>[...s[5]||(s[5]=[m("Terminarz",-1)])]),_:1})]),f.value.length?(n(),o("ul",ye,[(n(!0),o(j,null,D(f.value,t=>(n(),o("li",{key:t.id},[e("div",ve,[e("span",ze,a(t.title),1),e("span",{class:b(["badge",{alert:i(Q)(t.due_at,_.value)<=3}])},a(i(q)(t.due_at,_.value)),3)]),e("div",he,[m(a(i(U)(t.due_at))+" · "+a(i(W)[t.kind]),1),t.course?(n(),o("span",ge," · "+a(t.course.name),1)):v("",!0)])]))),128))])):(n(),o("p",be,"Brak nadchodzących terminów."))])]),e("div",ke,[e("section",we,[s[8]||(s[8]=e("span",{class:"eyebrow"},"Lektury",-1)),s[9]||(s[9]=e("h2",{id:"read-h",style:{margin:"4px 0 8px"}},"Postęp czytania",-1)),e("p",fe,[e("span",xe,a(c.value.requiredRead),1),e("span",je," z "+a(c.value.requiredTotal)+" obowiązkowych",1)]),e("div",{class:"progress-bar",role:"progressbar","aria-valuenow":x.value,"aria-valuemin":"0","aria-valuemax":"100","aria-label":"Przeczytane lektury obowiązkowe"},[e("span",{style:A({width:x.value+"%"})},null,4)],8,De),e("p",Te,"Łącznie przeczytano "+a(c.value.read)+" z "+a(i(C)(c.value.total,"lektury","lektur","lektur"))+".",1),u(y,{class:"btn small",to:"/lektury"},{default:p(()=>[...s[7]||(s[7]=[m("Lista lektur",-1)])]),_:1})]),e("section",qe,[s[11]||(s[11]=e("span",{class:"eyebrow"},"Quizy",-1)),s[12]||(s[12]=e("h2",{id:"quiz-h",style:{margin:"4px 0 8px"}},"Sprawdź się",-1)),s[13]||(s[13]=e("p",{class:"muted",style:{margin:"0 0 12px"}},"Fiszki z powtórki: losuj po 5 pytań, oznaczaj Wiem / Nie wiem i wracaj do tych, których nie znasz.",-1)),u(y,{class:"btn primary small",to:"/quizy"},{default:p(()=>[...s[10]||(s[10]=[m("Zacznij quiz",-1)])]),_:1})])])]),_:1},8,["ready","error"])])}}});export{$e as default}; diff --git a/public/assets/DeadlinesView-Ce4aNthG.js b/public/assets/DeadlinesView-Ce4aNthG.js new file mode 100644 index 0000000..0bc696a --- /dev/null +++ b/public/assets/DeadlinesView-Ce4aNthG.js @@ -0,0 +1 @@ +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-BxuLaZe9.js";import{_ as F}from"./PageHead.vue_vue_type_script_setup_true_lang-BvljxRM_.js";import{_ as H}from"./LoadState.vue_vue_type_script_setup_true_lang-CZ3UpUyg.js";import{_ as I}from"./ElectiveBar.vue_vue_type_script_setup_true_lang-BLN4Nv_F.js";import{u as P}from"./scrollToHash-QnVc4MI-.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)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}; diff --git a/public/assets/DeadlinesView-Vbq9k0Gu.js b/public/assets/DeadlinesView-Vbq9k0Gu.js deleted file mode 100644 index 6231863..0000000 --- a/public/assets/DeadlinesView-Vbq9k0Gu.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as x}from"./PageHead.vue_vue_type_script_setup_true_lang-D45_AHIh.js";import{_ as B}from"./LoadState.vue_vue_type_script_setup_true_lang-DkVVX15k.js";import{_ as C}from"./ElectiveBar.vue_vue_type_script_setup_true_lang-Cy49YMPm.js";import{d as $,y as N,o as T,c as a,i as u,j as f,e as s,r as h,n as o,F as p,B as k,b as n,t,f as _,x as g,l as V,z as L,p as v}from"./index-BJq7_SVs.js";import{d as w,r as M,b as D,a as j,K as b,c as E}from"./format-bcE-cYHJ.js";const F={key:0,class:"rows card"},K={class:"row-main"},P={class:"title"},S={class:"muted small"},A={class:"badge"},I={key:0,class:"small",style:{margin:"6px 0 0"}},R={key:1,class:"empty"},U={key:2,class:"section"},Z=["aria-pressed"],q={key:0,class:"rows card past",style:{"margin-top":"10px"}},G={class:"row-main"},H={class:"title"},J={class:"when"},O={class:"muted small"},te=$({__name:"DeadlinesView",setup(Q){const r=N(),i=h(new Date),d=h(!1);T(()=>{i.value=new Date,Promise.all([r.loadDeadlines(),r.loadCourses()])});const y=g(()=>r.deadlines.filter(c=>Date.parse(c.due_at)>=i.value.getTime())),m=g(()=>r.deadlines.filter(c=>Date.parse(c.due_at){const z=V("router-link");return o(),a("div",null,[u(x,{eyebrow:"Zaliczenia, egzaminy, sprawy organizacyjne",title:"Terminarz"}),u(B,{ready:s(r).loaded.deadlines&&s(r).loaded.courses,error:s(r).error,onRetry:l[1]||(l[1]=e=>s(r).retry())},{default:f(()=>[u(C),y.value.length?(o(),a("ul",F,[(o(!0),a(p,null,k(y.value,e=>(o(),a("li",{key:e.id},[n("div",K,[n("span",P,t(e.title),1),n("span",{class:L(["badge",{alert:s(w)(e.due_at,i.value)<=3}])},t(s(M)(e.due_at,i.value)),3)]),n("div",S,[v(t(s(D)(e.due_at))+", "+t(s(j)(e.due_at))+" · ",1),n("span",A,t(s(b)[e.kind]),1),e.course?(o(),a(p,{key:0},[l[2]||(l[2]=v(" · ",-1)),u(z,{to:`/przedmioty/${e.course.id}`},{default:f(()=>[v(t(e.course.name),1)]),_:2},1032,["to"])],64)):_("",!0)]),e.description?(o(),a("p",I,t(e.description),1)):_("",!0)]))),128))])):(o(),a("p",R,"Brak nadchodzących terminów.")),m.value.length?(o(),a("div",U,[n("button",{class:"chip",type:"button","aria-pressed":d.value,onClick:l[0]||(l[0]=e=>d.value=!d.value)},"Minione ("+t(m.value.length)+")",9,Z),d.value?(o(),a("ul",q,[(o(!0),a(p,null,k(m.value,e=>(o(),a("li",{key:e.id},[n("div",G,[n("span",H,t(e.title),1),n("span",J,t(s(E)(Math.abs(s(w)(e.due_at,i.value)),"dzień","dni","dni"))+" temu",1)]),n("div",O,t(s(D)(e.due_at))+" · "+t(s(b)[e.kind]),1)]))),128))])):_("",!0)])):_("",!0)]),_:1},8,["ready","error"])])}}});export{te as default}; diff --git a/public/assets/DeckViewer.vue_vue_type_style_index_0_lang-BKSiygyD.js b/public/assets/DeckViewer.vue_vue_type_style_index_0_lang-BNXzqXdd.js similarity index 62% rename from public/assets/DeckViewer.vue_vue_type_style_index_0_lang-BKSiygyD.js rename to public/assets/DeckViewer.vue_vue_type_style_index_0_lang-BNXzqXdd.js index ae9e7a8..dac0234 100644 --- a/public/assets/DeckViewer.vue_vue_type_style_index_0_lang-BKSiygyD.js +++ b/public/assets/DeckViewer.vue_vue_type_style_index_0_lang-BNXzqXdd.js @@ -1,9 +1,9 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/opsz-DD7j1RRT.css","assets/opsz-italic-l9KtpeZ8.css","assets/index-BJq7_SVs.js","assets/index-DDUt0SwV.css","assets/summer-DcZGwnDj.css"])))=>i.map(i=>d[i]); -/* empty css */import{Y as P,d as at,D as K,o as lt,M as se,U as ct,c as v,s as dt,Z as pt,T as _e,f as z,F as $e,b as h,t as V,p as N,z as Ae,B as ut,C as ft,r as H,x as O,n as x,e as mt}from"./index-BJq7_SVs.js";const ht=':host{color-scheme:light dark;--deck-paper: #e9ebe3;--deck-paper-2: #dfe2d8;--deck-ink: #16201f;--deck-ink-2: #4b5551;--deck-rule: #b9beb3;--deck-empire: #b5302c;--deck-khaki: #7f7047;--deck-display: "Libre Caslon Display", "Times New Roman", Georgia, serif;--deck-body: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--deck-mono: "Courier Prime", "Courier New", Courier, monospace}@media(prefers-color-scheme:dark){:host:not([data-theme=light]){--deck-paper: #141a18;--deck-paper-2: #1c2421;--deck-ink: #e4e4da;--deck-ink-2: #a7ada4;--deck-rule: #3a443f;--deck-empire: #e0675f;--deck-khaki: #c2ad72;color-scheme:dark}}:host[data-theme=dark]{--deck-paper: #141a18;--deck-paper-2: #1c2421;--deck-ink: #e4e4da;--deck-ink-2: #a7ada4;--deck-rule: #3a443f;--deck-empire: #e0675f;--deck-khaki: #c2ad72;color-scheme:dark}*{box-sizing:border-box}:host,.deck{height:100%;margin:0}.deck{position:relative;background:var(--deck-paper);color:var(--deck-ink);font-family:var(--deck-body);font-size:24px;line-height:1.4;overflow:hidden}h1,h2,h3{font-family:var(--deck-display);font-weight:400;margin:0;text-wrap:balance;line-height:1.08}p{margin:0}ul{margin:0;padding-left:1.1em}li{margin-block:.25em}li::marker{color:var(--deck-empire)}em{font-style:italic}strong{font-weight:600}a{color:inherit}.k{font-family:var(--deck-mono);font-size:.72em;letter-spacing:.08em;text-transform:uppercase;color:var(--deck-khaki)}.red{color:var(--deck-empire)}.muted{color:var(--deck-ink-2)}.small{font-size:.78em;line-height:1.35}.bib{font-size:17px;line-height:1.3;gap:36px}.bib li{margin-block:.2em}.bib .k{font-size:13px;margin-bottom:6px}#stage{position:absolute;left:50%;top:50%;width:1280px;height:720px;transform-origin:0 0}.slide{position:absolute;inset:0;display:none;padding:64px 88px 72px;background:var(--deck-paper);grid-template-rows:auto 1fr;gap:28px;overflow:hidden}[hidden]{display:none!important}.slide.on{display:grid}.slide.special{border-top:6px solid var(--deck-khaki)}.sp-close{position:absolute;top:18px;right:22px;width:44px;height:44px;border:1px solid var(--deck-rule);background:transparent;color:var(--deck-ink-2);font-size:28px;line-height:1;cursor:pointer}.sp-link{border-bottom:2px dotted var(--deck-empire);cursor:pointer}.slide>header{display:grid;gap:10px}.slide>header h2{font-size:50px}.slide .body{min-height:0;display:grid;gap:22px;align-content:start}.cols{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}.cols>*{min-width:0}.cols.w{grid-template-columns:1.3fr 1fr}.rule-top{border-top:1px solid var(--deck-rule);padding-top:16px}.note{font-size:20px;color:var(--deck-ink-2);border-left:3px solid var(--deck-empire);padding-left:14px}.quote{font-family:var(--deck-display);font-size:34px;line-height:1.25}.quote+.k{margin-top:6px}.slide.sec{grid-template-rows:1fr;align-content:center;background:var(--deck-paper-2)}.slide.sec .k{font-size:20px}.slide.sec h2{font-size:72px;max-width:18ch;margin-top:12px}.slide.sec p{font-size:26px;color:var(--deck-ink-2);max-width:44ch;margin-top:22px}.slide.title{grid-template-rows:1fr auto;background:var(--deck-paper-2)}.slide.title h1{font-size:86px;max-width:14ch}.slide.title .sub{font-size:30px;color:var(--deck-ink-2);margin-top:20px;font-family:var(--deck-display)}.slide.title footer{display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--deck-rule);padding-top:18px;font-size:20px}.tl{display:grid;grid-template-columns:max-content 1fr;column-gap:26px;row-gap:8px;font-size:22px;align-content:start}.tl .y{font-family:var(--deck-mono);color:var(--deck-empire);font-variant-numeric:tabular-nums}.tl.compact{font-size:20px;row-gap:6px}table{border-collapse:collapse;width:100%;font-size:21px}th,td{text-align:left;vertical-align:top;padding:8px 12px 8px 0;border-bottom:1px solid var(--deck-rule)}th{font-family:var(--deck-mono);font-weight:400;font-size:16px;letter-spacing:.08em;text-transform:uppercase;color:var(--deck-khaki)}.people{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.p{border-top:2px solid var(--deck-empire);padding-top:10px;font-size:20px;line-height:1.35;min-width:0}.p b{display:block;font-family:var(--deck-display);font-weight:400;font-size:26px;margin-bottom:4px}.theses{display:grid;gap:18px;counter-reset:t}.theses>div{display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:start}.theses>div:before{counter-increment:t;content:counter(t);font-family:var(--deck-display);font-size:48px;line-height:1;color:var(--deck-empire)}.theses b{font-weight:600}.body.v2{grid-template-rows:1fr;align-content:stretch;gap:20px}.body.v2>:first-child{align-self:start}.body.v2>.people+.cols{align-self:start}.pts{font-size:28px;line-height:1.3}.pts li{margin-block:.4em}.tl.big{font-size:26px;row-gap:10px}table.big{font-size:24px}.sum{font-family:var(--deck-display);font-size:30px;line-height:1.25;border-top:2px solid var(--deck-empire);padding-top:14px;align-self:end;text-wrap:balance}.body.v2 .p{font-size:22px}.body.v2 .theses{font-size:30px;gap:26px}.body.v2 .theses>div{align-items:center}.notes .full{opacity:.9}@media(max-width:900px)and (orientation:portrait){.pts{font-size:17px}.tl.big{font-size:16px}table.big{font-size:15px}.sum{font-size:20px}.body.v2 .p{font-size:16px}}#bar{position:fixed;left:0;right:0;bottom:0;height:4px;background:var(--deck-rule)}#bar i{display:block;height:100%;width:0;background:var(--deck-empire);transition:width .25s}#meta{position:fixed;right:20px;bottom:12px;font-family:var(--deck-mono);font-size:14px;color:var(--deck-ink-2);letter-spacing:.06em}#meta b{font-weight:400;color:var(--deck-ink)}#sect{position:fixed;left:20px;bottom:12px;font-family:var(--deck-mono);font-size:14px;color:var(--deck-ink-2);letter-spacing:.08em;text-transform:uppercase}.notes,.srcs{display:none}.deck.notes-on .notes,.deck.srcs-on .srcs{display:block;position:absolute;left:0;right:0;bottom:0;max-height:46%;overflow:auto;background:var(--deck-ink);color:var(--deck-paper);padding:18px 88px;font-size:19px;line-height:1.45}.notes:before,.srcs:before{display:block;font-family:var(--deck-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;opacity:.7}.notes:before{content:"Komentarz · N"}.srcs:before{content:"Źródła · Z"}.srcs ul{margin:0;padding-left:1.1em}.srcs li+li{margin-top:.35em}.deck.notes-on .notes p+p{margin-top:.5em}.deck.notes-on #nav,.deck.srcs-on #nav{bottom:50%}#nav{position:fixed;inset:0;display:grid;grid-template-columns:1fr 2fr 1fr;overflow:hidden}#nav button{background:transparent;border:0;cursor:pointer;opacity:0;font-size:0;outline:none}#nav button:focus,#nav button:focus-visible{outline:none}#nav button:focus-visible{opacity:1;box-shadow:inset 4px 0 0 var(--deck-empire)}#nav button:last-of-type:focus-visible{box-shadow:inset -4px 0 0 var(--deck-empire)}#nav .mid{pointer-events:none}.status-retry{margin-top:28px;font:16px var(--deck-mono);letter-spacing:.04em;color:var(--deck-ink);background:var(--deck-paper);border:1px solid var(--deck-rule);min-height:44px;padding:8px 16px;cursor:pointer}.status-retry:focus-visible{outline:3px solid var(--deck-empire)}@media(max-width:900px)and (orientation:portrait){.deck{overflow:auto;font-size:17px}#stage{position:static;width:auto;height:auto;transform:none!important;padding:0 16px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.slide{position:static;display:grid!important;padding:28px 0;border-bottom:1px solid var(--deck-rule);gap:16px}.slide>header h2{font-size:30px}.slide.sec h2{font-size:36px}.slide.sec p{font-size:18px}.slide.title h1{font-size:40px}.slide.title .sub{font-size:20px}.slide.title footer{flex-direction:column;align-items:start;gap:6px;font-size:15px}.cols,.cols.w{grid-template-columns:1fr;gap:16px}.people{grid-template-columns:1fr}.tl,.tl.compact{font-size:16px}table{font-size:15px}.quote{font-size:22px}.note,.p{font-size:16px}.p b{font-size:20px}.theses>div{grid-template-columns:36px 1fr}.theses>div:before{font-size:30px}.notes,.srcs{display:block;margin-top:10px;padding:12px 14px;background:var(--deck-paper-2);font-size:15px;color:var(--deck-ink-2);border-left:3px solid var(--deck-khaki);position:static;max-height:none}.notes p+p{margin-top:.5em}.notes.is-empty,.srcs.is-empty{display:none}.slide.title :is(.notes,.srcs),.slide.sec :is(.notes,.srcs){background:var(--deck-paper)}.slide{overflow:visible}#bar,#meta,#sect,#nav,.sp-close,.tools,.tools-show{display:none}}@media print{.deck{overflow:visible;background:#fff;color:#000}.deck,.slide,.slide *{color:#000}.deck,.slide{background:#fff}#stage{position:static;width:auto;height:auto;transform:none!important}.slide{position:static;display:grid!important;page-break-after:always;break-after:page;height:100vh;overflow:visible}#bar,#meta,#sect,#nav,.notes,.srcs,.sp-close,.tools,.tools-show{display:none!important}}@media(prefers-reduced-motion:reduce){#bar i,.tools-show{transition:none}}.tools{position:fixed;z-index:6;top:0;left:0;right:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;min-height:56px;padding:8px 16px;background:var(--deck-paper-2);border-bottom:1px solid var(--deck-rule)}.tools-group{display:flex;align-items:center;gap:8px}.tools-end{margin-left:auto}.tools-pos{font:14px/1 var(--deck-mono);letter-spacing:.04em;color:var(--deck-ink-2);font-variant-numeric:tabular-nums;min-width:7ch}.tools button,.tools-show{font:14px/1 var(--deck-mono);letter-spacing:.04em;color:var(--deck-ink);background:var(--deck-paper);border:1px solid var(--deck-ink-2);border-radius:0;min-height:40px;padding:0 16px;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.tools kbd,.tools-show kbd{font:inherit;color:var(--deck-empire)}.tools button:hover{border-color:var(--deck-empire)}.tools button:focus-visible,.tools-show:focus-visible,.sp-close:focus-visible{outline:3px solid var(--deck-empire);outline-offset:2px}.tools button[aria-pressed=true]{background:var(--deck-ink);border-color:var(--deck-ink);color:var(--deck-paper)}.tools button[aria-pressed=true] kbd{color:inherit}.tools button:disabled{opacity:.4;cursor:default}.tool-s.unavailable{visibility:hidden}.tools-show{position:fixed;z-index:6;top:8px;left:50%;transform:translate(-50%);min-height:32px;padding:0 8px;background:var(--deck-paper-2);border:1px solid var(--deck-rule);opacity:.55;transition:opacity .15s}.tools-show:hover,.tools-show:focus,.tools-show:focus-visible{opacity:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.deck.notes-on .notes.is-empty:after{content:"Brak komentarza do tego slajdu.";opacity:.7}.deck.srcs-on .srcs.is-empty:after{content:"Brak źródeł do tego slajdu.";opacity:.7}@media(max-height:480px){.tools{flex-wrap:nowrap;overflow-x:auto;min-height:40px;padding:4px 16px}.tools-group{flex-wrap:nowrap}.tools button{min-height:32px;padding:0 8px;white-space:nowrap}}',kt=/^[a-z][a-z0-9-]*$/;function gt(e){return`${e.special?'':""}${e.body_html}`}function bt(e,t={}){const n=["slide"];for(const i of e.split(/\s+/))kt.test(i)&&n.push(i);return t.special&&n.push("special"),t.on&&n.push("on"),n.join(" ")}const xt=["@import","expression(","url(","javascript:","vbscript:","data:","http:","https:","ftp:","file:"],vt=new Set(["@font-face","@page","@counter-style","@font-palette-values","@property","@color-profile","@font-feature-values"]);function Ie(e){return e===" "||e===" "||e===` +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/opsz-DD7j1RRT.css","assets/opsz-italic-l9KtpeZ8.css","assets/index-BxuLaZe9.js","assets/index-ChPbaY-q.css","assets/summer-DcZGwnDj.css"])))=>i.map(i=>d[i]); +/* empty css */import{aC as P,d as at,T as R,o as lt,Y as se,ay as ct,c as v,s as dt,aE as pt,ax as $e,f as z,F as _e,b as h,t as V,p as N,E as Ae,H as ut,$ as ft,r as j,x as O,n as x,e as mt}from"./index-BxuLaZe9.js";const ht=':host{color-scheme:light dark;--deck-paper: #e9ebe3;--deck-paper-2: #dfe2d8;--deck-ink: #16201f;--deck-ink-2: #4b5551;--deck-rule: #b9beb3;--deck-empire: #b5302c;--deck-khaki: #7f7047;--deck-display: "Libre Caslon Display", "Times New Roman", Georgia, serif;--deck-body: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--deck-mono: "Courier Prime", "Courier New", Courier, monospace}@media(prefers-color-scheme:dark){:host:not([data-theme=light]){--deck-paper: #141a18;--deck-paper-2: #1c2421;--deck-ink: #e4e4da;--deck-ink-2: #a7ada4;--deck-rule: #3a443f;--deck-empire: #e0675f;--deck-khaki: #c2ad72;color-scheme:dark}}:host[data-theme=dark]{--deck-paper: #141a18;--deck-paper-2: #1c2421;--deck-ink: #e4e4da;--deck-ink-2: #a7ada4;--deck-rule: #3a443f;--deck-empire: #e0675f;--deck-khaki: #c2ad72;color-scheme:dark}*{box-sizing:border-box}:host,.deck{height:100%;margin:0}.deck{position:relative;background:var(--deck-paper);color:var(--deck-ink);font-family:var(--deck-body);font-size:24px;line-height:1.4;overflow:hidden}h1,h2,h3{font-family:var(--deck-display);font-weight:400;margin:0;text-wrap:balance;line-height:1.08}p{margin:0}ul{margin:0;padding-left:1.1em}li{margin-block:.25em}li::marker{color:var(--deck-empire)}em{font-style:italic}strong{font-weight:600}a{color:inherit}.k{font-family:var(--deck-mono);font-size:.72em;letter-spacing:.08em;text-transform:uppercase;color:var(--deck-khaki)}.red{color:var(--deck-empire)}.muted{color:var(--deck-ink-2)}.small{font-size:.78em;line-height:1.35}.bib{font-size:17px;line-height:1.3;gap:36px}.bib li{margin-block:.2em}.bib .k{font-size:13px;margin-bottom:6px}#stage{position:absolute;left:50%;top:50%;width:1280px;height:720px;transform-origin:0 0}.slide{position:absolute;inset:0;display:none;padding:64px 88px 72px;background:var(--deck-paper);grid-template-rows:auto 1fr;gap:28px;overflow:hidden}[hidden]{display:none!important}.slide.on{display:grid}.slide.special{border-top:6px solid var(--deck-khaki)}.sp-close{position:absolute;top:18px;right:22px;width:44px;height:44px;border:1px solid var(--deck-rule);background:transparent;color:var(--deck-ink-2);font-size:28px;line-height:1;cursor:pointer}.sp-link{border-bottom:2px dotted var(--deck-empire);cursor:pointer}.slide>header{display:grid;gap:10px}.slide>header h2{font-size:50px}.slide .body{min-height:0;display:grid;gap:22px;align-content:start}.cols{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}.cols>*{min-width:0}.cols.w{grid-template-columns:1.3fr 1fr}.rule-top{border-top:1px solid var(--deck-rule);padding-top:16px}.note{font-size:20px;color:var(--deck-ink-2);border-left:3px solid var(--deck-empire);padding-left:14px}.quote{font-family:var(--deck-display);font-size:34px;line-height:1.25}.quote+.k{margin-top:6px}.slide.sec{grid-template-rows:1fr;align-content:center;background:var(--deck-paper-2)}.slide.sec .k{font-size:20px}.slide.sec h2{font-size:72px;max-width:18ch;margin-top:12px}.slide.sec p{font-size:26px;color:var(--deck-ink-2);max-width:44ch;margin-top:22px}.slide.title{grid-template-rows:1fr auto;background:var(--deck-paper-2)}.slide.title h1{font-size:86px;max-width:14ch}.slide.title .sub{font-size:30px;color:var(--deck-ink-2);margin-top:20px;font-family:var(--deck-display)}.slide.title footer{display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--deck-rule);padding-top:18px;font-size:20px}.tl{display:grid;grid-template-columns:max-content 1fr;column-gap:26px;row-gap:8px;font-size:22px;align-content:start}.tl .y{font-family:var(--deck-mono);color:var(--deck-empire);font-variant-numeric:tabular-nums}.tl.compact{font-size:20px;row-gap:6px}table{border-collapse:collapse;width:100%;font-size:21px}th,td{text-align:left;vertical-align:top;padding:8px 12px 8px 0;border-bottom:1px solid var(--deck-rule)}th{font-family:var(--deck-mono);font-weight:400;font-size:16px;letter-spacing:.08em;text-transform:uppercase;color:var(--deck-khaki)}.people{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.p{border-top:2px solid var(--deck-empire);padding-top:10px;font-size:20px;line-height:1.35;min-width:0}.p b{display:block;font-family:var(--deck-display);font-weight:400;font-size:26px;margin-bottom:4px}.theses{display:grid;gap:18px;counter-reset:t}.theses>div{display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:start}.theses>div:before{counter-increment:t;content:counter(t);font-family:var(--deck-display);font-size:48px;line-height:1;color:var(--deck-empire)}.theses b{font-weight:600}.body.v2{grid-template-rows:1fr;align-content:stretch;gap:20px}.body.v2>:first-child{align-self:start}.body.v2>.people+.cols{align-self:start}.pts{font-size:28px;line-height:1.3}.pts li{margin-block:.4em}.tl.big{font-size:26px;row-gap:10px}table.big{font-size:24px}.sum{font-family:var(--deck-display);font-size:30px;line-height:1.25;border-top:2px solid var(--deck-empire);padding-top:14px;align-self:end;text-wrap:balance}.body.v2 .p{font-size:22px}.body.v2 .theses{font-size:30px;gap:26px}.body.v2 .theses>div{align-items:center}.notes .full{opacity:.9}@media(max-width:900px)and (orientation:portrait){.pts{font-size:17px}.tl.big{font-size:16px}table.big{font-size:15px}.sum{font-size:20px}.body.v2 .p{font-size:16px}}#bar{position:fixed;left:0;right:0;bottom:0;height:4px;background:var(--deck-rule)}#bar i{display:block;height:100%;width:0;background:var(--deck-empire);transition:width .25s}#meta{position:fixed;right:20px;bottom:12px;font-family:var(--deck-mono);font-size:14px;color:var(--deck-ink-2);letter-spacing:.06em}#meta b{font-weight:400;color:var(--deck-ink)}#sect{position:fixed;left:20px;bottom:12px;font-family:var(--deck-mono);font-size:14px;color:var(--deck-ink-2);letter-spacing:.08em;text-transform:uppercase}.notes,.srcs{display:none}.deck.notes-on .notes,.deck.srcs-on .srcs{display:block;position:absolute;left:0;right:0;bottom:0;max-height:46%;overflow:auto;background:var(--deck-ink);color:var(--deck-paper);padding:18px 88px;font-size:19px;line-height:1.45}.notes:before,.srcs:before{display:block;font-family:var(--deck-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;opacity:.7}.notes:before{content:"Komentarz · N"}.srcs:before{content:"Źródła · Z"}.srcs ul{margin:0;padding-left:1.1em}.srcs li+li{margin-top:.35em}.deck.notes-on .notes p+p{margin-top:.5em}.deck.notes-on #nav,.deck.srcs-on #nav{bottom:50%}#nav{position:fixed;inset:0;display:grid;grid-template-columns:1fr 2fr 1fr;overflow:hidden}#nav button{background:transparent;border:0;cursor:pointer;opacity:0;font-size:0;outline:none}#nav button:focus,#nav button:focus-visible{outline:none}#nav button:focus-visible{opacity:1;box-shadow:inset 4px 0 0 var(--deck-empire)}#nav button:last-of-type:focus-visible{box-shadow:inset -4px 0 0 var(--deck-empire)}#nav .mid{pointer-events:none}.status-retry{margin-top:28px;font:16px var(--deck-mono);letter-spacing:.04em;color:var(--deck-ink);background:var(--deck-paper);border:1px solid var(--deck-rule);min-height:44px;padding:8px 16px;cursor:pointer}.status-retry:focus-visible{outline:3px solid var(--deck-empire)}@media(max-width:900px)and (orientation:portrait){.deck{overflow:auto;font-size:17px}#stage{position:static;width:auto;height:auto;transform:none!important;padding:0 16px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.slide{position:static;display:grid!important;padding:28px 0;border-bottom:1px solid var(--deck-rule);gap:16px}.slide>header h2{font-size:30px}.slide.sec h2{font-size:36px}.slide.sec p{font-size:18px}.slide.title h1{font-size:40px}.slide.title .sub{font-size:20px}.slide.title footer{flex-direction:column;align-items:start;gap:6px;font-size:15px}.cols,.cols.w{grid-template-columns:1fr;gap:16px}.people{grid-template-columns:1fr}.tl,.tl.compact{font-size:16px}table{font-size:15px}.quote{font-size:22px}.note,.p{font-size:16px}.p b{font-size:20px}.theses>div{grid-template-columns:36px 1fr}.theses>div:before{font-size:30px}.notes,.srcs{display:block;margin-top:10px;padding:12px 14px;background:var(--deck-paper-2);font-size:15px;color:var(--deck-ink-2);border-left:3px solid var(--deck-khaki);position:static;max-height:none}.notes p+p{margin-top:.5em}.notes.is-empty,.srcs.is-empty{display:none}.slide.title :is(.notes,.srcs),.slide.sec :is(.notes,.srcs){background:var(--deck-paper)}.slide{overflow:visible}#bar,#meta,#sect,#nav,.sp-close,.tools,.tools-show{display:none}}@media print{.deck{overflow:visible;background:#fff;color:#000}.deck,.slide,.slide *{color:#000}.deck,.slide{background:#fff}#stage{position:static;width:auto;height:auto;transform:none!important}.slide{position:static;display:grid!important;page-break-after:always;break-after:page;height:100vh;overflow:visible}#bar,#meta,#sect,#nav,.notes,.srcs,.sp-close,.tools,.tools-show{display:none!important}}@media(prefers-reduced-motion:reduce){#bar i,.tools-show{transition:none}}.tools{position:fixed;z-index:6;top:0;left:0;right:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;min-height:56px;padding:8px 16px;background:var(--deck-paper-2);border-bottom:1px solid var(--deck-rule)}.tools-group{display:flex;align-items:center;gap:8px}.tools-end{margin-left:auto}.tools-pos{font:14px/1 var(--deck-mono);letter-spacing:.04em;color:var(--deck-ink-2);font-variant-numeric:tabular-nums;min-width:7ch}.tools button,.tools-show{font:14px/1 var(--deck-mono);letter-spacing:.04em;color:var(--deck-ink);background:var(--deck-paper);border:1px solid var(--deck-ink-2);border-radius:0;min-height:40px;padding:0 16px;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.tools kbd,.tools-show kbd{font:inherit;color:var(--deck-empire)}.tools button:hover{border-color:var(--deck-empire)}.tools button:focus-visible,.tools-show:focus-visible,.sp-close:focus-visible{outline:3px solid var(--deck-empire);outline-offset:2px}.tools button[aria-pressed=true]{background:var(--deck-ink);border-color:var(--deck-ink);color:var(--deck-paper)}.tools button[aria-pressed=true] kbd{color:inherit}.tools button:disabled{opacity:.4;cursor:default}.tool-s.unavailable{visibility:hidden}.tools-show{position:fixed;z-index:6;top:8px;left:50%;transform:translate(-50%);min-height:32px;padding:0 8px;background:var(--deck-paper-2);border:1px solid var(--deck-rule);opacity:.55;transition:opacity .15s}.tools-show:hover,.tools-show:focus,.tools-show:focus-visible{opacity:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.deck.notes-on .notes.is-empty:after{content:"Brak komentarza do tego slajdu.";opacity:.7}.deck.srcs-on .srcs.is-empty:after{content:"Brak źródeł do tego slajdu.";opacity:.7}@media(max-height:480px){.tools{flex-wrap:nowrap;overflow-x:auto;min-height:40px;padding:4px 16px}.tools-group{flex-wrap:nowrap}.tools button{min-height:32px;padding:0 8px;white-space:nowrap}}',kt=/^[a-z][a-z0-9-]*$/;function gt(e){return`${e.special?'':""}${e.body_html}`}function bt(e,t={}){const n=["slide"];for(const i of e.split(/\s+/))kt.test(i)&&n.push(i);return t.special&&n.push("special"),t.on&&n.push("on"),n.join(" ")}const xt=["@import","expression(","url(","javascript:","vbscript:","data:","http:","https:","ftp:","file:"],vt=new Set(["@font-face","@page","@counter-style","@font-palette-values","@property","@color-profile","@font-feature-values"]);function Ie(e){return e===" "||e===" "||e===` `||e==="\r"||e==="\f"}function yt(e){return e?e>="0"&&e<="9"||e>="a"&&e<="f"||e>="A"&&e<="F":!1}function ae(e){return e?e>="A"&&e<="Z"||e>="a"&&e<="z"||e>="0"&&e<="9"||e==="_"||e==="-"||e.charCodeAt(0)>=128:!1}function B(e,t){return e[t]==="/"&&e[t+1]==="*"}function q(e,t){for(t+=2;t+1e.length)break;n=i;continue}t+=e[n],n++}return t}function wt(e){let t="";for(let n=0;n=e.length)break;const s=e[n+1];if(s===` `){n++;continue}if(s==="\r"){n++,e[n+1]===` `&&n++;continue}let l=n+1,c=0;for(;l0){t+=String.fromCodePoint(Number.parseInt(e.slice(n+1,l),16)),Ie(e[l])&&(e[l]==="\r"&&e[l+1]===` -`?l+=2:l++),n=l-1;continue}t+=s,n++}return t}function fe(e){const t=wt(de(e)).toLowerCase();let n="";for(const i of t)i<=" "||i.charCodeAt(0)<32||(n+=i);return n}function X(e){const t=fe(e);if(!t)return!1;for(const n of xt)if(t.includes(n))return!0;return t.includes("//")}function Me(e){let t="",n=0,i=0;for(;ie.length)return!0;i=l;continue}const s=e[i];if(t){if(s==="\\"&&i+1="a"&&t[n]<="z"||t[n]>="0"&&t[n]<="9");)n++;return t.slice(0,n)}function me(e){return vt.has(W(e))}function St(e,t){const n=t;let i="",s=1;for(;te.length)return null;continue}const l=e[t];if(i){if(l==="\\"&&t+1e.length)return null;continue}const l=e[t];if(i){if(l==="\\"&&t+10){s--,t++;continue}if(s===0&&l==="{"){const c=St(e,t+1);return c?{item:{prelude:e.slice(n,t),block:c.block,braced:!0},next:c.end}:null}if(s===0&&l===";")return{item:{prelude:e.slice(n,t),block:"",braced:!1},next:t+1};t++}return null}function Y(e){const t=[];let n=0;for(;n=e.length)break;const i=zt(e,n);if(!i)break;t.push(i.item),n=i.next}return t}function Re(e){const t=[];let n="",i="",s=0,l=0;for(;le.length){n+=e.slice(l);break}n+=e.slice(l,g),l=g;continue}const c=e[l];if(i){if(n+=c,c==="\\"&&l+10){s--,n+=c,l++;continue}if(c===";"&&s===0){t.push(n),n="",l++;continue}n+=c,l++}return n&&t.push(n),t}function Pe(e){const t=[];for(const n of Re(e)){const i=n.trim();i&&(Me(n)||X(n)||t.push(i))}return t.length===0?"":`${t.join("; ")};`}function Et(e){const t=e.prelude.trim();if(!t&&!e.braced||X(t)||W(t)==="@import")return"";if(!e.braced)return X(e.prelude)?"":`${t};`;if(Me(e.block)&&X(e.block))return"";let n="";return me(t)?n=Pe(e.block):W(t).startsWith("@")?n=Ke(e.block):n=Pe(e.block),n.trim()?`${t} { ${n.trim()} }`:""}function Ke(e){const t=[];for(const n of Y(e)){const i=Et(n);i&&t.push(i)}return t.join(` -`)}function Ne(e,t){const n=e[t];let i=n;for(t++;te.length){t+=e.slice(n);break}t+=e.slice(n,s),n=s;continue}const i=e[n];if(i==='"'||i==="'"){const s=Ne(e,n);t+=s.text,n=s.next;continue}if(i==="["){const s=Ct(e,n);t+=s.text,n=s.next;continue}if(e.slice(n,n+5).toLowerCase()===":root"&&!ae(e[n+5])){t+=":host",n+=5;continue}if(e.slice(n,n+4).toLowerCase()==="body"&&!ae(e[n+4])){const s=n===0?"":e[n-1];if(!ae(s)&&s!=="."&&s!=="#"&&s!==":"&&s!=="@"){t+=".deck",n+=4;continue}}t+=i,n++}return t}function Tt(e){const t=e.prelude.trim();if(!e.braced)return t?`${t};`:"";const n=W(t);let i=t,s=e.block;return n.startsWith("@")?me(t)||(s=Oe(e.block)):i=Lt(t),`${i} { ${s.trim()} }`}function Oe(e){const t=[];for(const n of Y(e)){const i=Tt(n);i&&t.push(i)}return t.join(` -`)}function _t(e){const t=fe(e);if(!t.startsWith("@media"))return null;const n=t.includes("prefers-color-scheme:dark"),i=t.includes("prefers-color-scheme:light");return n&&!i?"dark":i&&!n?"light":null}function pe(e,t){const n=[];for(const i of Y(e)){const s=i.prelude.trim(),l=_t(s);if(l){if(l===t&&i.braced){const g=pe(i.block,t).trim();g&&n.push(g)}continue}if(!i.braced){s&&n.push(`${s};`);continue}if(W(s).startsWith("@")&&!me(s)){const g=pe(i.block,t).trim();g&&n.push(`${s} { ${g} }`);continue}n.push(`${s} { ${i.block.trim()} }`)}return n.join(` -`)}function Z(e,t){return!e.trim()||t==="auto"?e.trim():pe(e,t).trim()}const ue=["paper","paper-2","ink","ink-2","rule","empire","khaki"],Q={paper:"#141a18","paper-2":"#1c2421",ink:"#e4e4da","ink-2":"#a7ada4",rule:"#3a443f",empire:"#e0675f",khaki:"#c2ad72"},Be={paper:"#e9ebe3","paper-2":"#dfe2d8",ink:"#16201f","ink-2":"#4b5551",rule:"#b9beb3",empire:"#b5302c",khaki:"#7f7047"};function qe(e){return e==="light"?Be:Q}function Fe(e,t=qe(e)){const n=t;return[":host {",`--paper: ${n.paper}; --paper-2: ${n["paper-2"]}; --ink: ${n.ink}; --ink-2: ${n["ink-2"]};`,`--rule: ${n.rule}; --empire: ${n.empire}; --khaki: ${n.khaki};`,`--deck-paper: ${n.paper}; --deck-paper-2: ${n["paper-2"]}; --deck-ink: ${n.ink}; --deck-ink-2: ${n["ink-2"]};`,`--deck-rule: ${n.rule}; --deck-empire: ${n.empire}; --deck-khaki: ${n.khaki};`,`color-scheme: ${e};`,"}",".deck { background: var(--paper); color: var(--ink); }","#nav button:focus, #nav button:focus-visible { outline: none; }","#nav button:focus-visible { box-shadow: inset 4px 0 0 var(--empire, var(--deck-empire)); }","#nav button:last-of-type:focus-visible { box-shadow: inset -4px 0 0 var(--empire, var(--deck-empire)); }"].join(" ")}function Ue(e=Q){return Fe("dark",e)}Ue();function $t(e=Q){const t={};for(const n of ue)t[`--${n}`]=e[n];for(const n of ue)t[`--deck-${n}`]=e[n];return t}const At=/^[#a-z0-9(),.%\s/-]+$/i;function Pt(e){return ue.includes(e)}function Ve(e,t){const n={...qe(t)};for(const i of Y(Z(e,t)))if(!(!i.braced||de(i.prelude).trim()!==":host"))for(const s of Re(i.block)){const l=de(s),c=l.indexOf(":");if(c<0)continue;const g=l.slice(0,c).trim(),T=l.slice(c+1).trim();if(!g.startsWith("--deck-"))continue;const E=g.slice(7);Pt(E)&&At.test(T)&&(n[E]=T)}return n}function Dt(e){return Ve(e,"dark")}function jt(e){if(!e.trim())return"";const t=Ke(e).trim();return t?Oe(t).trim():""}const Ht=':host{--deck-paper: #e5eef0;--deck-paper-2: #d0e1e3;--deck-ink: #12303a;--deck-ink-2: #48646c;--deck-rule: #a8c1c5;--deck-empire: #b84e12;--deck-khaki: #17705f;--deck-contour: rgba(18, 48, 58, .13);--deck-display: "Fraunces Variable", "Fraunces", Georgia, "Times New Roman", serif;--deck-mono: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace}@media(prefers-color-scheme:dark){:host{--deck-paper: #0d2b2a;--deck-paper-2: #092120;--deck-ink: #e2eeec;--deck-ink-2: #9bb8b4;--deck-rule: #2a4d4a;--deck-empire: #f09a5a;--deck-khaki: #7fd1bd;--deck-contour: rgba(226, 238, 236, .1)}}.slide{isolation:isolate}.slide h1,.slide h2{font-weight:500;letter-spacing:-.012em}.slide.title>div>.sub{font-style:italic}.slide.sec>div>.k{color:var(--deck-khaki)}.slide .tl{column-gap:0;row-gap:0}.slide .tl .y{position:relative;padding:8px 30px 8px 0;text-align:right;color:var(--deck-ink);border-right:2px solid var(--deck-empire)}.slide .tl .y:after{content:"";position:absolute;right:-8px;top:50%;width:10px;height:10px;margin-top:-7px;border-radius:50%;background:var(--deck-paper);border:2px solid var(--deck-empire)}.slide .tl>span:not(.y){padding:8px 0 8px 28px}.slide .sum{border-top:0;background:var(--deck-paper-2);padding:16px 22px}.slide .quote{font-style:italic}@media not all and (max-width:900px)and (orientation:portrait){.slide:before{content:"";position:absolute;z-index:-1;right:-200px;top:-200px;width:560px;height:560px;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 22px,var(--deck-contour) 22px 23.5px)}.slide:is(.sec,.title):before{right:-160px;top:auto;bottom:-320px;width:960px;height:960px}.slide>header h2{font-size:52px}.slide.sec{align-items:center}.slide.title>div>h1{margin-top:22px}.slide .sum{font-size:28px}.slide .quote{font-size:38px}}@media print{.slide:before{content:none}.slide .sum{background:none}.slide .tl .y{border-right-color:#000}.slide .tl .y:after{background:#fff;border-color:#000}}',It=':host{--deck-paper: #f8f8f5;--deck-paper-2: #efeee8;--deck-ink: #1b1d22;--deck-ink-2: #5b5f69;--deck-rule: #d3d2ca;--deck-empire: #7a1f2b;--deck-khaki: #5b5f69;--deck-display: "Source Serif 4 Variable", "Source Serif 4", Georgia, "Times New Roman", serif;--deck-mono: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace}@media(prefers-color-scheme:dark){:host{--deck-paper: #17181d;--deck-paper-2: #1e2027;--deck-ink: #ebe9e1;--deck-ink-2: #a4a7af;--deck-rule: #363944;--deck-empire: #e39aa3;--deck-khaki: #a4a7af}}.slide h1,.slide h2{font-weight:600;letter-spacing:-.015em}.slide .k{font-family:var(--deck-body);font-weight:500;letter-spacing:.16em}.slide>header{padding-bottom:22px;border-bottom:1px solid var(--deck-rule)}.slide.title>div>.sub{font-style:italic}.slide.sec>div>h2{font-style:italic;font-weight:400}.slide.sec>div>p:not(.k){font-family:var(--deck-display)}.slide li::marker{content:"– "}.slide :is(.notes,.srcs,.speak) li::marker{content:normal}.slide .tl .y{font-family:var(--deck-display);font-style:italic}.slide .sum{font-style:italic;border-top:0;border-left:2px solid var(--deck-empire);padding:2px 0 2px 22px}.slide .quote{font-style:italic}@media not all and (max-width:900px)and (orientation:portrait){.slide{padding:72px 120px 80px}.slide .k{font-size:.64em}.slide .bib .k{font-size:13px}.slide>header{gap:12px}.slide>header h2{font-size:48px}.slide.title,.slide.sec{text-align:center;justify-items:center}.slide.sec{align-items:center}.slide :is(.notes,.srcs,.speak){text-align:left}.slide.title>div{align-self:center}.slide.title>div>h1{max-width:16ch;font-size:84px;margin-top:22px;margin-inline:auto}.slide.title>footer{width:100%;justify-content:center;gap:48px}.slide.sec>div>h2{font-size:88px;max-width:none;margin-top:0}.slide.sec>div>.k:after{content:"";display:block;width:64px;height:2px;background:var(--deck-empire);margin:20px auto 26px}.slide.sec>div>p:not(.k){margin-inline:auto}.slide .tl .y{font-size:1.06em}.slide .quote{font-size:40px}}',Mt=':host{--deck-paper: #f6f7fa;--deck-paper-2: #eceff4;--deck-ink: #1d2940;--deck-ink-2: #4c586d;--deck-rule: #c9d0dc;--deck-empire: #9a6200;--deck-khaki: #7c5100;--deck-card: #ffffff;--deck-line: rgba(29, 41, 64, .12);--deck-pill: rgba(154, 98, 0, .08);--deck-pill-line: rgba(154, 98, 0, .35);--deck-ray: rgba(29, 41, 64, .05);--deck-glow: rgba(245, 197, 90, .4);--deck-shadow: 0 24px 60px -30px rgba(29, 41, 64, .35);--deck-display: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;--deck-body: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;--deck-mono: "Roboto Mono", ui-monospace, Menlo, Consolas, monospace}@media(prefers-color-scheme:dark){:host{--deck-paper: #233148;--deck-paper-2: #1d2940;--deck-ink: #e9edf3;--deck-ink-2: #b3bccb;--deck-rule: #3e4a5f;--deck-empire: #f5c55a;--deck-khaki: #fbd77e;--deck-card: #29344a;--deck-line: rgba(255, 255, 255, .1);--deck-pill: rgba(245, 197, 90, .08);--deck-pill-line: rgba(245, 197, 90, .35);--deck-ray: rgba(255, 255, 255, .035);--deck-glow: rgba(245, 197, 90, .16);--deck-shadow: 0 40px 100px -40px rgba(0, 0, 0, .6)}}.slide{isolation:isolate}.slide h1,.slide h2{font-weight:700;letter-spacing:-.02em}.slide h3,.slide strong,.slide b{font-weight:600}.slide .k{font-weight:500;letter-spacing:.06em}.slide>header>.k,.slide:is(.sec,.title)>div:not(.notes,.srcs,.speak)>.k{font-family:var(--deck-body);letter-spacing:.16em;color:var(--deck-empire)}.slide.title>div:not(.notes,.srcs,.speak)>.sub{font-family:var(--deck-body);font-weight:300}.slide.title>footer .k{color:var(--deck-khaki)}.slide.sec>div:not(.notes,.srcs,.speak)>p:not(.k){font-weight:300}.slide .tl .y{justify-self:stretch;align-self:baseline;text-align:center;white-space:nowrap;line-height:1.3;font-family:var(--deck-body);font-variant-numeric:tabular-nums;font-weight:500;color:var(--deck-empire);background:var(--deck-pill);border:1px solid var(--deck-pill-line);border-radius:999px;padding:0 .6em}.slide .tl>span:not(.y){align-self:baseline}.slide .sum{font-family:var(--deck-body);font-weight:500;border-top:0;background:var(--deck-card);border:1px solid var(--deck-line);border-radius:16px;padding:14px 24px}.slide .p{border-top:0;background:var(--deck-card);border:1px solid var(--deck-line);border-radius:16px;padding:18px 24px}.slide .p b{font-family:var(--deck-display);font-weight:700;letter-spacing:-.01em;line-height:1.15}.slide .note{border-left-color:var(--deck-empire)}.slide .theses>div:before{font-weight:700;color:var(--deck-empire)}.slide th{font-weight:500}.slide figure img{border-radius:12px;box-shadow:var(--deck-shadow)}.slide figcaption{margin-top:8px}.slide .quote{font-weight:300}@media not all and (max-width:900px)and (orientation:portrait){.slide:is(.sec,.title):before{content:"";position:absolute;z-index:-1;inset:-40% -20%;background:radial-gradient(circle at 80% 50%,var(--deck-glow),transparent 30%),repeating-conic-gradient(from 0deg at 80% 50%,var(--deck-ray) 0deg 7deg,transparent 7deg 15deg);-webkit-mask-image:radial-gradient(circle at 80% 50%,#000 12%,transparent 58%);mask-image:radial-gradient(circle at 80% 50%,#000 12%,transparent 58%)}.slide.title:after{content:"";position:absolute;z-index:-1;left:80%;top:44%;width:168px;height:168px;margin:-84px 0 0 -84px;border-radius:50%;background:radial-gradient(circle at 50% 35%,#fde9b4,#f5c55a 62%,#e9a93a);box-shadow:0 0 0 18px #f5c55a1a,0 0 120px 20px #f5c55a4d}.slide>header{gap:12px}.slide>header .k{font-size:17px}.slide>header h2{font-size:50px;line-height:1.1}.slide.sec>div:not(.notes,.srcs,.speak)>.k{font-size:17px}.slide.sec>div:not(.notes,.srcs,.speak)>h2{font-size:76px;max-width:15ch;margin-top:16px;line-height:1.04}.slide.sec>div:not(.notes,.srcs,.speak)>p:not(.k){font-size:28px;max-width:34ch}.slide.title>div:not(.notes,.srcs,.speak){align-self:center}.slide.title>div:not(.notes,.srcs,.speak)>.k{font-size:17px}.slide.title>div:not(.notes,.srcs,.speak)>h1{font-size:104px;line-height:1;margin-top:18px;letter-spacing:-.03em}.slide.title>div:not(.notes,.srcs,.speak)>.sub{font-size:32px;max-width:32ch;line-height:1.3;margin-top:24px}.slide.title>footer{font-size:20px}.slide .tl{column-gap:22px}.slide .tl .y{font-size:.8em}.slide .sum{font-size:27px;line-height:1.3}.slide .quote{font-size:38px}}@media print{.slide:before,.slide:after{content:none}.slide .sum,.slide .p,.slide .tl .y{background:none;border-color:#000}.slide figure img{box-shadow:none}}',We="(max-width: 900px) and (orientation: portrait)";function Rt(e){return e(We).matches}function De(e,t,n){if(e==="reading")return t;for(const i of n)if(i.bottom>0)return i.id;return t}function Kt(e){return e.complete?Promise.resolve():new Promise(t=>{const n=()=>t();e.addEventListener("load",n,{once:!0}),e.addEventListener("error",n,{once:!0})})}async function je(e,t){t.scrollTo(e),await Promise.all(t.imagesBefore(e).map(Kt)),t.scrollTo(e)}function le(e,t,n){return{key:e,sheet:Z(t,"dark"),dark:Dt(t),lightSheet:Z(t,"light"),light:Ve(t,"light"),loadFonts:n}}const Nt=new Map([["atlas",le("atlas",Ht,()=>Promise.all([P(()=>Promise.resolve({}),__vite__mapDeps([0])),P(()=>Promise.resolve({}),__vite__mapDeps([1])),P(()=>import("./index-BJq7_SVs.js").then(e=>e.a3),__vite__mapDeps([2,3])),P(()=>import("./index-BJq7_SVs.js").then(e=>e.a4),__vite__mapDeps([2,3]))]))],["monografia",le("monografia",It,()=>Promise.all([P(()=>import("./index-BJq7_SVs.js").then(e=>e.a1),__vite__mapDeps([2,3])),P(()=>import("./index-BJq7_SVs.js").then(e=>e.a2),__vite__mapDeps([2,3])),P(()=>import("./index-BJq7_SVs.js").then(e=>e.a3),__vite__mapDeps([2,3])),P(()=>import("./index-BJq7_SVs.js").then(e=>e.a4),__vite__mapDeps([2,3]))]))],["summer",le("summer",Mt,()=>P(()=>Promise.resolve({}),__vite__mapDeps([4])))]]);function Ot(e){return typeof e!="string"||e===""?null:Nt.get(e)??null}function Bt(e,t,n,i="dark"){const s=i==="light";return[Z(e,i),t?s?t.lightSheet:t.sheet:"",...n,s?Fe("light",t?t.light:void 0):Ue(t?t.dark:void 0)].filter(l=>!!l)}function qt(e,t){return t==="light"?e?e.light:Be:e?e.dark:Q}const Ft=new Set(["ArrowUp","ArrowDown","PageUp","PageDown"," ","Home","End"]);function ce(e){const t=/^#(\d+)(s)?$/.exec(e);return t?{number:Number(t[1]),special:t[2]==="s"}:{number:null,special:!1}}function Ut(e){const t=e.slides,n=t.length,i=e.mode==="speaker";let s=0,l=!1,c=null,g=!1;function T(d){return n===0?0:Math.max(0,Math.min(n-1,d))}function E(d){const p=t.findIndex(m=>m.number===d);return p>=0?p:d>=1&&d<=n?d-1:0}function I(){const d=t[s];d&&e.history.replaceState(e.history.state,"","#"+d.number)}function C(){e.onChange?.()}function y(d){n!==0&&(s=T(d),l=!1,I(),e.onNavigate?.(s),C())}function f(d){l=!!t[s]?.hasSpecial&&d,C()}const D=ce(e.hash??"");D.number!=null&&n>0&&(s=E(D.number),l=D.special&&!!t[s]?.hasSpecial),n>0&&I();function F(){const d=t[s],p=d?.number??0,m=!!d?.hasSpecial,w=l&&m,L=w?`${p} S`:String(p),G=m&&!w?" · S":"",R=d?String(p):"";return{index:s,number:p,total:n,special:w,hasSpecial:m,on:R?[w?`${R}s`:R]:[],metaText:n===0?"":`${L} / ${n}${G}`,metaHTML:n===0?"":`${L} / ${n}${G}`,panel:c,hash:R?`#${p}`:"",toolbarHidden:g,progress:n===0?0:(s+1)/n*100}}function _(d){c=c===d?null:d,C()}function U(d){if(d.ctrlKey||d.metaKey||d.altKey||d.reading)return"ignored";const p=d.key;if(d.targetIsButton&&(p===" "||p==="Enter")||d.targetIsPanel&&Ft.has(p)||n===0)return"ignored";if(p==="ArrowRight"||p==="ArrowDown"||p==="PageDown"||p===" ")return y(s+1),"handled";if(p==="ArrowLeft"||p==="ArrowUp"||p==="PageUp")return l?f(!1):y(s-1),"handled";if(p==="Home")return y(0),"handled";if(p==="End")return y(n-1),"handled";if(p==="Escape")return l?(f(!1),"handled"):"ignored";const m=p.length===1?p.toLowerCase():"";return m==="n"?(_("notes"),"handled"):m==="z"?(_("srcs"),"handled"):m==="s"?(f(!l),"handled"):m==="h"?(g=!g,C(),"handled"):m==="f"?"fullscreen":i&&m==="p"?(_("say"),"handled"):i&&m==="t"?"pause":i&&m==="c"?"clock":i&&m==="r"?"reset":i&&m==="j"?"scheme":"ignored"}return{snapshot:F,applyKey:U,go:y,next:()=>y(s+1),previous:()=>{l?f(!1):y(s-1)},togglePanel:_,toggleSpecial:()=>f(!l),closeSpecial:()=>f(!1),openSpecial:()=>f(!0),toggleToolbar:()=>{g=!g,C()},onScroll:()=>{},swipe:(d,p)=>p||n===0||Math.abs(d)<=50?!1:(y(s+(d<0?1:-1)),!0),followHash:d=>{const p=ce(d);if(p.number==null||n===0)return;const m=E(p.number),w=p.special&&!!t[m]?.hasSpecial;m===s&&w===l||(s=m,l=w,C())},showId:d=>{const p=ce("#"+d);if(p.number==null||n===0)return;const m=E(p.number),w=p.special&&!!t[m]?.hasSpecial;m===s&&w===l||(s=m,l=w,I(),C())}}}function He(e,t){return e.applyKey(t)}const Vt=["data-theme","aria-busy"],Wt={key:0,class:"tools",role:"group","aria-label":"Sterowanie prezentacją"},Zt={class:"tools-group"},Gt={class:"tools-pos","aria-hidden":"true"},Xt=["aria-pressed"],Yt=["aria-pressed"],Qt=["aria-pressed"],Jt={class:"tools-group tools-end"},en=["aria-pressed"],tn={id:"stage"},nn={key:1,class:"slide sec on","aria-busy":"true"},on={key:2,class:"slide sec on"},rn={key:3,class:"slide sec on"},sn={key:4,class:"slide sec on"},an=["id","innerHTML"],ln={key:2,id:"bar"},cn=["innerHTML"],dn={key:4,id:"sect"},pn={key:5,id:"nav"},un={key:6,class:"sr-only","aria-live":"polite"},hn=at({__name:"DeckViewer",props:{phase:{},deck:{},error:{},mode:{},compose:{type:Function},labels:{},announce:{type:Function},extraCss:{},theme:{},images:{}},emits:["retry","position","navigate","clock","snapshot","scheme"],setup(e,{expose:t,emit:n}){const i=e,s=n,l=H(null),c=H(null),g=H(null),T=H(0),E=H(""),I=H(!1),C=H(!1),y=H(!0);let f=null,D=null,F=null,_=null,U=null,d=null,p=[],m="";const w=O(()=>Ot(i.theme)),L=O(()=>y.value?"dark":"light"),G=new Set(["ArrowUp","ArrowDown","PageUp","PageDown"," ","Home","End"]);function R(o){return{body_html:o.body_html,sources_html:o.sources_html,comment_html:"comment_html"in o?o.comment_html:"",say_html:"say_html"in o?o.say_html:"",notes_html:"notes_html"in o?o.notes_html:""}}function Ze(o,r){const a=R(o);return i.compose?i.compose(a,r):gt({body_html:a.body_html,comment_html:a.comment_html??"",sources_html:a.sources_html,special:r})}function $(){return Rt(o=>window.matchMedia(o))}K(()=>[i.phase,i.deck],()=>{if(m="",p=[],i.phase!=="ready"||!i.deck||i.deck.slides.length===0){f=null,T.value++;return}f=Ut({slides:i.deck.slides.map(o=>({number:o.number,hasSpecial:o.special!=null})),history:window.history,hash:window.location.hash,mode:i.mode==="speaker"?"speaker":"public",onChange:()=>{T.value++},onNavigate:o=>{s("navigate",o)}}),s("position",f.snapshot().index),T.value++},{immediate:!0});const b=O(()=>(T.value,f?.snapshot()??null)),he=O(()=>{const o=i.deck?.slides??[],r=new Set(b.value?.on??[]),a=[];for(const u of o){const k=String(u.number);if(a.push({id:k,slide:u,special:!1,on:r.has(k)}),u.special){const S=`${u.number}s`;a.push({id:S,slide:u.special,special:!0,on:r.has(S)})}}return a}),Ge=O(()=>{const o=b.value,r=i.deck?.slides.length??0;return!o||!r?"":`${o.index+1} / ${r}`}),Xe=O(()=>{const o=b.value,r=i.deck?.slides;if(!o||!r)return"";const a=r[o.index];return a?o.special&&a.special?a.special.section_label:a.section_label:""});function Ye(){const o=i.extraCss,r=Array.isArray(o)?o:o?[o]:[],a=[];for(const u of r){if(!u)continue;const k=Z(jt(u),L.value);k&&a.push(k)}return a}function J(o){const r=Bt(ht,w.value,Ye(),L.value);try{o.adoptedStyleSheets=r.map(a=>{const u=new CSSStyleSheet;return u.replaceSync(a),u})}catch{o.querySelectorAll("style[data-deck-style]").forEach(a=>a.remove());for(const a of r){const u=document.createElement("style");u.dataset.deckStyle="1",u.textContent=a,o.appendChild(u)}}}function ee(){const o=l.value;if(o){for(const[r,a]of Object.entries($t(qt(w.value,L.value))))o.style.setProperty(r,a);o.style.colorScheme=L.value,o.dataset.theme=L.value,document.documentElement.dataset.theme=L.value,document.documentElement.style.colorScheme=L.value}}function te(){i.mode==="speaker"&&(y.value=!y.value,ee(),c.value&&J(c.value),s("scheme",!y.value))}function A(){const o=c.value?.getElementById("stage"),r=l.value;if(!o||!r)return;const a=c.value?.getElementById("nav");if($()){o.style.transform="",a&&(a.style.top="");return}const u=c.value?.querySelector(".tools"),k=u instanceof HTMLElement?u.getBoundingClientRect().height:0,S=Math.max(0,window.innerHeight-k),j=Math.min(window.innerWidth/1280,S/720),st=k/2;o.style.transform=`translate(${-640*j}px, ${-360*j+st}px) scale(${j})`,a&&(a.style.top=`${k}px`)}function ne(){_?.disconnect();const o=c.value?.querySelector(".tools");o&&_?.observe(o)}function Qe(){const o=c.value;if(!o)return;const r=i.images;o.querySelectorAll("img[data-deck-image]").forEach(a=>{if(!(a instanceof HTMLImageElement))return;const u=a.getAttribute("data-deck-image")??"",k=u&&r?r[u]:void 0;if(!k){a.removeAttribute("src");return}a.getAttribute("src")!==k&&a.setAttribute("src",k)})}function ke(){const o=c.value,r=g.value;if(!o||!r)return;const a=f?.snapshot().panel??null;if(r.classList.toggle("speaker",i.mode==="speaker"),r.classList.toggle("notes-on",a==="notes"),r.classList.toggle("srcs-on",a==="srcs"),r.classList.toggle("speak-on",a==="say"),o.querySelectorAll("aside.notes, aside.srcs, aside.speak").forEach(k=>{const S=(k.textContent??"").replace(/\u00a0/g," ").trim()==="";k.classList.toggle("is-empty",S),k.removeAttribute("tabindex"),k.removeAttribute("role"),k.removeAttribute("aria-label")}),a){const k=a==="notes"?"notes":a==="srcs"?"srcs":"speak",S=a==="notes"?i.labels?.notes??"Komentarz":a==="srcs"?i.labels?.sources??"Źródła":i.labels?.say??"",j=o.querySelector(`.slide.on aside.${k}`);j&&(j.setAttribute("tabindex","0"),j.setAttribute("role","region"),j.setAttribute("aria-label",S))}const u=i.labels?.specialLink??"Slajd dodatkowy (S)";o.querySelectorAll(".sp-link").forEach(k=>{k.setAttribute("title",u)})}function ge(){return c.value?.activeElement??document.activeElement}function Je(){const r=ge()?.closest?.(".notes, .srcs, .speak");return r instanceof HTMLElement?r:null}function et(o,r){const u=o.clientHeight;r==="ArrowDown"?o.scrollTop+=40:r==="ArrowUp"?o.scrollTop-=40:r==="PageDown"||r===" "?o.scrollTop+=u:r==="PageUp"?o.scrollTop-=u:r==="Home"?o.scrollTop=0:r==="End"&&(o.scrollTop=o.scrollHeight)}function oe(){document.fullscreenEnabled&&(document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()?.catch(()=>{}))}function be(o){return o!=="pause"&&o!=="clock"&&o!=="reset"?!1:(s("clock",o),!0)}function xe(o){if(!f||i.phase!=="ready")return;const a=!!ge()?.closest("button"),u=Je(),k=He(f,{key:o.key,ctrlKey:o.ctrlKey,metaKey:o.metaKey,altKey:o.altKey,targetIsButton:a,targetIsPanel:!!u,reading:$()});if(k==="fullscreen"){o.preventDefault(),oe();return}if(k==="scheme"){o.preventDefault(),te();return}if(be(k)){o.preventDefault();return}if(k==="ignored"){if(a&&(o.key===" "||o.key==="Enter"))return;u&&G.has(o.key)&&!o.ctrlKey&&!o.metaKey&&!o.altKey&&!$()&&(o.preventDefault(),et(u,o.key));return}o.preventDefault()}function tt(o){if(!f||i.phase!=="ready"||i.mode!=="speaker"||o.toLowerCase()==="f")return"ignored";const r=He(f,{key:o,reading:$()});return r==="fullscreen"?"ignored":(be(r),r==="scheme"&&te(),r)}function nt(o){if(!f||i.phase!=="ready"||i.mode!=="speaker"||!i.deck||$())return!1;const r=i.deck.slides.findIndex(a=>a.number===o);return r<0?!1:(f.go(r),!0)}t({runKey:tt,goToNumber:nt});function ve(){f&&window.location.hash!==f.snapshot().hash&&f.followHash(window.location.hash)}function ye(){C.value=document.fullscreenElement!=null,A()}function ot(o){if(!(o instanceof MouseEvent)||!f||$())return;const r=o.target instanceof Element?o.target:null;if(o.detail>0){const u=r?.closest("#nav button");u instanceof HTMLElement&&u.blur()}if(r?.closest(".tools, .tools-show, #speaker-clock"))return;const a=c.value;if(a){for(const u of a.elementsFromPoint(o.clientX,o.clientY))if(u instanceof Element){if(u.classList.contains("sp-link")){o.preventDefault(),o.stopPropagation(),f.openSpecial();return}if(u.classList.contains("sp-close")){o.preventDefault(),o.stopPropagation(),f.closeSpecial();return}}}}function we(o){D=o.touches[0]?.clientX??null}function Se(o){if(D==null||!f)return;const r=D;D=null;const a=o.changedTouches[0]?.clientX;a!=null&&f.swipe(a-r,$())}function ie(o){f?.togglePanel(o)}function ze(){f?.toggleSpecial()}function re(){f?.toggleToolbar()}function it(){f?.previous()}function rt(){f?.next()}function Ee(){const o=c.value;return o?[...o.querySelectorAll("section.slide")].flatMap(r=>!(r instanceof HTMLElement)||!r.id?[]:[{id:r.id,bottom:r.getBoundingClientRect().bottom}]):[]}function M(){if(!$())return;const o=Ee();o.length&&(p=o)}const Ce={scrollTo(o){c.value?.getElementById(o)?.scrollIntoView({block:"start"})},imagesBefore(o){const r=c.value;if(!r)return[];const a=[...r.querySelectorAll("section.slide")],u=a.findIndex(S=>S.id===o);if(u<=0)return[];const k=[];for(let S=0;SM()))}function Te(){if(!f||i.phase!=="ready"||!d)return;const o=f.snapshot().on[0]??"";if(!o)return;if(d.matches){const a=De("reading",o,p);m="",se(()=>{M(),m=a,je(a,Ce).then(()=>M())});return}const r=De("slide",o,p.length?p:Ee());m="",f.showId(r),A()}return lt(()=>{const o=l.value;if(!o)return;I.value=document.fullscreenEnabled;const r=o.attachShadow({mode:"open"});c.value=r,ee(),J(r);const a=document.createElement("div");a.className="deck",r.appendChild(a),g.value=a,r.addEventListener("click",ot,!0),window.addEventListener("hashchange",ve),window.addEventListener("keydown",xe),window.addEventListener("resize",A),window.addEventListener("scroll",M,!0),window.addEventListener("touchstart",we,{passive:!0}),window.addEventListener("touchend",Se,{passive:!0}),document.addEventListener("fullscreenchange",ye),d=window.matchMedia(We),d.addEventListener("change",Te),F=new ResizeObserver(()=>A()),F.observe(o),_=new ResizeObserver(()=>A()),U=new MutationObserver(()=>{ne(),A()}),U.observe(a,{childList:!0,subtree:!0}),se(()=>{ke(),ne(),A(),M(),Le()})}),ct(()=>{window.removeEventListener("hashchange",ve),window.removeEventListener("keydown",xe),window.removeEventListener("resize",A),window.removeEventListener("scroll",M,!0),window.removeEventListener("touchstart",we),window.removeEventListener("touchend",Se),document.removeEventListener("fullscreenchange",ye),d?.removeEventListener("change",Te),F?.disconnect(),_?.disconnect(),U?.disconnect();const o=document.documentElement;delete o.dataset.theme,o.style.removeProperty("color-scheme")}),K([()=>i.extraCss,()=>i.theme],()=>{ee(),c.value&&J(c.value)}),K(w,o=>{o?.loadFonts().catch(()=>{})},{immediate:!0}),K(b,o=>{o&&s("snapshot",o)}),K(b,(o,r)=>{if(!o){E.value="";return}if(!r||o.number!==r.number||o.special!==r.special){if(i.announce){E.value=i.announce({number:o.number,total:o.total,special:o.special});return}o.special&&!r?.special?E.value=`Slajd dodatkowy do slajdu ${o.number}`:E.value=`Slajd ${o.number} z ${o.total}`}},{immediate:!0}),K([()=>i.phase,he,b,()=>i.images],()=>{se(()=>{ke(),Qe(),ne(),A();const o=f?.snapshot().on[0]??"";o&&o!==m?Le():M()})}),(o,r)=>(x(),v("div",{ref_key:"host",ref:l,class:"deck-host","data-theme":y.value?"dark":"light","aria-busy":e.phase==="loading"?"true":void 0},[g.value?(x(),dt(pt,{key:0,to:g.value},[e.phase==="ready"&&b.value&&e.mode==="speaker"?_e(o.$slots,"tools",{panel:b.value.panel,special:b.value.special,hasSpecial:b.value.hasSpecial,fullscreenEnabled:I.value,fullscreenOn:C.value,toolbarHidden:b.value.toolbarHidden,togglePanel:ie,toggleSpecial:ze,toggleToolbar:re,toggleFullscreen:oe,light:!y.value,toggleScheme:te},void 0,void 0,0):z("",!0),e.phase==="ready"&&b.value&&e.mode!=="speaker"?(x(),v($e,{key:1},[b.value.toolbarHidden?z("",!0):(x(),v("div",Wt,[h("div",Zt,[h("span",Gt,V(Ge.value),1),h("button",{type:"button","aria-pressed":b.value.panel==="notes","aria-keyshortcuts":"N",onClick:r[0]||(r[0]=a=>ie("notes"))},[...r[3]||(r[3]=[N(" Komentarz ",-1),h("kbd",null,"N",-1)])],8,Xt),h("button",{type:"button","aria-pressed":b.value.panel==="srcs","aria-keyshortcuts":"Z",onClick:r[1]||(r[1]=a=>ie("srcs"))},[...r[4]||(r[4]=[N(" Źródła ",-1),h("kbd",null,"Z",-1)])],8,Yt),h("button",{type:"button",class:Ae(["tool-s",{unavailable:!b.value.hasSpecial}]),"aria-pressed":b.value.special,"aria-keyshortcuts":"S",onClick:ze},[...r[5]||(r[5]=[N(" Slajd dodatkowy ",-1),h("kbd",null,"S",-1)])],10,Qt)]),h("div",Jt,[I.value?(x(),v("button",{key:0,type:"button","aria-pressed":C.value,"aria-keyshortcuts":"F",onClick:oe},[...r[6]||(r[6]=[N(" Pełny ekran ",-1),h("kbd",null,"F",-1)])],8,en)):z("",!0),h("button",{type:"button","aria-keyshortcuts":"H",onClick:re},[...r[7]||(r[7]=[N(" Ukryj pasek ",-1),h("kbd",null,"H",-1)])])])])),b.value.toolbarHidden?(x(),v("button",{key:1,type:"button",class:"tools-show","aria-keyshortcuts":"H",onClick:re},[...r[8]||(r[8]=[N(" Pokaż pasek ",-1),h("kbd",null,"H",-1)])])):z("",!0)],64)):z("",!0),h("div",tn,[e.mode==="speaker"&&e.phase==="ready"?_e(o.$slots,"reading-close",{},void 0,void 0,0):z("",!0),e.phase==="loading"?(x(),v("section",nn,[...r[9]||(r[9]=[h("div",null,[h("p",{class:"k"},"Wczytywanie prezentacji…")],-1)])])):e.phase==="notfound"?(x(),v("section",on,[...r[10]||(r[10]=[h("div",null,[h("p",{class:"k"},"404"),h("h2",null,"Nie ma takiej prezentacji"),h("p",null,"Link jest nieaktualny albo prezentacja nie jest już udostępniona.")],-1)])])):e.phase==="error"?(x(),v("section",rn,[h("div",null,[r[11]||(r[11]=h("p",{class:"k"},"Błąd",-1)),r[12]||(r[12]=h("h2",null,"Nie udało się wczytać prezentacji",-1)),h("p",null,V(e.error),1),h("button",{type:"button",class:"status-retry",onClick:r[2]||(r[2]=a=>s("retry"))},"Spróbuj ponownie")])])):e.phase==="empty"?(x(),v("section",sn,[h("div",null,[h("h2",null,V(e.deck?.title),1),r[13]||(r[13]=h("p",null,"Ta prezentacja nie ma jeszcze slajdów.",-1))])])):e.phase==="ready"?(x(!0),v($e,{key:5},ut(he.value,a=>(x(),v("section",{id:a.id,key:a.id,class:Ae(mt(bt)(a.slide.css_class,{special:a.special,on:a.on})),innerHTML:Ze(a.slide,a.special)},null,10,an))),128)):z("",!0)]),e.phase==="ready"&&b.value?(x(),v("div",ln,[h("i",{style:ft({width:b.value.progress+"%"})},null,4)])):z("",!0),e.phase==="ready"&&b.value?(x(),v("div",{key:3,id:"meta",innerHTML:b.value.metaHTML},null,8,cn)):z("",!0),e.phase==="ready"&&b.value?(x(),v("div",dn,V(Xe.value),1)):z("",!0),e.phase==="ready"?(x(),v("div",pn,[h("button",{type:"button","aria-label":"Poprzedni slajd",onClick:it}),r[14]||(r[14]=h("div",{class:"mid"},null,-1)),h("button",{type:"button","aria-label":"Następny slajd",onClick:rt})])):z("",!0),e.phase==="ready"?(x(),v("div",un,V(E.value),1)):z("",!0)],8,["to"])):z("",!0)],8,Vt))}});export{hn as _,Rt as r}; +`?l+=2:l++),n=l-1;continue}t+=s,n++}return t}function fe(e){const t=wt(de(e)).toLowerCase();let n="";for(const i of t)i<=" "||i.charCodeAt(0)<32||(n+=i);return n}function X(e){const t=fe(e);if(!t)return!1;for(const n of xt)if(t.includes(n))return!0;return t.includes("//")}function Me(e){let t="",n=0,i=0;for(;ie.length)return!0;i=l;continue}const s=e[i];if(t){if(s==="\\"&&i+1="a"&&t[n]<="z"||t[n]>="0"&&t[n]<="9");)n++;return t.slice(0,n)}function me(e){return vt.has(W(e))}function St(e,t){const n=t;let i="",s=1;for(;te.length)return null;continue}const l=e[t];if(i){if(l==="\\"&&t+1e.length)return null;continue}const l=e[t];if(i){if(l==="\\"&&t+10){s--,t++;continue}if(s===0&&l==="{"){const c=St(e,t+1);return c?{item:{prelude:e.slice(n,t),block:c.block,braced:!0},next:c.end}:null}if(s===0&&l===";")return{item:{prelude:e.slice(n,t),block:"",braced:!1},next:t+1};t++}return null}function J(e){const t=[];let n=0;for(;n=e.length)break;const i=zt(e,n);if(!i)break;t.push(i.item),n=i.next}return t}function Ke(e){const t=[];let n="",i="",s=0,l=0;for(;le.length){n+=e.slice(l);break}n+=e.slice(l,g),l=g;continue}const c=e[l];if(i){if(n+=c,c==="\\"&&l+10){s--,n+=c,l++;continue}if(c===";"&&s===0){t.push(n),n="",l++;continue}n+=c,l++}return n&&t.push(n),t}function Pe(e){const t=[];for(const n of Ke(e)){const i=n.trim();i&&(Me(n)||X(n)||t.push(i))}return t.length===0?"":`${t.join("; ")};`}function Et(e){const t=e.prelude.trim();if(!t&&!e.braced||X(t)||W(t)==="@import")return"";if(!e.braced)return X(e.prelude)?"":`${t};`;if(Me(e.block)&&X(e.block))return"";let n="";return me(t)?n=Pe(e.block):W(t).startsWith("@")?n=Re(e.block):n=Pe(e.block),n.trim()?`${t} { ${n.trim()} }`:""}function Re(e){const t=[];for(const n of J(e)){const i=Et(n);i&&t.push(i)}return t.join(` +`)}function Ne(e,t){const n=e[t];let i=n;for(t++;te.length){t+=e.slice(n);break}t+=e.slice(n,s),n=s;continue}const i=e[n];if(i==='"'||i==="'"){const s=Ne(e,n);t+=s.text,n=s.next;continue}if(i==="["){const s=Ct(e,n);t+=s.text,n=s.next;continue}if(e.slice(n,n+5).toLowerCase()===":root"&&!ae(e[n+5])){t+=":host",n+=5;continue}if(e.slice(n,n+4).toLowerCase()==="body"&&!ae(e[n+4])){const s=n===0?"":e[n-1];if(!ae(s)&&s!=="."&&s!=="#"&&s!==":"&&s!=="@"){t+=".deck",n+=4;continue}}t+=i,n++}return t}function Tt(e){const t=e.prelude.trim();if(!e.braced)return t?`${t};`:"";const n=W(t);let i=t,s=e.block;return n.startsWith("@")?me(t)||(s=Oe(e.block)):i=Lt(t),`${i} { ${s.trim()} }`}function Oe(e){const t=[];for(const n of J(e)){const i=Tt(n);i&&t.push(i)}return t.join(` +`)}function $t(e){const t=fe(e);if(!t.startsWith("@media"))return null;const n=t.includes("prefers-color-scheme:dark"),i=t.includes("prefers-color-scheme:light");return n&&!i?"dark":i&&!n?"light":null}function pe(e,t){const n=[];for(const i of J(e)){const s=i.prelude.trim(),l=$t(s);if(l){if(l===t&&i.braced){const g=pe(i.block,t).trim();g&&n.push(g)}continue}if(!i.braced){s&&n.push(`${s};`);continue}if(W(s).startsWith("@")&&!me(s)){const g=pe(i.block,t).trim();g&&n.push(`${s} { ${g} }`);continue}n.push(`${s} { ${i.block.trim()} }`)}return n.join(` +`)}function Z(e,t){return!e.trim()||t==="auto"?e.trim():pe(e,t).trim()}const ue=["paper","paper-2","ink","ink-2","rule","empire","khaki"],Y={paper:"#141a18","paper-2":"#1c2421",ink:"#e4e4da","ink-2":"#a7ada4",rule:"#3a443f",empire:"#e0675f",khaki:"#c2ad72"},Be={paper:"#e9ebe3","paper-2":"#dfe2d8",ink:"#16201f","ink-2":"#4b5551",rule:"#b9beb3",empire:"#b5302c",khaki:"#7f7047"};function qe(e){return e==="light"?Be:Y}function Fe(e,t=qe(e)){const n=t;return[":host {",`--paper: ${n.paper}; --paper-2: ${n["paper-2"]}; --ink: ${n.ink}; --ink-2: ${n["ink-2"]};`,`--rule: ${n.rule}; --empire: ${n.empire}; --khaki: ${n.khaki};`,`--deck-paper: ${n.paper}; --deck-paper-2: ${n["paper-2"]}; --deck-ink: ${n.ink}; --deck-ink-2: ${n["ink-2"]};`,`--deck-rule: ${n.rule}; --deck-empire: ${n.empire}; --deck-khaki: ${n.khaki};`,`color-scheme: ${e};`,"}",".deck { background: var(--paper); color: var(--ink); }","#nav button:focus, #nav button:focus-visible { outline: none; }","#nav button:focus-visible { box-shadow: inset 4px 0 0 var(--empire, var(--deck-empire)); }","#nav button:last-of-type:focus-visible { box-shadow: inset -4px 0 0 var(--empire, var(--deck-empire)); }"].join(" ")}function Ue(e=Y){return Fe("dark",e)}Ue();function _t(e=Y){const t={};for(const n of ue)t[`--${n}`]=e[n];for(const n of ue)t[`--deck-${n}`]=e[n];return t}const At=/^[#a-z0-9(),.%\s/-]+$/i;function Pt(e){return ue.includes(e)}function Ve(e,t){const n={...qe(t)};for(const i of J(Z(e,t)))if(!(!i.braced||de(i.prelude).trim()!==":host"))for(const s of Ke(i.block)){const l=de(s),c=l.indexOf(":");if(c<0)continue;const g=l.slice(0,c).trim(),T=l.slice(c+1).trim();if(!g.startsWith("--deck-"))continue;const E=g.slice(7);Pt(E)&&At.test(T)&&(n[E]=T)}return n}function Dt(e){return Ve(e,"dark")}function Ht(e){if(!e.trim())return"";const t=Re(e).trim();return t?Oe(t).trim():""}const jt=':host{--deck-paper: #e5eef0;--deck-paper-2: #d0e1e3;--deck-ink: #12303a;--deck-ink-2: #48646c;--deck-rule: #a8c1c5;--deck-empire: #b84e12;--deck-khaki: #17705f;--deck-contour: rgba(18, 48, 58, .13);--deck-display: "Fraunces Variable", "Fraunces", Georgia, "Times New Roman", serif;--deck-mono: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace}@media(prefers-color-scheme:dark){:host{--deck-paper: #0d2b2a;--deck-paper-2: #092120;--deck-ink: #e2eeec;--deck-ink-2: #9bb8b4;--deck-rule: #2a4d4a;--deck-empire: #f09a5a;--deck-khaki: #7fd1bd;--deck-contour: rgba(226, 238, 236, .1)}}.slide{isolation:isolate}.slide h1,.slide h2{font-weight:500;letter-spacing:-.012em}.slide.title>div>.sub{font-style:italic}.slide.sec>div>.k{color:var(--deck-khaki)}.slide .tl{column-gap:0;row-gap:0}.slide .tl .y{position:relative;padding:8px 30px 8px 0;text-align:right;color:var(--deck-ink);border-right:2px solid var(--deck-empire)}.slide .tl .y:after{content:"";position:absolute;right:-8px;top:50%;width:10px;height:10px;margin-top:-7px;border-radius:50%;background:var(--deck-paper);border:2px solid var(--deck-empire)}.slide .tl>span:not(.y){padding:8px 0 8px 28px}.slide .sum{border-top:0;background:var(--deck-paper-2);padding:16px 22px}.slide .quote{font-style:italic}@media not all and (max-width:900px)and (orientation:portrait){.slide:before{content:"";position:absolute;z-index:-1;right:-200px;top:-200px;width:560px;height:560px;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 22px,var(--deck-contour) 22px 23.5px)}.slide:is(.sec,.title):before{right:-160px;top:auto;bottom:-320px;width:960px;height:960px}.slide>header h2{font-size:52px}.slide.sec{align-items:center}.slide.title>div>h1{margin-top:22px}.slide .sum{font-size:28px}.slide .quote{font-size:38px}}@media print{.slide:before{content:none}.slide .sum{background:none}.slide .tl .y{border-right-color:#000}.slide .tl .y:after{background:#fff;border-color:#000}}',It=':host{--deck-paper: #f8f8f5;--deck-paper-2: #efeee8;--deck-ink: #1b1d22;--deck-ink-2: #5b5f69;--deck-rule: #d3d2ca;--deck-empire: #7a1f2b;--deck-khaki: #5b5f69;--deck-display: "Source Serif 4 Variable", "Source Serif 4", Georgia, "Times New Roman", serif;--deck-mono: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace}@media(prefers-color-scheme:dark){:host{--deck-paper: #17181d;--deck-paper-2: #1e2027;--deck-ink: #ebe9e1;--deck-ink-2: #a4a7af;--deck-rule: #363944;--deck-empire: #e39aa3;--deck-khaki: #a4a7af}}.slide h1,.slide h2{font-weight:600;letter-spacing:-.015em}.slide .k{font-family:var(--deck-body);font-weight:500;letter-spacing:.16em}.slide>header{padding-bottom:22px;border-bottom:1px solid var(--deck-rule)}.slide.title>div>.sub{font-style:italic}.slide.sec>div>h2{font-style:italic;font-weight:400}.slide.sec>div>p:not(.k){font-family:var(--deck-display)}.slide li::marker{content:"– "}.slide :is(.notes,.srcs,.speak) li::marker{content:normal}.slide .tl .y{font-family:var(--deck-display);font-style:italic}.slide .sum{font-style:italic;border-top:0;border-left:2px solid var(--deck-empire);padding:2px 0 2px 22px}.slide .quote{font-style:italic}@media not all and (max-width:900px)and (orientation:portrait){.slide{padding:72px 120px 80px}.slide .k{font-size:.64em}.slide .bib .k{font-size:13px}.slide>header{gap:12px}.slide>header h2{font-size:48px}.slide.title,.slide.sec{text-align:center;justify-items:center}.slide.sec{align-items:center}.slide :is(.notes,.srcs,.speak){text-align:left}.slide.title>div{align-self:center}.slide.title>div>h1{max-width:16ch;font-size:84px;margin-top:22px;margin-inline:auto}.slide.title>footer{width:100%;justify-content:center;gap:48px}.slide.sec>div>h2{font-size:88px;max-width:none;margin-top:0}.slide.sec>div>.k:after{content:"";display:block;width:64px;height:2px;background:var(--deck-empire);margin:20px auto 26px}.slide.sec>div>p:not(.k){margin-inline:auto}.slide .tl .y{font-size:1.06em}.slide .quote{font-size:40px}}',Mt=':host{--deck-paper: #f6f7fa;--deck-paper-2: #eceff4;--deck-ink: #1d2940;--deck-ink-2: #4c586d;--deck-rule: #c9d0dc;--deck-empire: #9a6200;--deck-khaki: #7c5100;--deck-card: #ffffff;--deck-line: rgba(29, 41, 64, .12);--deck-pill: rgba(154, 98, 0, .08);--deck-pill-line: rgba(154, 98, 0, .35);--deck-ray: rgba(29, 41, 64, .05);--deck-glow: rgba(245, 197, 90, .4);--deck-shadow: 0 24px 60px -30px rgba(29, 41, 64, .35);--deck-display: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;--deck-body: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;--deck-mono: "Roboto Mono", ui-monospace, Menlo, Consolas, monospace}@media(prefers-color-scheme:dark){:host{--deck-paper: #233148;--deck-paper-2: #1d2940;--deck-ink: #e9edf3;--deck-ink-2: #b3bccb;--deck-rule: #3e4a5f;--deck-empire: #f5c55a;--deck-khaki: #fbd77e;--deck-card: #29344a;--deck-line: rgba(255, 255, 255, .1);--deck-pill: rgba(245, 197, 90, .08);--deck-pill-line: rgba(245, 197, 90, .35);--deck-ray: rgba(255, 255, 255, .035);--deck-glow: rgba(245, 197, 90, .16);--deck-shadow: 0 40px 100px -40px rgba(0, 0, 0, .6)}}.slide{isolation:isolate}.slide h1,.slide h2{font-weight:700;letter-spacing:-.02em}.slide h3,.slide strong,.slide b{font-weight:600}.slide .k{font-weight:500;letter-spacing:.06em}.slide>header>.k,.slide:is(.sec,.title)>div:not(.notes,.srcs,.speak)>.k{font-family:var(--deck-body);letter-spacing:.16em;color:var(--deck-empire)}.slide.title>div:not(.notes,.srcs,.speak)>.sub{font-family:var(--deck-body);font-weight:300}.slide.title>footer .k{color:var(--deck-khaki)}.slide.sec>div:not(.notes,.srcs,.speak)>p:not(.k){font-weight:300}.slide .tl .y{justify-self:stretch;align-self:baseline;text-align:center;white-space:nowrap;line-height:1.3;font-family:var(--deck-body);font-variant-numeric:tabular-nums;font-weight:500;color:var(--deck-empire);background:var(--deck-pill);border:1px solid var(--deck-pill-line);border-radius:999px;padding:0 .6em}.slide .tl>span:not(.y){align-self:baseline}.slide .sum{font-family:var(--deck-body);font-weight:500;border-top:0;background:var(--deck-card);border:1px solid var(--deck-line);border-radius:16px;padding:14px 24px}.slide .p{border-top:0;background:var(--deck-card);border:1px solid var(--deck-line);border-radius:16px;padding:18px 24px}.slide .p b{font-family:var(--deck-display);font-weight:700;letter-spacing:-.01em;line-height:1.15}.slide .note{border-left-color:var(--deck-empire)}.slide .theses>div:before{font-weight:700;color:var(--deck-empire)}.slide th{font-weight:500}.slide figure img{border-radius:12px;box-shadow:var(--deck-shadow)}.slide figcaption{margin-top:8px}.slide .quote{font-weight:300}@media not all and (max-width:900px)and (orientation:portrait){.slide:is(.sec,.title):before{content:"";position:absolute;z-index:-1;inset:-40% -20%;background:radial-gradient(circle at 80% 50%,var(--deck-glow),transparent 30%),repeating-conic-gradient(from 0deg at 80% 50%,var(--deck-ray) 0deg 7deg,transparent 7deg 15deg);-webkit-mask-image:radial-gradient(circle at 80% 50%,#000 12%,transparent 58%);mask-image:radial-gradient(circle at 80% 50%,#000 12%,transparent 58%)}.slide.title:after{content:"";position:absolute;z-index:-1;left:80%;top:44%;width:168px;height:168px;margin:-84px 0 0 -84px;border-radius:50%;background:radial-gradient(circle at 50% 35%,#fde9b4,#f5c55a 62%,#e9a93a);box-shadow:0 0 0 18px #f5c55a1a,0 0 120px 20px #f5c55a4d}.slide>header{gap:12px}.slide>header .k{font-size:17px}.slide>header h2{font-size:50px;line-height:1.1}.slide.sec>div:not(.notes,.srcs,.speak)>.k{font-size:17px}.slide.sec>div:not(.notes,.srcs,.speak)>h2{font-size:76px;max-width:15ch;margin-top:16px;line-height:1.04}.slide.sec>div:not(.notes,.srcs,.speak)>p:not(.k){font-size:28px;max-width:34ch}.slide.title>div:not(.notes,.srcs,.speak){align-self:center}.slide.title>div:not(.notes,.srcs,.speak)>.k{font-size:17px}.slide.title>div:not(.notes,.srcs,.speak)>h1{font-size:104px;line-height:1;margin-top:18px;letter-spacing:-.03em}.slide.title>div:not(.notes,.srcs,.speak)>.sub{font-size:32px;max-width:32ch;line-height:1.3;margin-top:24px}.slide.title>footer{font-size:20px}.slide .tl{column-gap:22px}.slide .tl .y{font-size:.8em}.slide .sum{font-size:27px;line-height:1.3}.slide .quote{font-size:38px}}@media print{.slide:before,.slide:after{content:none}.slide .sum,.slide .p,.slide .tl .y{background:none;border-color:#000}.slide figure img{box-shadow:none}}',We="(max-width: 900px) and (orientation: portrait)";function Kt(e){return e(We).matches}function De(e,t,n){if(e==="reading")return t;for(const i of n)if(i.bottom>0)return i.id;return t}function Rt(e){return e.complete?Promise.resolve():new Promise(t=>{const n=()=>t();e.addEventListener("load",n,{once:!0}),e.addEventListener("error",n,{once:!0})})}async function He(e,t){t.scrollTo(e),await Promise.all(t.imagesBefore(e).map(Rt)),t.scrollTo(e)}function le(e,t,n){return{key:e,sheet:Z(t,"dark"),dark:Dt(t),lightSheet:Z(t,"light"),light:Ve(t,"light"),loadFonts:n}}const Nt=new Map([["atlas",le("atlas",jt,()=>Promise.all([P(()=>Promise.resolve({}),__vite__mapDeps([0])),P(()=>Promise.resolve({}),__vite__mapDeps([1])),P(()=>import("./index-BxuLaZe9.js").then(e=>e.aJ),__vite__mapDeps([2,3])),P(()=>import("./index-BxuLaZe9.js").then(e=>e.aK),__vite__mapDeps([2,3]))]))],["monografia",le("monografia",It,()=>Promise.all([P(()=>import("./index-BxuLaZe9.js").then(e=>e.aH),__vite__mapDeps([2,3])),P(()=>import("./index-BxuLaZe9.js").then(e=>e.aI),__vite__mapDeps([2,3])),P(()=>import("./index-BxuLaZe9.js").then(e=>e.aJ),__vite__mapDeps([2,3])),P(()=>import("./index-BxuLaZe9.js").then(e=>e.aK),__vite__mapDeps([2,3]))]))],["summer",le("summer",Mt,()=>P(()=>Promise.resolve({}),__vite__mapDeps([4])))]]);function Ot(e){return typeof e!="string"||e===""?null:Nt.get(e)??null}function Bt(e,t,n,i="dark"){const s=i==="light";return[Z(e,i),t?s?t.lightSheet:t.sheet:"",...n,s?Fe("light",t?t.light:void 0):Ue(t?t.dark:void 0)].filter(l=>!!l)}function qt(e,t){return t==="light"?e?e.light:Be:e?e.dark:Y}const Ft=new Set(["ArrowUp","ArrowDown","PageUp","PageDown"," ","Home","End"]);function ce(e){const t=/^#(\d+)(s)?$/.exec(e);return t?{number:Number(t[1]),special:t[2]==="s"}:{number:null,special:!1}}function Ut(e){const t=e.slides,n=t.length,i=e.mode==="speaker";let s=0,l=!1,c=null,g=!1;function T(d){return n===0?0:Math.max(0,Math.min(n-1,d))}function E(d){const p=t.findIndex(m=>m.number===d);return p>=0?p:d>=1&&d<=n?d-1:0}function I(){const d=t[s];d&&e.history.replaceState(e.history.state,"","#"+d.number)}function C(){e.onChange?.()}function y(d){n!==0&&(s=T(d),l=!1,I(),e.onNavigate?.(s),C())}function f(d){l=!!t[s]?.hasSpecial&&d,C()}const D=ce(e.hash??"");D.number!=null&&n>0&&(s=E(D.number),l=D.special&&!!t[s]?.hasSpecial),n>0&&I();function F(){const d=t[s],p=d?.number??0,m=!!d?.hasSpecial,w=l&&m,L=w?`${p} S`:String(p),G=m&&!w?" · S":"",K=d?String(p):"";return{index:s,number:p,total:n,special:w,hasSpecial:m,on:K?[w?`${K}s`:K]:[],metaText:n===0?"":`${L} / ${n}${G}`,metaHTML:n===0?"":`${L} / ${n}${G}`,panel:c,hash:K?`#${p}`:"",toolbarHidden:g,progress:n===0?0:(s+1)/n*100}}function $(d){c=c===d?null:d,C()}function U(d){if(d.ctrlKey||d.metaKey||d.altKey||d.reading)return"ignored";const p=d.key;if(d.targetIsButton&&(p===" "||p==="Enter")||d.targetIsPanel&&Ft.has(p)||n===0)return"ignored";if(p==="ArrowRight"||p==="ArrowDown"||p==="PageDown"||p===" ")return y(s+1),"handled";if(p==="ArrowLeft"||p==="ArrowUp"||p==="PageUp")return l?f(!1):y(s-1),"handled";if(p==="Home")return y(0),"handled";if(p==="End")return y(n-1),"handled";if(p==="Escape")return l?(f(!1),"handled"):"ignored";const m=p.length===1?p.toLowerCase():"";return m==="n"?($("notes"),"handled"):m==="z"?($("srcs"),"handled"):m==="s"?(f(!l),"handled"):m==="h"?(g=!g,C(),"handled"):m==="f"?"fullscreen":i&&m==="p"?($("say"),"handled"):i&&m==="t"?"pause":i&&m==="c"?"clock":i&&m==="r"?"reset":i&&m==="j"?"scheme":"ignored"}return{snapshot:F,applyKey:U,go:y,next:()=>y(s+1),previous:()=>{l?f(!1):y(s-1)},togglePanel:$,toggleSpecial:()=>f(!l),closeSpecial:()=>f(!1),openSpecial:()=>f(!0),toggleToolbar:()=>{g=!g,C()},onScroll:()=>{},swipe:(d,p)=>p||n===0||Math.abs(d)<=50?!1:(y(s+(d<0?1:-1)),!0),followHash:d=>{const p=ce(d);if(p.number==null||n===0)return;const m=E(p.number),w=p.special&&!!t[m]?.hasSpecial;m===s&&w===l||(s=m,l=w,C())},showId:d=>{const p=ce("#"+d);if(p.number==null||n===0)return;const m=E(p.number),w=p.special&&!!t[m]?.hasSpecial;m===s&&w===l||(s=m,l=w,I(),C())}}}function je(e,t){return e.applyKey(t)}const Vt=["data-theme","aria-busy"],Wt={key:0,class:"tools",role:"group","aria-label":"Sterowanie prezentacją"},Zt={class:"tools-group"},Gt={class:"tools-pos","aria-hidden":"true"},Xt=["aria-pressed"],Jt=["aria-pressed"],Yt=["aria-pressed"],Qt={class:"tools-group tools-end"},en=["aria-pressed"],tn={id:"stage"},nn={key:1,class:"slide sec on","aria-busy":"true"},on={key:2,class:"slide sec on"},rn={key:3,class:"slide sec on"},sn={key:4,class:"slide sec on"},an=["id","innerHTML"],ln={key:2,id:"bar"},cn=["innerHTML"],dn={key:4,id:"sect"},pn={key:5,id:"nav"},un={key:6,class:"sr-only","aria-live":"polite"},hn=at({__name:"DeckViewer",props:{phase:{},deck:{},error:{},mode:{},compose:{type:Function},labels:{},announce:{type:Function},extraCss:{},theme:{},images:{}},emits:["retry","position","navigate","clock","snapshot","scheme"],setup(e,{expose:t,emit:n}){const i=e,s=n,l=j(null),c=j(null),g=j(null),T=j(0),E=j(""),I=j(!1),C=j(!1),y=j(!0);let f=null,D=null,F=null,$=null,U=null,d=null,p=[],m="";const w=O(()=>Ot(i.theme)),L=O(()=>y.value?"dark":"light"),G=new Set(["ArrowUp","ArrowDown","PageUp","PageDown"," ","Home","End"]);function K(o){return{body_html:o.body_html,sources_html:o.sources_html,comment_html:"comment_html"in o?o.comment_html:"",say_html:"say_html"in o?o.say_html:"",notes_html:"notes_html"in o?o.notes_html:""}}function Ze(o,r){const a=K(o);return i.compose?i.compose(a,r):gt({body_html:a.body_html,comment_html:a.comment_html??"",sources_html:a.sources_html,special:r})}function _(){return Kt(o=>window.matchMedia(o))}R(()=>[i.phase,i.deck],()=>{if(m="",p=[],i.phase!=="ready"||!i.deck||i.deck.slides.length===0){f=null,T.value++;return}f=Ut({slides:i.deck.slides.map(o=>({number:o.number,hasSpecial:o.special!=null})),history:window.history,hash:window.location.hash,mode:i.mode==="speaker"?"speaker":"public",onChange:()=>{T.value++},onNavigate:o=>{s("navigate",o)}}),s("position",f.snapshot().index),T.value++},{immediate:!0});const b=O(()=>(T.value,f?.snapshot()??null)),he=O(()=>{const o=i.deck?.slides??[],r=new Set(b.value?.on??[]),a=[];for(const u of o){const k=String(u.number);if(a.push({id:k,slide:u,special:!1,on:r.has(k)}),u.special){const S=`${u.number}s`;a.push({id:S,slide:u.special,special:!0,on:r.has(S)})}}return a}),Ge=O(()=>{const o=b.value,r=i.deck?.slides.length??0;return!o||!r?"":`${o.index+1} / ${r}`}),Xe=O(()=>{const o=b.value,r=i.deck?.slides;if(!o||!r)return"";const a=r[o.index];return a?o.special&&a.special?a.special.section_label:a.section_label:""});function Je(){const o=i.extraCss,r=Array.isArray(o)?o:o?[o]:[],a=[];for(const u of r){if(!u)continue;const k=Z(Ht(u),L.value);k&&a.push(k)}return a}function Q(o){const r=Bt(ht,w.value,Je(),L.value);try{o.adoptedStyleSheets=r.map(a=>{const u=new CSSStyleSheet;return u.replaceSync(a),u})}catch{o.querySelectorAll("style[data-deck-style]").forEach(a=>a.remove());for(const a of r){const u=document.createElement("style");u.dataset.deckStyle="1",u.textContent=a,o.appendChild(u)}}}function ee(){const o=l.value;if(o){for(const[r,a]of Object.entries(_t(qt(w.value,L.value))))o.style.setProperty(r,a);o.style.colorScheme=L.value,o.dataset.theme=L.value,document.documentElement.dataset.theme=L.value,document.documentElement.style.colorScheme=L.value}}function te(){i.mode==="speaker"&&(y.value=!y.value,ee(),c.value&&Q(c.value),s("scheme",!y.value))}function A(){const o=c.value?.getElementById("stage"),r=l.value;if(!o||!r)return;const a=c.value?.getElementById("nav");if(_()){o.style.transform="",a&&(a.style.top="");return}const u=c.value?.querySelector(".tools"),k=u instanceof HTMLElement?u.getBoundingClientRect().height:0,S=Math.max(0,window.innerHeight-k),H=Math.min(window.innerWidth/1280,S/720),st=k/2;o.style.transform=`translate(${-640*H}px, ${-360*H+st}px) scale(${H})`,a&&(a.style.top=`${k}px`)}function ne(){$?.disconnect();const o=c.value?.querySelector(".tools");o&&$?.observe(o)}function Ye(){const o=c.value;if(!o)return;const r=i.images;o.querySelectorAll("img[data-deck-image]").forEach(a=>{if(!(a instanceof HTMLImageElement))return;const u=a.getAttribute("data-deck-image")??"",k=u&&r?r[u]:void 0;if(!k){a.removeAttribute("src");return}a.getAttribute("src")!==k&&a.setAttribute("src",k)})}function ke(){const o=c.value,r=g.value;if(!o||!r)return;const a=f?.snapshot().panel??null;if(r.classList.toggle("speaker",i.mode==="speaker"),r.classList.toggle("notes-on",a==="notes"),r.classList.toggle("srcs-on",a==="srcs"),r.classList.toggle("speak-on",a==="say"),o.querySelectorAll("aside.notes, aside.srcs, aside.speak").forEach(k=>{const S=(k.textContent??"").replace(/\u00a0/g," ").trim()==="";k.classList.toggle("is-empty",S),k.removeAttribute("tabindex"),k.removeAttribute("role"),k.removeAttribute("aria-label")}),a){const k=a==="notes"?"notes":a==="srcs"?"srcs":"speak",S=a==="notes"?i.labels?.notes??"Komentarz":a==="srcs"?i.labels?.sources??"Źródła":i.labels?.say??"",H=o.querySelector(`.slide.on aside.${k}`);H&&(H.setAttribute("tabindex","0"),H.setAttribute("role","region"),H.setAttribute("aria-label",S))}const u=i.labels?.specialLink??"Slajd dodatkowy (S)";o.querySelectorAll(".sp-link").forEach(k=>{k.setAttribute("title",u)})}function ge(){return c.value?.activeElement??document.activeElement}function Qe(){const r=ge()?.closest?.(".notes, .srcs, .speak");return r instanceof HTMLElement?r:null}function et(o,r){const u=o.clientHeight;r==="ArrowDown"?o.scrollTop+=40:r==="ArrowUp"?o.scrollTop-=40:r==="PageDown"||r===" "?o.scrollTop+=u:r==="PageUp"?o.scrollTop-=u:r==="Home"?o.scrollTop=0:r==="End"&&(o.scrollTop=o.scrollHeight)}function oe(){document.fullscreenEnabled&&(document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen()?.catch(()=>{}))}function be(o){return o!=="pause"&&o!=="clock"&&o!=="reset"?!1:(s("clock",o),!0)}function xe(o){if(!f||i.phase!=="ready")return;const a=!!ge()?.closest("button"),u=Qe(),k=je(f,{key:o.key,ctrlKey:o.ctrlKey,metaKey:o.metaKey,altKey:o.altKey,targetIsButton:a,targetIsPanel:!!u,reading:_()});if(k==="fullscreen"){o.preventDefault(),oe();return}if(k==="scheme"){o.preventDefault(),te();return}if(be(k)){o.preventDefault();return}if(k==="ignored"){if(a&&(o.key===" "||o.key==="Enter"))return;u&&G.has(o.key)&&!o.ctrlKey&&!o.metaKey&&!o.altKey&&!_()&&(o.preventDefault(),et(u,o.key));return}o.preventDefault()}function tt(o){if(!f||i.phase!=="ready"||i.mode!=="speaker"||o.toLowerCase()==="f")return"ignored";const r=je(f,{key:o,reading:_()});return r==="fullscreen"?"ignored":(be(r),r==="scheme"&&te(),r)}function nt(o){if(!f||i.phase!=="ready"||i.mode!=="speaker"||!i.deck||_())return!1;const r=i.deck.slides.findIndex(a=>a.number===o);return r<0?!1:(f.go(r),!0)}t({runKey:tt,goToNumber:nt});function ve(){f&&window.location.hash!==f.snapshot().hash&&f.followHash(window.location.hash)}function ye(){C.value=document.fullscreenElement!=null,A()}function ot(o){if(!(o instanceof MouseEvent)||!f||_())return;const r=o.target instanceof Element?o.target:null;if(o.detail>0){const u=r?.closest("#nav button");u instanceof HTMLElement&&u.blur()}if(r?.closest(".tools, .tools-show, #speaker-clock"))return;const a=c.value;if(a){for(const u of a.elementsFromPoint(o.clientX,o.clientY))if(u instanceof Element){if(u.classList.contains("sp-link")){o.preventDefault(),o.stopPropagation(),f.openSpecial();return}if(u.classList.contains("sp-close")){o.preventDefault(),o.stopPropagation(),f.closeSpecial();return}}}}function we(o){D=o.touches[0]?.clientX??null}function Se(o){if(D==null||!f)return;const r=D;D=null;const a=o.changedTouches[0]?.clientX;a!=null&&f.swipe(a-r,_())}function ie(o){f?.togglePanel(o)}function ze(){f?.toggleSpecial()}function re(){f?.toggleToolbar()}function it(){f?.previous()}function rt(){f?.next()}function Ee(){const o=c.value;return o?[...o.querySelectorAll("section.slide")].flatMap(r=>!(r instanceof HTMLElement)||!r.id?[]:[{id:r.id,bottom:r.getBoundingClientRect().bottom}]):[]}function M(){if(!_())return;const o=Ee();o.length&&(p=o)}const Ce={scrollTo(o){c.value?.getElementById(o)?.scrollIntoView({block:"start"})},imagesBefore(o){const r=c.value;if(!r)return[];const a=[...r.querySelectorAll("section.slide")],u=a.findIndex(S=>S.id===o);if(u<=0)return[];const k=[];for(let S=0;SM()))}function Te(){if(!f||i.phase!=="ready"||!d)return;const o=f.snapshot().on[0]??"";if(!o)return;if(d.matches){const a=De("reading",o,p);m="",se(()=>{M(),m=a,He(a,Ce).then(()=>M())});return}const r=De("slide",o,p.length?p:Ee());m="",f.showId(r),A()}return lt(()=>{const o=l.value;if(!o)return;I.value=document.fullscreenEnabled;const r=o.attachShadow({mode:"open"});c.value=r,ee(),Q(r);const a=document.createElement("div");a.className="deck",r.appendChild(a),g.value=a,r.addEventListener("click",ot,!0),window.addEventListener("hashchange",ve),window.addEventListener("keydown",xe),window.addEventListener("resize",A),window.addEventListener("scroll",M,!0),window.addEventListener("touchstart",we,{passive:!0}),window.addEventListener("touchend",Se,{passive:!0}),document.addEventListener("fullscreenchange",ye),d=window.matchMedia(We),d.addEventListener("change",Te),F=new ResizeObserver(()=>A()),F.observe(o),$=new ResizeObserver(()=>A()),U=new MutationObserver(()=>{ne(),A()}),U.observe(a,{childList:!0,subtree:!0}),se(()=>{ke(),ne(),A(),M(),Le()})}),ct(()=>{window.removeEventListener("hashchange",ve),window.removeEventListener("keydown",xe),window.removeEventListener("resize",A),window.removeEventListener("scroll",M,!0),window.removeEventListener("touchstart",we),window.removeEventListener("touchend",Se),document.removeEventListener("fullscreenchange",ye),d?.removeEventListener("change",Te),F?.disconnect(),$?.disconnect(),U?.disconnect();const o=document.documentElement;delete o.dataset.theme,o.style.removeProperty("color-scheme")}),R([()=>i.extraCss,()=>i.theme],()=>{ee(),c.value&&Q(c.value)}),R(w,o=>{o?.loadFonts().catch(()=>{})},{immediate:!0}),R(b,o=>{o&&s("snapshot",o)}),R(b,(o,r)=>{if(!o){E.value="";return}if(!r||o.number!==r.number||o.special!==r.special){if(i.announce){E.value=i.announce({number:o.number,total:o.total,special:o.special});return}o.special&&!r?.special?E.value=`Slajd dodatkowy do slajdu ${o.number}`:E.value=`Slajd ${o.number} z ${o.total}`}},{immediate:!0}),R([()=>i.phase,he,b,()=>i.images],()=>{se(()=>{ke(),Ye(),ne(),A();const o=f?.snapshot().on[0]??"";o&&o!==m?Le():M()})}),(o,r)=>(x(),v("div",{ref_key:"host",ref:l,class:"deck-host","data-theme":y.value?"dark":"light","aria-busy":e.phase==="loading"?"true":void 0},[g.value?(x(),dt(pt,{key:0,to:g.value},[e.phase==="ready"&&b.value&&e.mode==="speaker"?$e(o.$slots,"tools",{panel:b.value.panel,special:b.value.special,hasSpecial:b.value.hasSpecial,fullscreenEnabled:I.value,fullscreenOn:C.value,toolbarHidden:b.value.toolbarHidden,togglePanel:ie,toggleSpecial:ze,toggleToolbar:re,toggleFullscreen:oe,light:!y.value,toggleScheme:te},void 0,void 0,0):z("",!0),e.phase==="ready"&&b.value&&e.mode!=="speaker"?(x(),v(_e,{key:1},[b.value.toolbarHidden?z("",!0):(x(),v("div",Wt,[h("div",Zt,[h("span",Gt,V(Ge.value),1),h("button",{type:"button","aria-pressed":b.value.panel==="notes","aria-keyshortcuts":"N",onClick:r[0]||(r[0]=a=>ie("notes"))},[...r[3]||(r[3]=[N(" Komentarz ",-1),h("kbd",null,"N",-1)])],8,Xt),h("button",{type:"button","aria-pressed":b.value.panel==="srcs","aria-keyshortcuts":"Z",onClick:r[1]||(r[1]=a=>ie("srcs"))},[...r[4]||(r[4]=[N(" Źródła ",-1),h("kbd",null,"Z",-1)])],8,Jt),h("button",{type:"button",class:Ae(["tool-s",{unavailable:!b.value.hasSpecial}]),"aria-pressed":b.value.special,"aria-keyshortcuts":"S",onClick:ze},[...r[5]||(r[5]=[N(" Slajd dodatkowy ",-1),h("kbd",null,"S",-1)])],10,Yt)]),h("div",Qt,[I.value?(x(),v("button",{key:0,type:"button","aria-pressed":C.value,"aria-keyshortcuts":"F",onClick:oe},[...r[6]||(r[6]=[N(" Pełny ekran ",-1),h("kbd",null,"F",-1)])],8,en)):z("",!0),h("button",{type:"button","aria-keyshortcuts":"H",onClick:re},[...r[7]||(r[7]=[N(" Ukryj pasek ",-1),h("kbd",null,"H",-1)])])])])),b.value.toolbarHidden?(x(),v("button",{key:1,type:"button",class:"tools-show","aria-keyshortcuts":"H",onClick:re},[...r[8]||(r[8]=[N(" Pokaż pasek ",-1),h("kbd",null,"H",-1)])])):z("",!0)],64)):z("",!0),h("div",tn,[e.mode==="speaker"&&e.phase==="ready"?$e(o.$slots,"reading-close",{},void 0,void 0,0):z("",!0),e.phase==="loading"?(x(),v("section",nn,[...r[9]||(r[9]=[h("div",null,[h("p",{class:"k"},"Wczytywanie prezentacji…")],-1)])])):e.phase==="notfound"?(x(),v("section",on,[...r[10]||(r[10]=[h("div",null,[h("p",{class:"k"},"404"),h("h2",null,"Nie ma takiej prezentacji"),h("p",null,"Link jest nieaktualny albo prezentacja nie jest już udostępniona.")],-1)])])):e.phase==="error"?(x(),v("section",rn,[h("div",null,[r[11]||(r[11]=h("p",{class:"k"},"Błąd",-1)),r[12]||(r[12]=h("h2",null,"Nie udało się wczytać prezentacji",-1)),h("p",null,V(e.error),1),h("button",{type:"button",class:"status-retry",onClick:r[2]||(r[2]=a=>s("retry"))},"Spróbuj ponownie")])])):e.phase==="empty"?(x(),v("section",sn,[h("div",null,[h("h2",null,V(e.deck?.title),1),r[13]||(r[13]=h("p",null,"Ta prezentacja nie ma jeszcze slajdów.",-1))])])):e.phase==="ready"?(x(!0),v(_e,{key:5},ut(he.value,a=>(x(),v("section",{id:a.id,key:a.id,class:Ae(mt(bt)(a.slide.css_class,{special:a.special,on:a.on})),innerHTML:Ze(a.slide,a.special)},null,10,an))),128)):z("",!0)]),e.phase==="ready"&&b.value?(x(),v("div",ln,[h("i",{style:ft({width:b.value.progress+"%"})},null,4)])):z("",!0),e.phase==="ready"&&b.value?(x(),v("div",{key:3,id:"meta",innerHTML:b.value.metaHTML},null,8,cn)):z("",!0),e.phase==="ready"&&b.value?(x(),v("div",dn,V(Xe.value),1)):z("",!0),e.phase==="ready"?(x(),v("div",pn,[h("button",{type:"button","aria-label":"Poprzedni slajd",onClick:it}),r[14]||(r[14]=h("div",{class:"mid"},null,-1)),h("button",{type:"button","aria-label":"Następny slajd",onClick:rt})])):z("",!0),e.phase==="ready"?(x(),v("div",un,V(E.value),1)):z("",!0)],8,["to"])):z("",!0)],8,Vt))}});export{hn as _,Kt as r}; diff --git a/public/assets/ElectiveBar.vue_vue_type_script_setup_true_lang-BLN4Nv_F.js b/public/assets/ElectiveBar.vue_vue_type_script_setup_true_lang-BLN4Nv_F.js new file mode 100644 index 0000000..9df0cda --- /dev/null +++ b/public/assets/ElectiveBar.vue_vue_type_script_setup_true_lang-BLN4Nv_F.js @@ -0,0 +1 @@ +import{d as v,ai as z,ad as f,n as s,c as a,e as o,p as i,t as h,i as m,j as b,f as p,b as g,x as u,l as _,ae as C}from"./index-BxuLaZe9.js";const x=["aria-pressed"],A={key:1,class:"notice"},B={key:2,class:"stack",style:{"margin-bottom":"16px"}},E={key:0,class:"notice"},N={key:1,class:"chips wrap"},V=["aria-pressed"],M=v({__name:"ElectiveBar",props:{part:{default:"both"}},setup(r){const c=r,t=z(),d=f(),y=u(()=>C(d.pendingElectives.length,"grupa przedmiotów do wyboru","grupy przedmiotów do wyboru","grup przedmiotów do wyboru")),n=u(()=>c.part!=="chip"&&d.pendingElectives.length>0),l=u(()=>c.part!=="notice"&&t.hasChoices);return(D,e)=>{const w=_("router-link");return r.part==="chip"&&l.value?(s(),a("button",{key:0,class:"chip",type:"button","aria-pressed":o(t).showAll,onClick:e[0]||(e[0]=k=>o(t).setShowAll(!o(t).showAll))},"Pokaż wszystkie przedmioty do wyboru",8,x)):r.part==="notice"&&n.value?(s(),a("p",A,[i(" Masz "+h(y.value)+". Do czasu wyboru widać wszystkie alternatywy. ",1),m(w,{to:{name:"profile",hash:"#wybor"}},{default:b(()=>[...e[2]||(e[2]=[i("Wybierz",-1)])]),_:1})])):r.part==="both"&&(n.value||l.value)?(s(),a("div",B,[n.value?(s(),a("p",E,[i(" Masz "+h(y.value)+". Do czasu wyboru widać wszystkie alternatywy. ",1),m(w,{to:{name:"profile",hash:"#wybor"}},{default:b(()=>[...e[3]||(e[3]=[i("Wybierz",-1)])]),_:1})])):p("",!0),l.value?(s(),a("div",N,[g("button",{class:"chip",type:"button","aria-pressed":o(t).showAll,onClick:e[1]||(e[1]=k=>o(t).setShowAll(!o(t).showAll))},"Pokaż wszystkie przedmioty do wyboru",8,V)])):p("",!0)])):p("",!0)}}});export{M as _}; diff --git a/public/assets/ElectiveBar.vue_vue_type_script_setup_true_lang-Cy49YMPm.js b/public/assets/ElectiveBar.vue_vue_type_script_setup_true_lang-Cy49YMPm.js deleted file mode 100644 index 14f6864..0000000 --- a/public/assets/ElectiveBar.vue_vue_type_script_setup_true_lang-Cy49YMPm.js +++ /dev/null @@ -1 +0,0 @@ -import{d as p,E as d,y as u,e,n,c as r,p as i,t as m,i as y,j as w,f as a,b as _,x as h,l as b}from"./index-BJq7_SVs.js";import{c as g}from"./format-bcE-cYHJ.js";const k={key:0,class:"stack",style:{"margin-bottom":"16px"}},v={key:0,class:"notice"},z={key:1,class:"chips wrap"},f=["aria-pressed"],V=p({__name:"ElectiveBar",setup(x){const t=d(),o=u(),c=h(()=>g(o.pendingElectives.length,"grupa przedmiotów do wyboru","grupy przedmiotów do wyboru","grup przedmiotów do wyboru"));return(C,s)=>{const l=b("router-link");return e(o).pendingElectives.length||e(t).hasChoices?(n(),r("div",k,[e(o).pendingElectives.length?(n(),r("p",v,[i(" Masz "+m(c.value)+". Do czasu wyboru widać wszystkie alternatywy. ",1),y(l,{to:{name:"profile",hash:"#wybor"}},{default:w(()=>[...s[1]||(s[1]=[i("Wybierz",-1)])]),_:1})])):a("",!0),e(t).hasChoices?(n(),r("div",z,[_("button",{class:"chip",type:"button","aria-pressed":e(t).showAll,onClick:s[0]||(s[0]=E=>e(t).setShowAll(!e(t).showAll))},"Pokaż wszystkie przedmioty do wyboru",8,f)])):a("",!0)])):a("",!0)}}});export{V as _}; diff --git a/public/assets/ForgotView-D20j7bAj.js b/public/assets/ForgotView-BsFAZNMc.js similarity index 92% rename from public/assets/ForgotView-D20j7bAj.js rename to public/assets/ForgotView-BsFAZNMc.js index a5843ef..58bf6d9 100644 --- a/public/assets/ForgotView-D20j7bAj.js +++ b/public/assets/ForgotView-BsFAZNMc.js @@ -1 +1 @@ -import{d as f,c as t,b as a,h as y,t as n,f as m,w as _,v as w,i as b,j as k,r,l as h,n as o,p as g,a as x}from"./index-BJq7_SVs.js";import{f as V}from"./forms-C2WygAic.js";const j={class:"auth"},B={key:0,class:"notice",role:"status"},C={key:0,class:"notice error",role:"alert",style:{"margin-bottom":"14px"}},N={class:"field"},W={key:0,class:"error-text"},M=["disabled"],z={class:"auth-links"},I=f({__name:"ForgotView",setup(A){const l=r(""),i=r(!1),u=r(!1),s=r(null);async function c(){i.value=!0,s.value=null;try{await x.forgotPassword(l.value.trim()),u.value=!0}catch(d){s.value=V(d)}finally{i.value=!1}}return(d,e)=>{const p=h("router-link");return o(),t("div",j,[e[3]||(e[3]=a("header",{class:"page-head"},[a("span",{class:"eyebrow"},"BM II° · UWr"),a("h1",null,"Przypomnij hasło")],-1)),u.value?(o(),t("p",B,"Jeśli konto o tym adresie istnieje, wysłaliśmy na nie wiadomość z linkiem do ustawienia nowego hasła.")):(o(),t("form",{key:1,onSubmit:y(c,["prevent"]),novalidate:""},[s.value?.message?(o(),t("div",C,n(s.value.message),1)):m("",!0),a("div",N,[e[1]||(e[1]=a("label",{for:"email"},"Adres e-mail",-1)),_(a("input",{id:"email","onUpdate:modelValue":e[0]||(e[0]=v=>l.value=v),type:"email",autocomplete:"email",inputmode:"email",required:"",autofocus:""},null,512),[[w,l.value]]),s.value?.fields.email?(o(),t("p",W,n(s.value.fields.email),1)):m("",!0)]),a("button",{class:"btn primary block",type:"submit",disabled:i.value||!l.value},n(i.value?"Wysyłanie…":"Wyślij link"),9,M)],32)),a("div",z,[b(p,{to:"/logowanie"},{default:k(()=>[...e[2]||(e[2]=[g("Wróć do logowania",-1)])]),_:1})])])}}});export{I as default}; +import{d as f,c as t,b as a,h as y,t as n,f as m,w as _,v as w,i as b,j as k,r,l as h,n as o,p as g,a as x}from"./index-BxuLaZe9.js";import{f as V}from"./forms-Bd757Xmp.js";const j={class:"auth"},B={key:0,class:"notice",role:"status"},C={key:0,class:"notice error",role:"alert",style:{"margin-bottom":"14px"}},N={class:"field"},W={key:0,class:"error-text"},M=["disabled"],z={class:"auth-links"},I=f({__name:"ForgotView",setup(A){const l=r(""),i=r(!1),u=r(!1),s=r(null);async function c(){i.value=!0,s.value=null;try{await x.forgotPassword(l.value.trim()),u.value=!0}catch(d){s.value=V(d)}finally{i.value=!1}}return(d,e)=>{const p=h("router-link");return o(),t("div",j,[e[3]||(e[3]=a("header",{class:"page-head"},[a("span",{class:"eyebrow"},"BM II° · UWr"),a("h1",null,"Przypomnij hasło")],-1)),u.value?(o(),t("p",B,"Jeśli konto o tym adresie istnieje, wysłaliśmy na nie wiadomość z linkiem do ustawienia nowego hasła.")):(o(),t("form",{key:1,onSubmit:y(c,["prevent"]),novalidate:""},[s.value?.message?(o(),t("div",C,n(s.value.message),1)):m("",!0),a("div",N,[e[1]||(e[1]=a("label",{for:"email"},"Adres e-mail",-1)),_(a("input",{id:"email","onUpdate:modelValue":e[0]||(e[0]=v=>l.value=v),type:"email",autocomplete:"email",inputmode:"email",required:"",autofocus:""},null,512),[[w,l.value]]),s.value?.fields.email?(o(),t("p",W,n(s.value.fields.email),1)):m("",!0)]),a("button",{class:"btn primary block",type:"submit",disabled:i.value||!l.value},n(i.value?"Wysyłanie…":"Wyślij link"),9,M)],32)),a("div",z,[b(p,{to:"/logowanie"},{default:k(()=>[...e[2]||(e[2]=[g("Wróć do logowania",-1)])]),_:1})])])}}});export{I as default}; diff --git a/public/assets/LoadState.vue_vue_type_script_setup_true_lang-CZ3UpUyg.js b/public/assets/LoadState.vue_vue_type_script_setup_true_lang-CZ3UpUyg.js new file mode 100644 index 0000000..ebeae16 --- /dev/null +++ b/public/assets/LoadState.vue_vue_type_script_setup_true_lang-CZ3UpUyg.js @@ -0,0 +1 @@ +import{d as n,c as r,p as l,t as i,b as o,ax as d,n as s}from"./index-BxuLaZe9.js";const y={key:0,class:"notice error",role:"alert"},c={key:1,class:"stack","aria-busy":"true","aria-label":"Wczytywanie"},m=n({__name:"LoadState",props:{loading:{type:Boolean},error:{},ready:{type:Boolean}},emits:["retry"],setup(e){return(a,t)=>e.error&&!e.ready?(s(),r("div",y,[l(i(e.error)+" ",1),o("button",{class:"linkish",type:"button",onClick:t[0]||(t[0]=u=>a.$emit("retry"))},"Spróbuj ponownie")])):e.ready?d(a.$slots,"default",{},void 0,void 0,2):(s(),r("div",c,[...t[1]||(t[1]=[o("div",{class:"skeleton"},null,-1),o("div",{class:"skeleton"},null,-1),o("div",{class:"skeleton"},null,-1)])]))}});export{m as _}; diff --git a/public/assets/LoadState.vue_vue_type_script_setup_true_lang-DkVVX15k.js b/public/assets/LoadState.vue_vue_type_script_setup_true_lang-DkVVX15k.js deleted file mode 100644 index e8eb3e4..0000000 --- a/public/assets/LoadState.vue_vue_type_script_setup_true_lang-DkVVX15k.js +++ /dev/null @@ -1 +0,0 @@ -import{d as n,c as s,p as l,t as i,b as o,T as d,n as a}from"./index-BJq7_SVs.js";const y={key:0,class:"notice error",role:"alert"},c={key:1,class:"stack","aria-busy":"true","aria-label":"Wczytywanie"},m=n({__name:"LoadState",props:{loading:{type:Boolean},error:{},ready:{type:Boolean}},emits:["retry"],setup(e){return(r,t)=>e.error&&!e.ready?(a(),s("div",y,[l(i(e.error)+" ",1),o("button",{class:"linkish",type:"button",onClick:t[0]||(t[0]=u=>r.$emit("retry"))},"Spróbuj ponownie")])):e.ready?d(r.$slots,"default",{},void 0,void 0,2):(a(),s("div",c,[...t[1]||(t[1]=[o("div",{class:"skeleton"},null,-1),o("div",{class:"skeleton"},null,-1),o("div",{class:"skeleton"},null,-1)])]))}});export{m as _}; diff --git a/public/assets/LoginView-DIA9DBI0.js b/public/assets/LoginView-D6k636L5.js similarity index 95% rename from public/assets/LoginView-DIA9DBI0.js rename to public/assets/LoginView-D6k636L5.js index de926f5..f31095b 100644 --- a/public/assets/LoginView-DIA9DBI0.js +++ b/public/assets/LoginView-D6k636L5.js @@ -1 +1 @@ -import{d as C,u as q,o as z,a as N,c as o,b as s,e as U,f as i,t as p,w as y,v as w,g as Z,h as B,i as g,j as k,k as S,r as a,l as A,m as I,n as l,p as _}from"./index-BJq7_SVs.js";import{s as h,f as R}from"./forms-C2WygAic.js";import{o as T}from"./oauth-zzthF4BZ.js";const D={class:"auth"},E={key:0,class:"notice",role:"status"},L={key:0,class:"notice error",role:"alert",style:{"margin-bottom":"14px"}},P={class:"field"},W={key:0,class:"error-text"},H={class:"field"},F={key:0,class:"error-text"},G={class:"check",style:{"margin-bottom":"16px"}},J=["disabled"],K={class:"auth-links"},$=C({__name:"LoginView",setup(O){const x=q(),c=S(),j=I(),n=a(""),u=a(""),v=a(!0),d=a(!1),t=a(null),f=a(!1);z(async()=>{try{const m=await N.oauthProviders();f.value=m.providers.some(e=>e.name==="microsoft")}catch{f.value=!1}});function V(){window.location.assign(T("microsoft",{action:"login",returnTo:h(c.query.redirect)}))}async function M(){d.value=!0,t.value=null;try{await x.login(n.value.trim(),u.value,v.value),await j.replace(h(c.query.redirect))}catch(m){t.value=R(m)}finally{d.value=!1}}return(m,e)=>{const b=A("router-link");return l(),o("div",D,[e[8]||(e[8]=s("header",{class:"page-head"},[s("span",{class:"eyebrow"},"BM II° · UWr"),s("h1",null,"Zaloguj się")],-1)),U(c).query.expired?(l(),o("p",E,"Sesja wygasła. Zaloguj się ponownie.")):i("",!0),s("form",{onSubmit:B(M,["prevent"]),novalidate:""},[t.value?.message?(l(),o("div",L,p(t.value.message),1)):i("",!0),s("div",P,[e[3]||(e[3]=s("label",{for:"email"},"Adres e-mail",-1)),y(s("input",{id:"email","onUpdate:modelValue":e[0]||(e[0]=r=>n.value=r),type:"email",autocomplete:"username",inputmode:"email",required:"",autofocus:""},null,512),[[w,n.value]]),t.value?.fields.email?(l(),o("p",W,p(t.value.fields.email),1)):i("",!0)]),s("div",H,[e[4]||(e[4]=s("label",{for:"password"},"Hasło",-1)),y(s("input",{id:"password","onUpdate:modelValue":e[1]||(e[1]=r=>u.value=r),type:"password",autocomplete:"current-password",required:""},null,512),[[w,u.value]]),t.value?.fields.password?(l(),o("p",F,p(t.value.fields.password),1)):i("",!0)]),s("label",G,[y(s("input",{"onUpdate:modelValue":e[2]||(e[2]=r=>v.value=r),type:"checkbox"},null,512),[[Z,v.value]]),e[5]||(e[5]=s("span",null,"Pamiętaj mnie na tym urządzeniu",-1))]),s("button",{class:"btn primary block",type:"submit",disabled:d.value||!n.value||!u.value},p(d.value?"Logowanie…":"Zaloguj się"),9,J)],32),f.value?(l(),o("button",{key:1,class:"btn block",type:"button",style:{"margin-top":"12px"},onClick:V},"Zaloguj przez Microsoft 365")):i("",!0),s("div",K,[g(b,{to:"/przypomnij-haslo"},{default:k(()=>[...e[6]||(e[6]=[_("Nie pamiętam hasła",-1)])]),_:1}),g(b,{to:"/rejestracja"},{default:k(()=>[...e[7]||(e[7]=[_("Załóż konto",-1)])]),_:1})])])}}});export{$ as default}; +import{d as C,u as q,o as z,a as N,c as o,b as s,e as U,f as i,t as p,w as y,v as w,g as Z,h as B,i as g,j as k,k as S,r as a,l as A,m as I,n as l,p as _}from"./index-BxuLaZe9.js";import{s as h,f as R}from"./forms-Bd757Xmp.js";import{o as T}from"./oauth-zzthF4BZ.js";const D={class:"auth"},E={key:0,class:"notice",role:"status"},L={key:0,class:"notice error",role:"alert",style:{"margin-bottom":"14px"}},P={class:"field"},W={key:0,class:"error-text"},H={class:"field"},F={key:0,class:"error-text"},G={class:"check",style:{"margin-bottom":"16px"}},J=["disabled"],K={class:"auth-links"},$=C({__name:"LoginView",setup(O){const x=q(),c=S(),j=I(),n=a(""),u=a(""),v=a(!0),d=a(!1),t=a(null),f=a(!1);z(async()=>{try{const m=await N.oauthProviders();f.value=m.providers.some(e=>e.name==="microsoft")}catch{f.value=!1}});function V(){window.location.assign(T("microsoft",{action:"login",returnTo:h(c.query.redirect)}))}async function M(){d.value=!0,t.value=null;try{await x.login(n.value.trim(),u.value,v.value),await j.replace(h(c.query.redirect))}catch(m){t.value=R(m)}finally{d.value=!1}}return(m,e)=>{const b=A("router-link");return l(),o("div",D,[e[8]||(e[8]=s("header",{class:"page-head"},[s("span",{class:"eyebrow"},"BM II° · UWr"),s("h1",null,"Zaloguj się")],-1)),U(c).query.expired?(l(),o("p",E,"Sesja wygasła. Zaloguj się ponownie.")):i("",!0),s("form",{onSubmit:B(M,["prevent"]),novalidate:""},[t.value?.message?(l(),o("div",L,p(t.value.message),1)):i("",!0),s("div",P,[e[3]||(e[3]=s("label",{for:"email"},"Adres e-mail",-1)),y(s("input",{id:"email","onUpdate:modelValue":e[0]||(e[0]=r=>n.value=r),type:"email",autocomplete:"username",inputmode:"email",required:"",autofocus:""},null,512),[[w,n.value]]),t.value?.fields.email?(l(),o("p",W,p(t.value.fields.email),1)):i("",!0)]),s("div",H,[e[4]||(e[4]=s("label",{for:"password"},"Hasło",-1)),y(s("input",{id:"password","onUpdate:modelValue":e[1]||(e[1]=r=>u.value=r),type:"password",autocomplete:"current-password",required:""},null,512),[[w,u.value]]),t.value?.fields.password?(l(),o("p",F,p(t.value.fields.password),1)):i("",!0)]),s("label",G,[y(s("input",{"onUpdate:modelValue":e[2]||(e[2]=r=>v.value=r),type:"checkbox"},null,512),[[Z,v.value]]),e[5]||(e[5]=s("span",null,"Pamiętaj mnie na tym urządzeniu",-1))]),s("button",{class:"btn primary block",type:"submit",disabled:d.value||!n.value||!u.value},p(d.value?"Logowanie…":"Zaloguj się"),9,J)],32),f.value?(l(),o("button",{key:1,class:"btn block",type:"button",style:{"margin-top":"12px"},onClick:V},"Zaloguj przez Microsoft 365")):i("",!0),s("div",K,[g(b,{to:"/przypomnij-haslo"},{default:k(()=>[...e[6]||(e[6]=[_("Nie pamiętam hasła",-1)])]),_:1}),g(b,{to:"/rejestracja"},{default:k(()=>[...e[7]||(e[7]=[_("Załóż konto",-1)])]),_:1})])])}}});export{$ as default}; diff --git a/public/assets/MaterialView-D9oKrB12.js b/public/assets/MaterialView-D9oKrB12.js new file mode 100644 index 0000000..cf3d0a2 --- /dev/null +++ b/public/assets/MaterialView-D9oKrB12.js @@ -0,0 +1 @@ +import{_ as M}from"./PageHead.vue_vue_type_script_setup_true_lang-BvljxRM_.js";import{_ as T}from"./LoadState.vue_vue_type_script_setup_true_lang-CZ3UpUyg.js";import{d as $,o as B,T as L,c as t,i as c,j as u,r as k,ak as N,al as V,n as a,F as m,e as _,am as z,ao as C,p as b,b as l,s as E,t as n,f as r,H as w,a1 as H,x as g,l as S}from"./index-BxuLaZe9.js";import{r as A,s as D}from"./markdown-C6lfQdWc.js";const F={class:"muted small"},P={key:1},j={key:0},O={key:1},R=["href"],U=["innerHTML"],Y={key:3,class:"section","aria-labelledby":"files-h"},q={class:"rows"},G=["href","download"],I={class:"when"},X=$({__name:"MaterialView",props:{id:{}},setup(x){const v=x,e=k(null),i=k("");async function d(){e.value=null,i.value="";try{e.value=await N.material(Number(v.id))}catch(h){i.value=V(h)}}B(d),L(()=>v.id,d);const p=g(()=>A(e.value?.body)),f=g(()=>e.value?.url?D(e.value.url):null);return(h,o)=>{const y=S("router-link");return a(),t("div",null,[c(T,{ready:!!e.value,error:i.value,onRetry:o[0]||(o[0]=s=>d())},{default:u(()=>[e.value?(a(),t(m,{key:0},[c(M,{eyebrow:`${_(z)[e.value.type]}${e.value.published_at?" · "+_(C)(e.value.published_at):""}`,title:e.value.title},{default:u(()=>[c(y,{class:"btn small ghost",to:"/materialy"},{default:u(()=>[...o[1]||(o[1]=[b("← Materiały",-1)])]),_:1})]),_:1},8,["eyebrow","title"]),l("p",F,[e.value.course?(a(),E(y,{key:0,to:`/przedmioty/${e.value.course.id}`},{default:u(()=>[b(n(e.value.course.name),1)]),_:1},8,["to"])):r("",!0),e.value.source?(a(),t("span",P," · "+n(e.value.source),1)):r("",!0)]),e.value.tags.length?(a(),t("p",j,[(a(!0),t(m,null,w(e.value.tags,s=>(a(),t("span",{key:s.id,class:"badge",style:{"margin-right":"4px"}},n(s.name),1))),128))])):r("",!0),f.value?(a(),t("p",O,[l("a",{class:"btn small",href:f.value,target:"_blank",rel:"noopener noreferrer"},"Otwórz link",8,R)])):r("",!0),p.value?(a(),t("div",{key:2,class:"prose card",innerHTML:p.value},null,8,U)):r("",!0),e.value.files.length?(a(),t("section",Y,[o[2]||(o[2]=l("div",{class:"section-head"},[l("h2",{id:"files-h"},"Pliki")],-1)),l("ul",q,[(a(!0),t(m,null,w(e.value.files,s=>(a(),t("li",{key:s.id,class:"row-main"},[l("a",{href:s.url,download:s.name},n(s.name),9,G),l("span",I,n(_(H)(s.size)),1)]))),128))])])):r("",!0)],64)):r("",!0)]),_:1},8,["ready","error"])])}}});export{X as default}; diff --git a/public/assets/MaterialView-DzPYlaMy.js b/public/assets/MaterialView-DzPYlaMy.js deleted file mode 100644 index bfcf716..0000000 --- a/public/assets/MaterialView-DzPYlaMy.js +++ /dev/null @@ -1,6 +0,0 @@ -import{_ as L}from"./PageHead.vue_vue_type_script_setup_true_lang-D45_AHIh.js";import{_ as V}from"./LoadState.vue_vue_type_script_setup_true_lang-DkVVX15k.js";import{d as q,o as z,D as E,c as u,i as k,j as v,r as j,H,I as D,n as l,F as y,e as w,p as B,b as p,s as W,t as f,f as h,B as M,x as N,l as A}from"./index-BJq7_SVs.js";import{T as F,i as P,j as I}from"./format-bcE-cYHJ.js";const O={"&":"&","<":"<",">":">",'"':""","'":"'"};function _(o){return o.replace(/[&<>"']/g,t=>O[t])}function T(o){const t=o.trim().replace(/[\u0000-\u001f\u007f\s]+/g,"");return/^https?:\/\/[^/]/i.test(t)||/^mailto:[^\s]+$/i.test(t)||t.startsWith("/")&&!t.startsWith("//")||t.startsWith("#")?t:null}function b(o){const t=[],s=i=>`\0${t.push(i)-1}\0`;let e=o.replace(/\u0000/g,"");return e=e.replace(/`([^`\n]+)`/g,(i,c)=>s(`${_(c)}`)),e=e.replace(/\[([^\]\n]+)\]\(([^()\s]*(?:\([^()\s]*\)[^()\s]*)*)\)/g,(i,c,r)=>{const d=T(r),a=S(_(c));if(!d)return s(a);const n=/^https?:/i.test(d)?' target="_blank" rel="noopener noreferrer nofollow"':"";return s(`${a}`)}),e=S(_(e)),e.replace(/\u0000(\d+)\u0000/g,(i,c)=>t[Number(c)]??"")}function S(o){return o.replace(/\*\*([^*\n]+)\*\*/g,"$1").replace(/(^|[\s(])\*([^*\n]+)\*(?=$|[\s).,;:!?])/g,"$1$2").replace(/(^|[\s(])_([^_\n]+)_(?=$|[\s).,;:!?])/g,"$1$2")}function C(o){if(!o)return"";const t=o.replace(/\r\n?/g,` -`).split(` -`),s=[];let e=0;const i=r=>r.trim()==="",c=r=>/^(#{1,6})\s/.test(r)||/^```/.test(r)||/^>\s?/.test(r)||/^\s*([-*+]|\d+[.)])\s+/.test(r)||/^(-{3,}|\*{3,}|_{3,})\s*$/.test(r);for(;e${_(n.join(` -`))}`);continue}const d=/^(#{1,6})\s+(.*?)\s*#*\s*$/.exec(r);if(d){const n=Math.min(d[1].length+1,6);s.push(`${b(d[2])}`),e++;continue}if(/^(-{3,}|\*{3,}|_{3,})\s*$/.test(r)){s.push("
"),e++;continue}if(/^>\s?/.test(r)){const n=[];for(;e\s?/.test(t[e]);)n.push(t[e++].replace(/^>\s?/,""));s.push(`
${C(n.join(` -`))}
`);continue}const a=/^\s*([-*+]|\d+[.)])\s+(.*)$/.exec(r);if(a){const n=/\d/.test(a[1]),$=[];for(;e${b(x)}`)}s.push(n?`
    ${$.join("")}
`:`
    ${$.join("")}
`);continue}const m=[r];for(e++;e${m.map(n=>b(n.trim())).join(" ")}

`)}return s.join(` -`)}const R={class:"muted small"},U={key:1},Y={key:0},G={key:1},J=["href"],K=["innerHTML"],Q={key:3,class:"section","aria-labelledby":"files-h"},X={class:"rows"},Z=["href","download"],ee={class:"when"},oe=q({__name:"MaterialView",props:{id:{}},setup(o){const t=o,s=j(null),e=j("");async function i(){s.value=null,e.value="";try{s.value=await H.material(Number(t.id))}catch(d){e.value=D(d)}}z(i),E(()=>t.id,i);const c=N(()=>C(s.value?.body)),r=N(()=>s.value?.url?T(s.value.url):null);return(d,a)=>{const m=A("router-link");return l(),u("div",null,[k(V,{ready:!!s.value,error:e.value,onRetry:a[0]||(a[0]=n=>i())},{default:v(()=>[s.value?(l(),u(y,{key:0},[k(L,{eyebrow:`${w(F)[s.value.type]}${s.value.published_at?" · "+w(P)(s.value.published_at):""}`,title:s.value.title},{default:v(()=>[k(m,{class:"btn small ghost",to:"/materialy"},{default:v(()=>[...a[1]||(a[1]=[B("← Materiały",-1)])]),_:1})]),_:1},8,["eyebrow","title"]),p("p",R,[s.value.course?(l(),W(m,{key:0,to:`/przedmioty/${s.value.course.id}`},{default:v(()=>[B(f(s.value.course.name),1)]),_:1},8,["to"])):h("",!0),s.value.source?(l(),u("span",U," · "+f(s.value.source),1)):h("",!0)]),s.value.tags.length?(l(),u("p",Y,[(l(!0),u(y,null,M(s.value.tags,n=>(l(),u("span",{key:n.id,class:"badge",style:{"margin-right":"4px"}},f(n.name),1))),128))])):h("",!0),r.value?(l(),u("p",G,[p("a",{class:"btn small",href:r.value,target:"_blank",rel:"noopener noreferrer"},"Otwórz link",8,J)])):h("",!0),c.value?(l(),u("div",{key:2,class:"prose card",innerHTML:c.value},null,8,K)):h("",!0),s.value.files.length?(l(),u("section",Q,[a[2]||(a[2]=p("div",{class:"section-head"},[p("h2",{id:"files-h"},"Pliki")],-1)),p("ul",X,[(l(!0),u(y,null,M(s.value.files,n=>(l(),u("li",{key:n.id,class:"row-main"},[p("a",{href:n.url,download:n.name},f(n.name),9,Z),p("span",ee,f(w(I)(n.size)),1)]))),128))])])):h("",!0)],64)):h("",!0)]),_:1},8,["ready","error"])])}}});export{oe as default}; diff --git a/public/assets/MaterialsView-BeOYfsO4.js b/public/assets/MaterialsView-BeOYfsO4.js new file mode 100644 index 0000000..f84845e --- /dev/null +++ b/public/assets/MaterialsView-BeOYfsO4.js @@ -0,0 +1 @@ +import{d as V,ad as B,o as $,ak as D,al as P,T as E,c as a,i as F,b as l,w as N,ap as j,F as c,H as v,e as y,am as M,h as L,f as d,p as W,t as n,aq as q,r as m,x as S,n as s,s as A,j as U,ao as H,ae as O,l as R}from"./index-BxuLaZe9.js";import{_ as Y}from"./PageHead.vue_vue_type_script_setup_true_lang-BvljxRM_.js";const G={class:"field"},I=["value"],J={class:"field"},K=["value"],Q={key:0,class:"chips wrap",role:"group","aria-label":"Tagi",style:{"margin-bottom":"12px"}},X=["aria-pressed","onClick"],Z={key:2,class:"notice error",role:"alert"},ee={key:3,class:"stack","aria-busy":"true"},te=["aria-busy"],se={class:"row-main"},ae={class:"badge"},le={class:"muted small",style:{margin:"0"}},oe={key:0},ne={key:1},ie={key:2},re={key:0,style:{margin:"6px 0 0"}},ue={key:1,class:"empty",style:{"margin-top":"12px"}},de={key:2,class:"btn-row",style:{"margin-top":"16px","justify-content":"space-between","align-items":"center"},"aria-label":"Strony"},pe=["disabled"],ce={class:"muted small nums"},ve=["disabled"],ke=V({__name:"MaterialsView",setup(ye){const h=B(),o=q({course:"",type:"",tag:""}),i=m(1),u=m(null),b=m(!1),g=m(""),k=m(new Map);$(()=>{h.loadCourses(),_()});let f=0;async function _(){const r=++f;b.value=!0,g.value="";try{const t=await D.materials({course:o.course?Number(o.course):null,type:o.type||null,tag:o.tag||null,page:i.value});if(r!==f)return;u.value=t;for(const w of t.data)for(const e of w.tags)k.value.set(e.slug,e);k.value=new Map(k.value)}catch(t){r===f&&(g.value=P(t))}finally{r===f&&(b.value=!1)}}E(o,()=>{i.value=1,_()});function x(r){i.value=r,_(),window.scrollTo({top:0})}const C=S(()=>[...k.value.values()].sort((r,t)=>r.name.localeCompare(t.name,"pl"))),z=S(()=>!!(o.course||o.type||o.tag)),T=()=>Object.assign(o,{course:"",type:"",tag:""});return(r,t)=>{const w=R("router-link");return s(),a("div",null,[F(Y,{eyebrow:"Notatki, PDF-y, linki",title:"Materiały"}),l("form",{class:"grid-2",style:{"margin-bottom":"8px"},onSubmit:t[2]||(t[2]=L(()=>{},["prevent"]))},[l("div",G,[t[7]||(t[7]=l("label",{for:"f-course"},"Przedmiot",-1)),N(l("select",{id:"f-course","onUpdate:modelValue":t[0]||(t[0]=e=>o.course=e)},[t[6]||(t[6]=l("option",{value:""},"Wszystkie",-1)),(s(!0),a(c,null,v(y(h).visibleCourses,e=>(s(),a("option",{key:e.id,value:String(e.id)},n(e.name)+" ("+n(e.form==="wyklad"?"wykład":e.form==="cwiczenia"?"ćwiczenia":e.form)+")",9,I))),128))],512),[[j,o.course]])]),l("div",J,[t[9]||(t[9]=l("label",{for:"f-type"},"Rodzaj",-1)),N(l("select",{id:"f-type","onUpdate:modelValue":t[1]||(t[1]=e=>o.type=e)},[t[8]||(t[8]=l("option",{value:""},"Wszystkie",-1)),(s(!0),a(c,null,v(y(M),(e,p)=>(s(),a("option",{key:p,value:p},n(e),9,K))),128))],512),[[j,o.type]])])],32),C.value.length?(s(),a("div",Q,[(s(!0),a(c,null,v(C.value,e=>(s(),a("button",{key:e.slug,class:"chip",type:"button","aria-pressed":o.tag===e.slug,onClick:p=>o.tag=o.tag===e.slug?"":e.slug},n(e.name),9,X))),128))])):d("",!0),z.value?(s(),a("button",{key:1,class:"linkish small",type:"button",onClick:T},"Wyczyść filtry")):d("",!0),g.value?(s(),a("div",Z,[W(n(g.value)+" ",1),l("button",{class:"linkish",type:"button",onClick:t[3]||(t[3]=e=>_())},"Spróbuj ponownie")])):u.value?(s(),a(c,{key:4},[u.value.data.length?(s(),a("div",{key:0,class:"stack",style:{"margin-top":"12px"},"aria-busy":b.value},[(s(!0),a(c,null,v(u.value.data,e=>(s(),A(w,{key:e.id,to:`/materialy/${e.id}`,class:"card link"},{default:U(()=>[l("div",se,[l("h3",null,n(e.title),1),l("span",ae,n(y(M)[e.type]),1)]),l("p",le,[e.course?(s(),a("span",oe,n(e.course.name),1)):d("",!0),e.published_at?(s(),a("span",ne," · "+n(y(H)(e.published_at)),1)):d("",!0),e.files_count?(s(),a("span",ie," · "+n(y(O)(e.files_count,"plik","pliki","plików")),1)):d("",!0)]),e.tags.length?(s(),a("p",re,[(s(!0),a(c,null,v(e.tags,p=>(s(),a("span",{key:p.id,class:"badge",style:{"margin-right":"4px"}},n(p.name),1))),128))])):d("",!0)]),_:2},1032,["to"]))),128))],8,te)):(s(),a("p",ue,n(z.value?"Nic nie pasuje do filtrów.":"Nie ma jeszcze żadnych materiałów."),1)),u.value.meta.last_page>1?(s(),a("nav",de,[l("button",{class:"btn small",type:"button",disabled:i.value<=1,onClick:t[4]||(t[4]=e=>x(i.value-1))},"← Poprzednia",8,pe),l("span",ce,n(i.value)+" / "+n(u.value.meta.last_page),1),l("button",{class:"btn small",type:"button",disabled:i.value>=u.value.meta.last_page,onClick:t[5]||(t[5]=e=>x(i.value+1))},"Następna →",8,ve)])):d("",!0)],64)):(s(),a("div",ee,[...t[10]||(t[10]=[l("div",{class:"skeleton"},null,-1),l("div",{class:"skeleton"},null,-1)])]))])}}});export{ke as default}; diff --git a/public/assets/MaterialsView-DsBSXr8F.js b/public/assets/MaterialsView-DsBSXr8F.js deleted file mode 100644 index 9ab5844..0000000 --- a/public/assets/MaterialsView-DsBSXr8F.js +++ /dev/null @@ -1 +0,0 @@ -import{d as T,y as V,o as $,H as D,I as P,D as E,c as a,i as F,b as l,w as N,J as j,F as c,B as v,e as y,h as L,f as d,p as W,t as n,K as A,r as m,x as B,n as s,l as U,s as q,j as H}from"./index-BJq7_SVs.js";import{_ as I}from"./PageHead.vue_vue_type_script_setup_true_lang-D45_AHIh.js";import{T as M,i as J,c as K}from"./format-bcE-cYHJ.js";const O={class:"field"},R=["value"],Y={class:"field"},G=["value"],Q={key:0,class:"chips wrap",role:"group","aria-label":"Tagi",style:{"margin-bottom":"12px"}},X=["aria-pressed","onClick"],Z={key:2,class:"notice error",role:"alert"},ee={key:3,class:"stack","aria-busy":"true"},te=["aria-busy"],se={class:"row-main"},ae={class:"badge"},le={class:"muted small",style:{margin:"0"}},oe={key:0},ne={key:1},ie={key:2},re={key:0,style:{margin:"6px 0 0"}},ue={key:1,class:"empty",style:{"margin-top":"12px"}},de={key:2,class:"btn-row",style:{"margin-top":"16px","justify-content":"space-between","align-items":"center"},"aria-label":"Strony"},pe=["disabled"],ce={class:"muted small nums"},ve=["disabled"],ke=T({__name:"MaterialsView",setup(ye){const h=V(),o=A({course:"",type:"",tag:""}),i=m(1),u=m(null),b=m(!1),g=m(""),f=m(new Map);$(()=>{h.loadCourses(),_()});let k=0;async function _(){const r=++k;b.value=!0,g.value="";try{const t=await D.materials({course:o.course?Number(o.course):null,type:o.type||null,tag:o.tag||null,page:i.value});if(r!==k)return;u.value=t;for(const w of t.data)for(const e of w.tags)f.value.set(e.slug,e);f.value=new Map(f.value)}catch(t){r===k&&(g.value=P(t))}finally{r===k&&(b.value=!1)}}E(o,()=>{i.value=1,_()});function x(r){i.value=r,_(),window.scrollTo({top:0})}const C=B(()=>[...f.value.values()].sort((r,t)=>r.name.localeCompare(t.name,"pl"))),z=B(()=>!!(o.course||o.type||o.tag)),S=()=>Object.assign(o,{course:"",type:"",tag:""});return(r,t)=>{const w=U("router-link");return s(),a("div",null,[F(I,{eyebrow:"Notatki, PDF-y, linki",title:"Materiały"}),l("form",{class:"grid-2",style:{"margin-bottom":"8px"},onSubmit:t[2]||(t[2]=L(()=>{},["prevent"]))},[l("div",O,[t[7]||(t[7]=l("label",{for:"f-course"},"Przedmiot",-1)),N(l("select",{id:"f-course","onUpdate:modelValue":t[0]||(t[0]=e=>o.course=e)},[t[6]||(t[6]=l("option",{value:""},"Wszystkie",-1)),(s(!0),a(c,null,v(y(h).visibleCourses,e=>(s(),a("option",{key:e.id,value:String(e.id)},n(e.name)+" ("+n(e.form==="wyklad"?"wykład":e.form==="cwiczenia"?"ćwiczenia":e.form)+")",9,R))),128))],512),[[j,o.course]])]),l("div",Y,[t[9]||(t[9]=l("label",{for:"f-type"},"Rodzaj",-1)),N(l("select",{id:"f-type","onUpdate:modelValue":t[1]||(t[1]=e=>o.type=e)},[t[8]||(t[8]=l("option",{value:""},"Wszystkie",-1)),(s(!0),a(c,null,v(y(M),(e,p)=>(s(),a("option",{key:p,value:p},n(e),9,G))),128))],512),[[j,o.type]])])],32),C.value.length?(s(),a("div",Q,[(s(!0),a(c,null,v(C.value,e=>(s(),a("button",{key:e.slug,class:"chip",type:"button","aria-pressed":o.tag===e.slug,onClick:p=>o.tag=o.tag===e.slug?"":e.slug},n(e.name),9,X))),128))])):d("",!0),z.value?(s(),a("button",{key:1,class:"linkish small",type:"button",onClick:S},"Wyczyść filtry")):d("",!0),g.value?(s(),a("div",Z,[W(n(g.value)+" ",1),l("button",{class:"linkish",type:"button",onClick:t[3]||(t[3]=e=>_())},"Spróbuj ponownie")])):u.value?(s(),a(c,{key:4},[u.value.data.length?(s(),a("div",{key:0,class:"stack",style:{"margin-top":"12px"},"aria-busy":b.value},[(s(!0),a(c,null,v(u.value.data,e=>(s(),q(w,{key:e.id,to:`/materialy/${e.id}`,class:"card link"},{default:H(()=>[l("div",se,[l("h3",null,n(e.title),1),l("span",ae,n(y(M)[e.type]),1)]),l("p",le,[e.course?(s(),a("span",oe,n(e.course.name),1)):d("",!0),e.published_at?(s(),a("span",ne," · "+n(y(J)(e.published_at)),1)):d("",!0),e.files_count?(s(),a("span",ie," · "+n(y(K)(e.files_count,"plik","pliki","plików")),1)):d("",!0)]),e.tags.length?(s(),a("p",re,[(s(!0),a(c,null,v(e.tags,p=>(s(),a("span",{key:p.id,class:"badge",style:{"margin-right":"4px"}},n(p.name),1))),128))])):d("",!0)]),_:2},1032,["to"]))),128))],8,te)):(s(),a("p",ue,n(z.value?"Nic nie pasuje do filtrów.":"Nie ma jeszcze żadnych materiałów."),1)),u.value.meta.last_page>1?(s(),a("nav",de,[l("button",{class:"btn small",type:"button",disabled:i.value<=1,onClick:t[4]||(t[4]=e=>x(i.value-1))},"← Poprzednia",8,pe),l("span",ce,n(i.value)+" / "+n(u.value.meta.last_page),1),l("button",{class:"btn small",type:"button",disabled:i.value>=u.value.meta.last_page,onClick:t[5]||(t[5]=e=>x(i.value+1))},"Następna →",8,ve)])):d("",!0)],64)):(s(),a("div",ee,[...t[10]||(t[10]=[l("div",{class:"skeleton"},null,-1),l("div",{class:"skeleton"},null,-1)])]))])}}});export{ke as default}; diff --git a/public/assets/MoreView-B_R4VRmO.js b/public/assets/MoreView-B_R4VRmO.js new file mode 100644 index 0000000..bdd6d83 --- /dev/null +++ b/public/assets/MoreView-B_R4VRmO.js @@ -0,0 +1 @@ +import{_ as b}from"./PageHead.vue_vue_type_script_setup_true_lang-BvljxRM_.js";import{d as h,u as _,as as k,at as z,c as o,i,b as t,F as w,H as f,e as n,f as g,t as l,x as j,n as s,s as v,j as P,l as x,_ as u}from"./index-BxuLaZe9.js";const C={class:"stack"},N={class:"row-main",style:{"align-items":"center"}},B={class:"muted small"},D={class:"row-main",style:{"align-items":"center"}},W=h({__name:"MoreView",setup(F){const r=_(),c=k(),d=z(),m=[{to:"/terminarz",label:"Terminarz",hint:"Zaliczenia, egzaminy, sprawy organizacyjne",icon:"flag"},{to:"/przedmioty",label:"Przedmioty",hint:"Program studiów, prowadzący, materiały",icon:"grad"},{to:"/materialy",label:"Materiały",hint:"Notatki, PDF-y, linki",icon:"file"},{to:"/sylabusy",label:"Sylabusy",hint:"Karty przedmiotów do pobrania (PDF)",icon:"file"},{to:"/moje-prezentacje",label:"Moje prezentacje",hint:"Wersje prelegenta i linki publiczne",icon:"slides"},{to:"/profil",label:"Profil",hint:"Dane, hasło, wybór przedmiotów",icon:"user"}],p=j(()=>d?[{to:"/pilot",label:"Pilot",hint:"Ostatnia prezentacja otwierana na tym urządzeniu",icon:"slides"},...m]:m);return(V,e)=>{const y=x("router-link");return s(),o("div",null,[i(b,{eyebrow:"Pozostałe",title:"Więcej"}),t("div",C,[(s(!0),o(w,null,f(p.value,a=>(s(),v(y,{key:a.to,to:a.to,class:"card link"},{default:P(()=>[t("div",N,[t("div",null,[t("h3",null,l(a.label),1),t("span",B,l(a.hint),1)]),i(u,{name:"chevron",style:{width:"20px",height:"20px"}})])]),_:2},1032,["to"]))),128)),n(c).canInstall?(s(),o("button",{key:0,type:"button",class:"card link",onClick:e[0]||(e[0]=a=>n(c).install())},[t("div",D,[e[2]||(e[2]=t("div",null,[t("h3",null,"Zainstaluj aplikację"),t("span",{class:"muted small"},"Ikona na ekranie głównym i szybki dostęp do pilota")],-1)),i(u,{name:"chevron",style:{width:"20px",height:"20px"}})])])):g("",!0),t("button",{class:"btn miss",type:"button",onClick:e[1]||(e[1]=a=>n(r).logout())},"Wyloguj ("+l(n(r).displayName)+")",1)])])}}});export{W as default}; diff --git a/public/assets/MoreView-gh18oZnn.js b/public/assets/MoreView-gh18oZnn.js deleted file mode 100644 index e21658d..0000000 --- a/public/assets/MoreView-gh18oZnn.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as b}from"./PageHead.vue_vue_type_script_setup_true_lang-D45_AHIh.js";import{d as h,u as _,O as k,P as z,c as s,i,b as t,F as w,B as f,e as n,f as g,t as l,x as j,n as o,s as v,j as P,l as x,_ as u}from"./index-BJq7_SVs.js";const C={class:"stack"},B={class:"row-main",style:{"align-items":"center"}},N={class:"muted small"},D={class:"row-main",style:{"align-items":"center"}},W=h({__name:"MoreView",setup(F){const r=_(),c=k(),d=z(),m=[{to:"/terminarz",label:"Terminarz",hint:"Zaliczenia, egzaminy, sprawy organizacyjne",icon:"flag"},{to:"/przedmioty",label:"Przedmioty",hint:"Program studiów, prowadzący, materiały",icon:"grad"},{to:"/materialy",label:"Materiały",hint:"Notatki, PDF-y, linki",icon:"file"},{to:"/sylabusy",label:"Sylabusy",hint:"Karty przedmiotów do pobrania (PDF)",icon:"file"},{to:"/moje-prezentacje",label:"Moje prezentacje",hint:"Wersje prelegenta i linki publiczne",icon:"slides"},{to:"/profil",label:"Profil",hint:"Dane, hasło, wybór przedmiotów",icon:"user"}],p=j(()=>d?[{to:"/pilot",label:"Pilot",hint:"Ostatnia prezentacja otwierana na tym urządzeniu",icon:"slides"},...m]:m);return(V,e)=>{const y=x("router-link");return o(),s("div",null,[i(b,{eyebrow:"Pozostałe",title:"Więcej"}),t("div",C,[(o(!0),s(w,null,f(p.value,a=>(o(),v(y,{key:a.to,to:a.to,class:"card link"},{default:P(()=>[t("div",B,[t("div",null,[t("h3",null,l(a.label),1),t("span",N,l(a.hint),1)]),i(u,{name:"chevron",style:{width:"20px",height:"20px"}})])]),_:2},1032,["to"]))),128)),n(c).canInstall?(o(),s("button",{key:0,type:"button",class:"card link",onClick:e[0]||(e[0]=a=>n(c).install())},[t("div",D,[e[2]||(e[2]=t("div",null,[t("h3",null,"Zainstaluj aplikację"),t("span",{class:"muted small"},"Ikona na ekranie głównym i szybki dostęp do pilota")],-1)),i(u,{name:"chevron",style:{width:"20px",height:"20px"}})])])):g("",!0),t("button",{class:"btn miss",type:"button",onClick:e[1]||(e[1]=a=>n(r).logout())},"Wyloguj ("+l(n(r).displayName)+")",1)])])}}});export{W as default}; diff --git a/public/assets/MyPresentationsView-B2-iuRVj.js b/public/assets/MyPresentationsView-B2-iuRVj.js new file mode 100644 index 0000000..481cc84 --- /dev/null +++ b/public/assets/MyPresentationsView-B2-iuRVj.js @@ -0,0 +1 @@ +import{d as g,o as b,c as a,i as p,f as _,j as y,k as v,m as h,r as u,al as x,n,F as N,H as $,b as o,t as f,p as l,ae as C,l as V}from"./index-BxuLaZe9.js";import{_ as M}from"./PageHead.vue_vue_type_script_setup_true_lang-BvljxRM_.js";import{_ as P}from"./LoadState.vue_vue_type_script_setup_true_lang-CZ3UpUyg.js";import{p as R}from"./presentations-B9A2ga-H.js";const T={key:0,class:"notice error",role:"alert"},q={key:0,class:"stack"},B={class:"small muted",style:{display:"flex","flex-wrap":"wrap","align-items":"center",gap:"8px",margin:"4px 0 0"}},O={key:0,class:"badge online"},D={key:1,class:"badge"},F={style:{display:"flex","flex-wrap":"wrap",gap:"8px","margin-top":"14px"}},H=["href"],L=["href"],A={key:1,class:"muted small",style:{margin:"0"}},E={key:1,class:"empty"},K=g({__name:"MyPresentationsView",setup(I){const c=v(),k=h(),r=u(null),i=u(""),d=u(!1);function j(t){const e=C(t.slide_count,"slajd","slajdy","slajdów");return t.total_seconds===0?e:`${e} · ${Math.round(t.total_seconds/60)} min`}function w(t){return`/moje-prezentacje/${encodeURIComponent(t)}`}async function m(){i.value="";try{r.value=await R.mine()}catch(t){r.value=null,i.value=x(t)}}return b(()=>{if(c.query.denied==="1"){d.value=!0;const t={...c.query};delete t.denied,k.replace({name:"my-presentations",query:t})}m()}),(t,e)=>{const z=V("router-link");return n(),a("div",null,[p(M,{eyebrow:"Dla prelegenta",title:"Moje prezentacje"}),d.value?(n(),a("p",T," Nie masz dostępu do tej prezentacji albo taka prezentacja nie istnieje. Poniżej są prezentacje przypisane do Twojego konta. ")):_("",!0),p(P,{ready:r.value!==null,error:i.value,onRetry:e[0]||(e[0]=s=>m())},{default:y(()=>[r.value?.length?(n(),a("div",q,[(n(!0),a(N,null,$(r.value,s=>(n(),a("article",{key:s.slug,class:"card accent"},[o("h3",null,f(s.title),1),o("p",B,[o("span",null,f(j(s)),1),s.is_published?(n(),a("span",O,"Opublikowana")):(n(),a("span",D,"Nieopublikowana"))]),o("div",F,[o("a",{class:"btn primary",href:w(s.slug),target:"_blank",rel:"opener"},[...e[1]||(e[1]=[l(" Otwórz wersję prelegenta ",-1),o("span",{class:"sr-only"},"(otwiera się w nowej karcie)",-1)])],8,H),s.is_published&&s.public_path?(n(),a("a",{key:0,class:"btn",href:s.public_path,target:"_blank",rel:"noopener noreferrer"},[...e[2]||(e[2]=[l(" Otwórz wersję publiczną ",-1),o("span",{class:"sr-only"},"(otwiera się w nowej karcie)",-1)])],8,L)):s.is_published?_("",!0):(n(),a("p",A,"Link publiczny zacznie działać po opublikowaniu prezentacji.")),p(z,{class:"btn",to:{name:"presentation-remote",params:{slug:s.slug}}},{default:y(()=>[...e[3]||(e[3]=[l(" Pilot ",-1),o("span",{class:"sr-only"},"(otwórz na telefonie)",-1)])]),_:1},8,["to"])])]))),128))])):(n(),a("p",E,[...e[4]||(e[4]=[o("span",{class:"title",style:{display:"block",color:"var(--ink)"}},"Nie masz jeszcze żadnych prezentacji.",-1),l(" Pojawią się tutaj, gdy administrator przypisze prezentację do Twojego konta. ",-1)])]))]),_:1},8,["ready","error"])])}}});export{K as default}; diff --git a/public/assets/MyPresentationsView-CSLrDLBr.js b/public/assets/MyPresentationsView-CSLrDLBr.js deleted file mode 100644 index 92cb988..0000000 --- a/public/assets/MyPresentationsView-CSLrDLBr.js +++ /dev/null @@ -1 +0,0 @@ -import{d as g,o as b,c as a,i as p,f as _,j as y,k as v,m as h,r as u,I as x,n,F as N,B as $,b as o,t as f,p as l,l as C}from"./index-BJq7_SVs.js";import{_ as V}from"./PageHead.vue_vue_type_script_setup_true_lang-D45_AHIh.js";import{_ as B}from"./LoadState.vue_vue_type_script_setup_true_lang-DkVVX15k.js";import{p as M}from"./presentations-BNEXiGsV.js";import{c as P}from"./format-bcE-cYHJ.js";const R={key:0,class:"notice error",role:"alert"},T={key:0,class:"stack"},q={class:"small muted",style:{display:"flex","flex-wrap":"wrap","align-items":"center",gap:"8px",margin:"4px 0 0"}},O={key:0,class:"badge online"},D={key:1,class:"badge"},F={style:{display:"flex","flex-wrap":"wrap",gap:"8px","margin-top":"14px"}},I=["href"],L=["href"],A={key:1,class:"muted small",style:{margin:"0"}},E={key:1,class:"empty"},Q=g({__name:"MyPresentationsView",setup(H){const c=v(),k=h(),r=u(null),i=u(""),d=u(!1);function j(t){const e=P(t.slide_count,"slajd","slajdy","slajdów");return t.total_seconds===0?e:`${e} · ${Math.round(t.total_seconds/60)} min`}function w(t){return`/moje-prezentacje/${encodeURIComponent(t)}`}async function m(){i.value="";try{r.value=await M.mine()}catch(t){r.value=null,i.value=x(t)}}return b(()=>{if(c.query.denied==="1"){d.value=!0;const t={...c.query};delete t.denied,k.replace({name:"my-presentations",query:t})}m()}),(t,e)=>{const z=C("router-link");return n(),a("div",null,[p(V,{eyebrow:"Dla prelegenta",title:"Moje prezentacje"}),d.value?(n(),a("p",R," Nie masz dostępu do tej prezentacji albo taka prezentacja nie istnieje. Poniżej są prezentacje przypisane do Twojego konta. ")):_("",!0),p(B,{ready:r.value!==null,error:i.value,onRetry:e[0]||(e[0]=s=>m())},{default:y(()=>[r.value?.length?(n(),a("div",T,[(n(!0),a(N,null,$(r.value,s=>(n(),a("article",{key:s.slug,class:"card accent"},[o("h3",null,f(s.title),1),o("p",q,[o("span",null,f(j(s)),1),s.is_published?(n(),a("span",O,"Opublikowana")):(n(),a("span",D,"Nieopublikowana"))]),o("div",F,[o("a",{class:"btn primary",href:w(s.slug),target:"_blank",rel:"opener"},[...e[1]||(e[1]=[l(" Otwórz wersję prelegenta ",-1),o("span",{class:"sr-only"},"(otwiera się w nowej karcie)",-1)])],8,I),s.is_published&&s.public_path?(n(),a("a",{key:0,class:"btn",href:s.public_path,target:"_blank",rel:"noopener noreferrer"},[...e[2]||(e[2]=[l(" Otwórz wersję publiczną ",-1),o("span",{class:"sr-only"},"(otwiera się w nowej karcie)",-1)])],8,L)):s.is_published?_("",!0):(n(),a("p",A,"Link publiczny zacznie działać po opublikowaniu prezentacji.")),p(z,{class:"btn",to:{name:"presentation-remote",params:{slug:s.slug}}},{default:y(()=>[...e[3]||(e[3]=[l(" Pilot ",-1),o("span",{class:"sr-only"},"(otwórz na telefonie)",-1)])]),_:1},8,["to"])])]))),128))])):(n(),a("p",E,[...e[4]||(e[4]=[o("span",{class:"title",style:{display:"block",color:"var(--ink)"}},"Nie masz jeszcze żadnych prezentacji.",-1),l(" Pojawią się tutaj, gdy administrator przypisze prezentację do Twojego konta. ",-1)])]))]),_:1},8,["ready","error"])])}}});export{Q as default}; diff --git a/public/assets/NotFoundView-odJEBny0.js b/public/assets/NotFoundView-Cfgu1NYz.js similarity index 87% rename from public/assets/NotFoundView-odJEBny0.js rename to public/assets/NotFoundView-Cfgu1NYz.js index 99405bf..656403b 100644 --- a/public/assets/NotFoundView-odJEBny0.js +++ b/public/assets/NotFoundView-Cfgu1NYz.js @@ -1 +1 @@ -import{_ as s}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{n as a,c as n,b as t,i as r,j as l,p as c,l as i}from"./index-BJq7_SVs.js";const p={},d={class:"stack"};function _(u,e){const o=i("router-link");return a(),n("div",d,[e[1]||(e[1]=t("header",{class:"page-head"},[t("span",{class:"eyebrow"},"404"),t("h1",null,"Nie ma takiej strony")],-1)),t("p",null,[r(o,{to:"/"},{default:l(()=>[...e[0]||(e[0]=[c("Wróć na pulpit",-1)])]),_:1})])])}const k=s(p,[["render",_]]);export{k as default}; +import{_ as s}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{n as a,c as n,b as t,i as r,j as l,p as c,l as i}from"./index-BxuLaZe9.js";const p={},d={class:"stack"};function _(u,e){const o=i("router-link");return a(),n("div",d,[e[1]||(e[1]=t("header",{class:"page-head"},[t("span",{class:"eyebrow"},"404"),t("h1",null,"Nie ma takiej strony")],-1)),t("p",null,[r(o,{to:"/"},{default:l(()=>[...e[0]||(e[0]=[c("Wróć na pulpit",-1)])]),_:1})])])}const k=s(p,[["render",_]]);export{k as default}; diff --git a/public/assets/OAuthCallbackView-BkDBQb9b.js b/public/assets/OAuthCallbackView-bbZkPXN1.js similarity index 92% rename from public/assets/OAuthCallbackView-BkDBQb9b.js rename to public/assets/OAuthCallbackView-bbZkPXN1.js index e51f2a1..c8772be 100644 --- a/public/assets/OAuthCallbackView-BkDBQb9b.js +++ b/public/assets/OAuthCallbackView-bbZkPXN1.js @@ -1 +1 @@ -import{d as g,u as y,q as h,o as _,A as v,c as i,b as n,t as b,e as A,s as p,j as d,k as B,m as C,r as f,l as j,n as a,p as m}from"./index-BJq7_SVs.js";import{s as x,f as z}from"./forms-C2WygAic.js";import{p as q}from"./oauth-zzthF4BZ.js";const E={class:"auth"},I={key:0,class:"notice",role:"status"},L={key:1,class:"stack"},M={class:"notice error",role:"alert"},k=new Set,V=g({__name:"OAuthCallbackView",setup(O){const l=y(),u=B(),s=C(),w=h(),c=f(!0),t=f("");return _(async()=>{const o=q(u.query);if(o.kind==="pending"){const e={pending:o.pending,provider:o.provider};o.reason&&(e.reason=o.reason),o.email&&(e.email=o.email),await s.replace({name:"oauth-register",query:e});return}if(await s.replace({path:u.path}),o.kind==="error")t.value=o.message;else if(o.kind==="none")t.value="Brak danych logowania. Spróbuj zalogować się ponownie.";else{if(k.has(o.code))return;k.add(o.code);try{const{action:e,returnTo:r}=await l.completeOAuth(o.code);e==="link"?(w.show("Połączono konto Microsoft."),await s.replace("/profil")):await s.replace(x(r));return}catch(e){t.value=e instanceof v&&(e.status===410||e.status===422)?"Link logowania wygasł lub został już użyty.":z(e).message}}c.value=!1}),(o,e)=>{const r=j("router-link");return a(),i("div",E,[e[2]||(e[2]=n("header",{class:"page-head"},[n("span",{class:"eyebrow"},"BM II° · UWr"),n("h1",null,"Logowanie")],-1)),c.value?(a(),i("p",I,"Logowanie…")):(a(),i("div",L,[n("p",M,b(t.value),1),A(l).loggedIn?(a(),p(r,{key:0,class:"btn primary",to:"/profil"},{default:d(()=>[...e[0]||(e[0]=[m("Wróć do profilu",-1)])]),_:1})):(a(),p(r,{key:1,class:"btn primary",to:"/logowanie"},{default:d(()=>[...e[1]||(e[1]=[m("Przejdź do logowania",-1)])]),_:1}))]))])}}});export{V as default}; +import{d as g,u as y,q as h,o as _,A as v,c as i,b as n,t as b,e as A,s as p,j as d,k as B,m as C,r as f,l as j,n as a,p as m}from"./index-BxuLaZe9.js";import{s as x,f as z}from"./forms-Bd757Xmp.js";import{p as q}from"./oauth-zzthF4BZ.js";const E={class:"auth"},I={key:0,class:"notice",role:"status"},L={key:1,class:"stack"},M={class:"notice error",role:"alert"},k=new Set,V=g({__name:"OAuthCallbackView",setup(O){const l=y(),u=B(),s=C(),w=h(),c=f(!0),t=f("");return _(async()=>{const o=q(u.query);if(o.kind==="pending"){const e={pending:o.pending,provider:o.provider};o.reason&&(e.reason=o.reason),o.email&&(e.email=o.email),await s.replace({name:"oauth-register",query:e});return}if(await s.replace({path:u.path}),o.kind==="error")t.value=o.message;else if(o.kind==="none")t.value="Brak danych logowania. Spróbuj zalogować się ponownie.";else{if(k.has(o.code))return;k.add(o.code);try{const{action:e,returnTo:r}=await l.completeOAuth(o.code);e==="link"?(w.show("Połączono konto Microsoft."),await s.replace("/profil")):await s.replace(x(r));return}catch(e){t.value=e instanceof v&&(e.status===410||e.status===422)?"Link logowania wygasł lub został już użyty.":z(e).message}}c.value=!1}),(o,e)=>{const r=j("router-link");return a(),i("div",E,[e[2]||(e[2]=n("header",{class:"page-head"},[n("span",{class:"eyebrow"},"BM II° · UWr"),n("h1",null,"Logowanie")],-1)),c.value?(a(),i("p",I,"Logowanie…")):(a(),i("div",L,[n("p",M,b(t.value),1),A(l).loggedIn?(a(),p(r,{key:0,class:"btn primary",to:"/profil"},{default:d(()=>[...e[0]||(e[0]=[m("Wróć do profilu",-1)])]),_:1})):(a(),p(r,{key:1,class:"btn primary",to:"/logowanie"},{default:d(()=>[...e[1]||(e[1]=[m("Przejdź do logowania",-1)])]),_:1}))]))])}}});export{V as default}; diff --git a/public/assets/OAuthRegisterView-BcOTJs_M.js b/public/assets/OAuthRegisterView-BTIFwH1i.js similarity index 96% rename from public/assets/OAuthRegisterView-BcOTJs_M.js rename to public/assets/OAuthRegisterView-BTIFwH1i.js index 4bb32a5..22e72e5 100644 --- a/public/assets/OAuthRegisterView-BcOTJs_M.js +++ b/public/assets/OAuthRegisterView-BTIFwH1i.js @@ -1 +1 @@ -import{d as U,u as q,c as o,b as t,i as w,j as _,e as c,p as n,t as l,F as V,h as B,f as k,w as j,g as h,x as N,r as i,l as E,k as P,n as a,A as S,m as D}from"./index-BJq7_SVs.js";import{s as F,f as I}from"./forms-C2WygAic.js";const O={class:"auth"},T={key:0,class:"stack"},K={key:1,class:"stack"},L={class:"notice",role:"status"},W={key:0},G={class:"muted",style:{"margin-bottom":"14px"}},H={key:0,class:"notice error",role:"alert",style:{"margin-bottom":"14px"}},J={class:"check"},Q={key:1,class:"error-text"},X={class:"check"},Y={key:2,class:"error-text"},$={class:"check",style:{"margin-bottom":"16px"}},ee=["disabled"],te={class:"auth-links"},ne=U({__name:"OAuthRegisterView",setup(se){const A=q(),C=P(),Z=D();function d(s){const e=C.query[s];return typeof e=="string"?e:""}const x=d("pending"),p=d("email"),M=d("reason"),f=N(()=>{const s=d("provider");return s==="microsoft"||s===""?"Microsoft 365":s.charAt(0).toUpperCase()+s.slice(1)}),m=i(!1),v=i(!1),g=i(!1),y=i(!1),r=i(null),z=i(!x);async function R(){y.value=!0,r.value=null;try{const{returnTo:s}=await A.completeOAuthRegistration({pending_code:x,terms_accepted:m.value,privacy_accepted:v.value,marketing_consent:g.value});await Z.replace(F(s))}catch(s){s instanceof S&&s.status===410?z.value=!0:r.value=I(s)}finally{y.value=!1}}return(s,e)=>{const b=E("router-link");return a(),o("div",O,[e[13]||(e[13]=t("header",{class:"page-head"},[t("span",{class:"eyebrow"},"BM II° · UWr"),t("h1",null,"Rejestracja")],-1)),z.value?(a(),o("div",T,[e[4]||(e[4]=t("p",{class:"notice error",role:"alert"},"Sesja rejestracji wygasła. Zaloguj się ponownie.",-1)),w(b,{class:"btn primary",to:"/logowanie"},{default:_(()=>[...e[3]||(e[3]=[n("Przejdź do logowania",-1)])]),_:1})])):c(M)==="unverified_match"?(a(),o("div",K,[t("p",L,[e[5]||(e[5]=n(" Konto z adresem ",-1)),c(p)?(a(),o("b",W,l(c(p)),1)):(a(),o(V,{key:1},[n("e-mail z konta "+l(f.value),1)],64)),n(" już istnieje. Zaloguj się hasłem, a potem połącz konto "+l(f.value)+" w profilu („Połącz konto Microsoft”). ",1)]),w(b,{class:"btn primary",to:"/logowanie"},{default:_(()=>[...e[6]||(e[6]=[n("Zaloguj się hasłem",-1)])]),_:1})])):(a(),o("form",{key:2,onSubmit:B(R,["prevent"]),novalidate:""},[t("p",G,[n(" Pierwsze logowanie przez "+l(f.value),1),c(p)?(a(),o(V,{key:0},[e[7]||(e[7]=n(" jako ",-1)),t("b",null,l(c(p)),1)],64)):k("",!0),e[8]||(e[8]=n(". Zaakceptuj warunki, aby założyć konto. ",-1))]),r.value?.message?(a(),o("div",H,l(r.value.message),1)):k("",!0),t("label",J,[j(t("input",{"onUpdate:modelValue":e[0]||(e[0]=u=>m.value=u),type:"checkbox",required:""},null,512),[[h,m.value]]),e[9]||(e[9]=t("span",null,"Akceptuję regulamin serwisu (wymagane)",-1))]),r.value?.fields.terms_accepted?(a(),o("p",Q,l(r.value.fields.terms_accepted),1)):k("",!0),t("label",X,[j(t("input",{"onUpdate:modelValue":e[1]||(e[1]=u=>v.value=u),type:"checkbox",required:""},null,512),[[h,v.value]]),e[10]||(e[10]=t("span",null,"Zgadzam się na przetwarzanie moich danych zgodnie z polityką prywatności (wymagane)",-1))]),r.value?.fields.privacy_accepted?(a(),o("p",Y,l(r.value.fields.privacy_accepted),1)):k("",!0),t("label",$,[j(t("input",{"onUpdate:modelValue":e[2]||(e[2]=u=>g.value=u),type:"checkbox"},null,512),[[h,g.value]]),e[11]||(e[11]=t("span",null,"Chcę otrzymywać wiadomości o nowościach (opcjonalnie)",-1))]),t("button",{class:"btn primary block",type:"submit",disabled:y.value||!m.value||!v.value},l(y.value?"Zakładanie…":"Załóż konto"),9,ee)],32)),t("div",te,[w(b,{to:"/logowanie"},{default:_(()=>[...e[12]||(e[12]=[n("Mam już konto",-1)])]),_:1})])])}}});export{ne as default}; +import{d as U,u as q,c as o,b as t,i as w,j as _,e as c,p as n,t as l,F as V,h as B,f as k,w as j,g as h,x as N,r as i,l as E,k as P,n as a,A as S,m as D}from"./index-BxuLaZe9.js";import{s as F,f as I}from"./forms-Bd757Xmp.js";const O={class:"auth"},T={key:0,class:"stack"},K={key:1,class:"stack"},L={class:"notice",role:"status"},W={key:0},G={class:"muted",style:{"margin-bottom":"14px"}},H={key:0,class:"notice error",role:"alert",style:{"margin-bottom":"14px"}},J={class:"check"},Q={key:1,class:"error-text"},X={class:"check"},Y={key:2,class:"error-text"},$={class:"check",style:{"margin-bottom":"16px"}},ee=["disabled"],te={class:"auth-links"},ne=U({__name:"OAuthRegisterView",setup(se){const A=q(),C=P(),Z=D();function d(s){const e=C.query[s];return typeof e=="string"?e:""}const x=d("pending"),p=d("email"),M=d("reason"),f=N(()=>{const s=d("provider");return s==="microsoft"||s===""?"Microsoft 365":s.charAt(0).toUpperCase()+s.slice(1)}),m=i(!1),v=i(!1),g=i(!1),y=i(!1),r=i(null),z=i(!x);async function R(){y.value=!0,r.value=null;try{const{returnTo:s}=await A.completeOAuthRegistration({pending_code:x,terms_accepted:m.value,privacy_accepted:v.value,marketing_consent:g.value});await Z.replace(F(s))}catch(s){s instanceof S&&s.status===410?z.value=!0:r.value=I(s)}finally{y.value=!1}}return(s,e)=>{const b=E("router-link");return a(),o("div",O,[e[13]||(e[13]=t("header",{class:"page-head"},[t("span",{class:"eyebrow"},"BM II° · UWr"),t("h1",null,"Rejestracja")],-1)),z.value?(a(),o("div",T,[e[4]||(e[4]=t("p",{class:"notice error",role:"alert"},"Sesja rejestracji wygasła. Zaloguj się ponownie.",-1)),w(b,{class:"btn primary",to:"/logowanie"},{default:_(()=>[...e[3]||(e[3]=[n("Przejdź do logowania",-1)])]),_:1})])):c(M)==="unverified_match"?(a(),o("div",K,[t("p",L,[e[5]||(e[5]=n(" Konto z adresem ",-1)),c(p)?(a(),o("b",W,l(c(p)),1)):(a(),o(V,{key:1},[n("e-mail z konta "+l(f.value),1)],64)),n(" już istnieje. Zaloguj się hasłem, a potem połącz konto "+l(f.value)+" w profilu („Połącz konto Microsoft”). ",1)]),w(b,{class:"btn primary",to:"/logowanie"},{default:_(()=>[...e[6]||(e[6]=[n("Zaloguj się hasłem",-1)])]),_:1})])):(a(),o("form",{key:2,onSubmit:B(R,["prevent"]),novalidate:""},[t("p",G,[n(" Pierwsze logowanie przez "+l(f.value),1),c(p)?(a(),o(V,{key:0},[e[7]||(e[7]=n(" jako ",-1)),t("b",null,l(c(p)),1)],64)):k("",!0),e[8]||(e[8]=n(". Zaakceptuj warunki, aby założyć konto. ",-1))]),r.value?.message?(a(),o("div",H,l(r.value.message),1)):k("",!0),t("label",J,[j(t("input",{"onUpdate:modelValue":e[0]||(e[0]=u=>m.value=u),type:"checkbox",required:""},null,512),[[h,m.value]]),e[9]||(e[9]=t("span",null,"Akceptuję regulamin serwisu (wymagane)",-1))]),r.value?.fields.terms_accepted?(a(),o("p",Q,l(r.value.fields.terms_accepted),1)):k("",!0),t("label",X,[j(t("input",{"onUpdate:modelValue":e[1]||(e[1]=u=>v.value=u),type:"checkbox",required:""},null,512),[[h,v.value]]),e[10]||(e[10]=t("span",null,"Zgadzam się na przetwarzanie moich danych zgodnie z polityką prywatności (wymagane)",-1))]),r.value?.fields.privacy_accepted?(a(),o("p",Y,l(r.value.fields.privacy_accepted),1)):k("",!0),t("label",$,[j(t("input",{"onUpdate:modelValue":e[2]||(e[2]=u=>g.value=u),type:"checkbox"},null,512),[[h,g.value]]),e[11]||(e[11]=t("span",null,"Chcę otrzymywać wiadomości o nowościach (opcjonalnie)",-1))]),t("button",{class:"btn primary block",type:"submit",disabled:y.value||!m.value||!v.value},l(y.value?"Zakładanie…":"Załóż konto"),9,ee)],32)),t("div",te,[w(b,{to:"/logowanie"},{default:_(()=>[...e[12]||(e[12]=[n("Mam już konto",-1)])]),_:1})])])}}});export{ne as default}; diff --git a/public/assets/PageHead.vue_vue_type_script_setup_true_lang-BvljxRM_.js b/public/assets/PageHead.vue_vue_type_script_setup_true_lang-BvljxRM_.js new file mode 100644 index 0000000..08f109d --- /dev/null +++ b/public/assets/PageHead.vue_vue_type_script_setup_true_lang-BvljxRM_.js @@ -0,0 +1 @@ +import{d as r,c as s,t as a,f as c,b as t,ax as d,n as o}from"./index-BxuLaZe9.js";const l={class:"page-head"},i={key:0,class:"eyebrow"},_={class:"row"},h={class:"btn-row"},p=r({__name:"PageHead",props:{eyebrow:{},title:{}},setup(e){return(n,m)=>(o(),s("header",l,[e.eyebrow?(o(),s("span",i,a(e.eyebrow),1)):c("",!0),t("div",_,[t("h1",null,a(e.title),1),t("div",h,[d(n.$slots,"default")])])]))}});export{p as _}; diff --git a/public/assets/PageHead.vue_vue_type_script_setup_true_lang-D45_AHIh.js b/public/assets/PageHead.vue_vue_type_script_setup_true_lang-D45_AHIh.js deleted file mode 100644 index c26e208..0000000 --- a/public/assets/PageHead.vue_vue_type_script_setup_true_lang-D45_AHIh.js +++ /dev/null @@ -1 +0,0 @@ -import{d as r,c as s,t as o,f as c,b as t,T as d,n as a}from"./index-BJq7_SVs.js";const l={class:"page-head"},i={key:0,class:"eyebrow"},_={class:"row"},h={class:"btn-row"},p=r({__name:"PageHead",props:{eyebrow:{},title:{}},setup(e){return(n,m)=>(a(),s("header",l,[e.eyebrow?(a(),s("span",i,o(e.eyebrow),1)):c("",!0),t("div",_,[t("h1",null,o(e.title),1),t("div",h,[d(n.$slots,"default")])])]))}});export{p as _}; diff --git a/public/assets/PresentationPublicView-B31TiTsT.js b/public/assets/PresentationPublicView-B31TiTsT.js deleted file mode 100644 index f759050..0000000 --- a/public/assets/PresentationPublicView-B31TiTsT.js +++ /dev/null @@ -1 +0,0 @@ -import{d as h,D as k,o as b,U as g,s as w,r as u,n as _,A as l}from"./index-BJq7_SVs.js";import{p as y}from"./presentations-BNEXiGsV.js";import{_ as E}from"./DeckViewer.vue_vue_type_style_index_0_lang-BKSiygyD.js";/* empty css */const x="Sprawdź połączenie z internetem i spróbuj ponownie.",z="Za dużo żądań w krótkim czasie. Odczekaj minutę i spróbuj ponownie.",j="Prezentacja · BM II°",B=h({__name:"PresentationPublicView",props:{slugHash:{}},setup(f){const d=f,n=u("pending"),a=u(null),o=u("");let s=0,r=0;function c(){s&&window.clearTimeout(s),s=0}async function m(t){const i=++r;c(),document.title=j,n.value="pending",a.value=null,o.value="",s=window.setTimeout(()=>{i===r&&n.value==="pending"&&(n.value="loading")},200);try{const e=await y.publicDeck(t);if(i!==r)return;c();const p=e.slides??[];a.value={...e,slides:p},e.title&&(document.title=e.title),n.value=p.length===0?"empty":"ready"}catch(e){if(i!==r)return;if(c(),e instanceof l&&e.status===404){n.value="notfound";return}e instanceof l&&e.status===429?o.value=z:e instanceof l&&e.message?o.value=e.message:o.value=x,n.value="error"}}function v(){m(d.slugHash)}return k(()=>d.slugHash,t=>{m(t)},{immediate:!0}),b(()=>{if(document.documentElement.classList.add("deck-public"),!document.querySelector('meta[data-deck-public="1"]')){const t=document.createElement("meta");t.name="robots",t.content="noindex",t.dataset.deckPublic="1",document.head.appendChild(t)}}),g(()=>{r+=1,c(),document.documentElement.classList.remove("deck-public"),document.querySelector('meta[data-deck-public="1"]')?.remove()}),(t,i)=>(_(),w(E,{phase:n.value,deck:a.value,error:o.value,"extra-css":a.value?.css,theme:a.value?.theme,onRetry:v},null,8,["phase","deck","error","extra-css","theme"]))}});export{B as default}; diff --git a/public/assets/PresentationPublicView-OxrAHE3z.js b/public/assets/PresentationPublicView-OxrAHE3z.js new file mode 100644 index 0000000..19b7ccf --- /dev/null +++ b/public/assets/PresentationPublicView-OxrAHE3z.js @@ -0,0 +1 @@ +import{d as h,T as k,o as b,ay as g,s as w,r as u,n as y,A as l}from"./index-BxuLaZe9.js";import{p as _}from"./presentations-B9A2ga-H.js";import{_ as E}from"./DeckViewer.vue_vue_type_style_index_0_lang-BNXzqXdd.js";/* empty css */const x="Sprawdź połączenie z internetem i spróbuj ponownie.",z="Za dużo żądań w krótkim czasie. Odczekaj minutę i spróbuj ponownie.",T="Prezentacja · BM II°",B=h({__name:"PresentationPublicView",props:{slugHash:{}},setup(f){const d=f,n=u("pending"),a=u(null),o=u("");let s=0,r=0;function c(){s&&window.clearTimeout(s),s=0}async function m(t){const i=++r;c(),document.title=T,n.value="pending",a.value=null,o.value="",s=window.setTimeout(()=>{i===r&&n.value==="pending"&&(n.value="loading")},200);try{const e=await _.publicDeck(t);if(i!==r)return;c();const p=e.slides??[];a.value={...e,slides:p},e.title&&(document.title=e.title),n.value=p.length===0?"empty":"ready"}catch(e){if(i!==r)return;if(c(),e instanceof l&&e.status===404){n.value="notfound";return}e instanceof l&&e.status===429?o.value=z:e instanceof l&&e.message?o.value=e.message:o.value=x,n.value="error"}}function v(){m(d.slugHash)}return k(()=>d.slugHash,t=>{m(t)},{immediate:!0}),b(()=>{if(document.documentElement.classList.add("deck-public"),!document.querySelector('meta[data-deck-public="1"]')){const t=document.createElement("meta");t.name="robots",t.content="noindex",t.dataset.deckPublic="1",document.head.appendChild(t)}}),g(()=>{r+=1,c(),document.documentElement.classList.remove("deck-public"),document.querySelector('meta[data-deck-public="1"]')?.remove()}),(t,i)=>(y(),w(E,{phase:n.value,deck:a.value,error:o.value,"extra-css":a.value?.css,theme:a.value?.theme,onRetry:v},null,8,["phase","deck","error","extra-css","theme"]))}});export{B as default}; diff --git a/public/assets/PresentationRemoteView-Ds5HWpgq.js b/public/assets/PresentationRemoteView-Ds5HWpgq.js new file mode 100644 index 0000000..9470b5e --- /dev/null +++ b/public/assets/PresentationRemoteView-Ds5HWpgq.js @@ -0,0 +1 @@ +/* empty css */import{d as oe,T as G,c as n,b as a,f as y,t as p,F as T,H as X,i as se,j as Fe,E as C,x as u,r as m,l as Ue,n as t,p as xe,Y as Re,s as fe,_ as Te,o as Ge,ay as Xe,A as ne,az as Je,aA as Qe,m as et,aD as tt}from"./index-BxuLaZe9.js";import{p as me}from"./presentations-B9A2ga-H.js";import{s as pe,f as je,g as ye,h as at,i as nt,j as st,k as ot,l as Ce,m as lt,o as it,q as rt,u as ct,D as ut,d as dt,R as vt}from"./remote-BmhCoAgl.js";import{_ as le}from"./_plugin-vue_export-helper-DlAUqK2U.js";const mt={class:"drawer"},ft=["id","aria-label"],pt={class:"sheet-head"},yt=["disabled"],kt={class:"sheet-title"},bt={class:"title"},wt={key:0,class:"subtitle"},ht=["disabled"],gt=["innerHTML"],zt={key:1,class:"empty"},_t=["innerHTML"],$t={key:1,class:"empty"},Tt=["data-current","aria-current","onClick"],jt={class:"num"},Ct={class:"row-title"},St={key:0,class:"tag"},xt={key:1,class:"now"},Rt={class:"list-foot"},Et={key:0,class:"hint"},Bt={class:"bar","aria-label":"Szuflady na telefonie"},Dt=["disabled","aria-expanded","aria-controls","onClick"],Lt=oe({__name:"RemoteDrawer",props:{deck:{},state:{},live:{type:Boolean},cursor:{},open:{},disabled:{type:Boolean},wakeLockMissing:{type:Boolean}},emits:["goto","cursor","open","close"],setup(l,{emit:S}){const s=l,r=S,i=[{kind:"say",label:"Powiedz"},{kind:"notes",label:"Notatki"},{kind:"slides",label:"Slajdy"}],_=u(()=>s.deck.slides.length),j=u(()=>at(s.deck,s.state,s.live,s.cursor)),$=u(()=>s.live&&s.state?s.state.number:s.deck.slides[pe(s.deck.slides,s.cursor)]?.number??0),z=u(()=>pe(s.deck.slides,s.cursor)),w=u(()=>s.live&&s.state?s.state.number:s.deck.slides[z.value]?.number??s.cursor),D=u(()=>{const f=s.live&&s.state?.special?"s":"";return`${w.value}${f}`});function d(f){return f?/]*>/g,"").replace(/ | /g," ").trim()!=="":!1}const N=u(()=>d(j.value?.say_html)?je(j.value?.say_html??""):""),I=u(()=>d(j.value?.notes_html)?je(j.value?.notes_html??""):""),L=u(()=>s.open==="say"?`Powiedz · slajd ${w.value}`:s.open==="notes"?`Notatki · slajd ${w.value}`:"Slajdy"),x=u(()=>s.open==="slides"?"":s.live?"Widzisz tylko Ty":`Przeglądasz na telefonie · slajd ${z.value+1} z ${_.value}`),b=u(()=>!s.live&&(s.open==="say"||s.open==="notes")),V=u(()=>z.value>0),A=u(()=>z.value<_.value-1),h=u(()=>s.deck.slides.map(f=>({number:f.number,title:ye(f),special:!!f.special})));function H(f){s.disabled||(s.open===f?r("close"):r("open",f))}function q(f){const k=s.deck.slides[z.value+f];k&&r("cursor",k.number)}const R=m(null),B=m(null);return G([D,()=>s.open],()=>{R.value&&(R.value.scrollTop=0)}),G(()=>s.open,async f=>{if(f!=="slides")return;await Re(),B.value?.querySelector('[data-current="true"]')?.scrollIntoView({block:"center"})}),(f,k)=>{const J=Ue("router-link");return t(),n("div",mt,[l.open?(t(),n("section",{key:0,id:`remote-drawer-${l.open}`,class:"sheet","aria-label":L.value},[a("header",pt,[b.value?(t(),n("button",{key:0,type:"button",class:"icon-btn","aria-label":"Poprzedni slajd na telefonie",disabled:!V.value,onClick:k[0]||(k[0]=v=>q(-1))}," ‹ ",8,yt)):y("",!0),a("div",kt,[a("p",bt,p(L.value),1),x.value?(t(),n("p",wt,p(x.value),1)):y("",!0)]),b.value?(t(),n("button",{key:1,type:"button",class:"icon-btn","aria-label":"Następny slajd na telefonie",disabled:!A.value,onClick:k[1]||(k[1]=v=>q(1))}," › ",8,ht)):y("",!0),a("button",{type:"button",class:"close-btn",onClick:k[2]||(k[2]=v=>r("close"))},"Zamknij")]),a("div",{ref_key:"body",ref:R,class:C(["sheet-body",{reading:l.open!=="slides"}])},[l.open==="say"?(t(),n(T,{key:0},[N.value?(t(),n("div",{key:0,class:"text",innerHTML:N.value},null,8,gt)):(t(),n("p",zt,"Brak tekstu do powiedzenia na tym slajdzie."))],64)):l.open==="notes"?(t(),n(T,{key:1},[I.value?(t(),n("div",{key:0,class:"text",innerHTML:I.value},null,8,_t)):(t(),n("p",$t,"Brak notatek do tego slajdu."))],64)):(t(),n(T,{key:2},[a("ol",{ref_key:"list",ref:B,class:"list"},[(t(!0),n(T,null,X(h.value,v=>(t(),n("li",{key:v.number},[a("button",{type:"button",class:"row","data-current":v.number===$.value?"true":void 0,"aria-current":v.number===$.value?"true":void 0,onClick:ie=>r("goto",v.number)},[a("span",jt,p(v.number),1),a("span",Ct,p(v.title),1),v.special?(t(),n("span",St,"+ specjalny")):y("",!0),v.number===$.value?(t(),n("span",xt,"teraz")):y("",!0)],8,Tt)]))),128))],512),a("footer",Rt,[se(J,{class:"back-link",to:{name:"my-presentations"}},{default:Fe(()=>[...k[3]||(k[3]=[xe("Wróć do moich prezentacji",-1)])]),_:1}),l.wakeLockMissing?(t(),n("p",Et,"Ta przeglądarka nie pozwala zablokować wygaszania ekranu.")):y("",!0)])],64))],2)],8,ft)):y("",!0),a("nav",Bt,[(t(),n(T,null,X(i,v=>a("button",{key:v.kind,type:"button",class:C(["tab",{open:l.open===v.kind}]),disabled:l.disabled,"aria-expanded":l.open===v.kind?"true":"false","aria-controls":`remote-drawer-${v.kind}`,onClick:ie=>H(v.kind)},p(v.label),11,Dt)),64))])])}}}),Pt=le(Lt,[["__scopeId","data-v-9f920f42"]]),Mt={key:0,class:"eyebrow"},Nt={class:"grid nav"},It=["disabled","aria-busy","onClick"],qt={key:1,class:"grid fn"},Vt=["disabled","aria-pressed","aria-busy","onClick"],At={class:"label"},Ht=oe({__name:"RemoteKeys",props:{state:{},live:{type:Boolean},busy:{},compact:{type:Boolean}},emits:["press","reset"],setup(l,{emit:S}){const s=l,r=S,i=u(()=>nt(s.state,s.live)),_=u(()=>i.value.slice(0,2)),j=u(()=>i.value.slice(2));function $(w){return(s.busy[w.action]??0)>0}function z(w){w.enabled&&(w.action==="clock-reset"?r("reset"):r("press",w.action))}return(w,D)=>(t(),n("section",{class:C(["keys",{compact:l.compact}]),"aria-label":"Klawisze na komputerze"},[l.compact?y("",!0):(t(),n("p",Mt,"Klawisze na komputerze")),a("div",Nt,[(t(!0),n(T,null,X(_.value,d=>(t(),n("button",{key:d.action,type:"button",class:C(["key nav-key",d.action]),disabled:!d.enabled,"aria-busy":$(d)?"true":void 0,onClick:N=>z(d)},[d.action==="prev"?(t(),fe(Te,{key:0,class:"arrow",name:"arrow-left"})):y("",!0),a("span",null,p(d.label),1),d.action==="next"?(t(),fe(Te,{key:1,class:"arrow",name:"arrow-right"})):y("",!0)],10,It))),128))]),l.compact?y("",!0):(t(),n("div",qt,[(t(!0),n(T,null,X(j.value,d=>(t(),n("button",{key:d.action,type:"button",class:"key fn-key",disabled:!d.enabled,"aria-pressed":d.pressed===null?void 0:d.pressed?"true":"false","aria-busy":$(d)?"true":void 0,onClick:N=>z(d)},[a("span",At,p(d.label),1),a("kbd",null,p(d.kbd),1)],8,Vt))),128))]))],2))}}),Se=le(Ht,[["__scopeId","data-v-1934c940"]]),Kt={class:"top"},Ot={class:"row row-title"},Wt={class:"deck-title"},Yt={class:"row row-slide","aria-live":"polite"},Zt={class:"counter"},Ft={key:0,class:"slide-title"},Ut={key:1,class:"slide-title waiting"},Gt={class:"row row-chips","aria-label":"Na komputerze"},Xt={class:"row row-clock"},Jt={key:0,class:"idle"},Qt={key:0,class:"chip"},ea={key:2,class:"clock"},ta=oe({__name:"RemoteTopBar",props:{deckTitle:{},status:{},live:{type:Boolean},counter:{},slideTitle:{},chips:{},clock:{}},setup(l){const S=l,s=u(()=>st(S.status));return(r,i)=>(t(),n("header",Kt,[a("div",Ot,[a("p",Wt,p(l.deckTitle),1),a("p",{class:C(["conn",{on:l.status==="live"}])},[i[0]||(i[0]=a("span",{class:"dot","aria-hidden":"true"},null,-1)),xe(p(s.value),1)],2)]),a("div",Yt,[a("p",Zt,p(l.counter),1),l.live?(t(),n("p",Ft,p(l.slideTitle),1)):(t(),n("p",Ut,"Czekam na wersję mówcy"))]),a("ul",Gt,[l.live?(t(!0),n(T,{key:0},X(l.chips,_=>(t(),n("li",{key:_,class:C(["chip",{khaki:_==="Specjalny"}])},p(_),3))),128)):y("",!0)]),a("div",Xt,[l.live&&l.clock&&l.clock.idle?(t(),n("p",Jt,"Zegar ruszy przy pierwszej zmianie slajdu")):l.live&&l.clock?(t(),n(T,{key:1},[a("p",{class:C(["clock",{paused:l.clock.paused}])},[i[2]||(i[2]=a("span",{class:"lbl"},"Slajd",-1)),a("b",{class:C({over:l.clock.slideOver})},p(l.clock.slide),3),i[3]||(i[3]=a("span",{class:"sep","aria-hidden":"true"},"·",-1)),i[4]||(i[4]=a("span",{class:"lbl"},"Całość",-1)),a("b",{class:C({over:l.clock.totalOver})},p(l.clock.total),3),l.clock.pace?(t(),n(T,{key:0},[i[1]||(i[1]=a("span",{class:"sep","aria-hidden":"true"},"·",-1)),a("span",{class:C(["pace",{late:l.clock.late}])},p(l.clock.pace),3)],64)):y("",!0)],2),l.clock.paused?(t(),n("span",Qt,"Pauza")):y("",!0)],64)):(t(),n("p",ea,[...i[5]||(i[5]=[a("b",null,"—",-1)])]))])]))}}),aa=le(ta,[["__scopeId","data-v-382e11de"]]),na={key:0,class:"remote-status remote-label"},sa={key:1,class:"remote-status"},oa={key:0,class:"remote-alert",role:"alert"},la={class:"remote-middle"},ia={key:0,class:"remote-notice"},ra={key:0,class:"remote-notice"},ca={class:"remote-dialog-body"},ua="Nie udało się wczytać prezentacji. Sprawdź połączenie z internetem i spróbuj ponownie.",da="Za dużo żądań w krótkim czasie. Odczekaj minutę i spróbuj ponownie.",U="Pilot niedostępny. Spróbuję połączyć się ponownie za 10 s.",va=oe({__name:"PresentationRemoteView",props:{slug:{}},setup(l){const S=l,s=et(),r=m("pending"),i=m(null),_=m("");let j=0,$=0,z=null,w="",D=0,d=0,N=0,I=!1,L=0,x=Ce();const b=m(null),V=m(0),A=m(Date.now()),h=m(!1),H=m("connecting"),q=m(!1),R=m(!1),B=m(!1),f=u(()=>B.value?"unavailable":h.value?"live":H.value==="connected"&&R.value?"waiting":q.value?"reconnecting":"connecting"),k=u(()=>i.value?.slides.length??0),J=u(()=>{const e=b.value;return!i.value||!e?0:pe(i.value.slides,e.number)}),v=u(()=>{const e=b.value;return h.value&&e?`${e.number} / ${e.total}`:`— / ${k.value}`}),ie=u(()=>{const e=b.value,o=i.value?.slides[J.value];return!e||!o?"":e.special&&o.special?ye(o.special):ye(o)}),Ee=u(()=>b.value?it(b.value):[]),Be=u(()=>{const e=b.value;return!i.value||!e?null:rt(ct(e,i.value.slides.map(o=>o.seconds),i.value.target_seconds,J.value,V.value,A.value))}),P=m(null),K=m(1);G(b,e=>{e&&!e.bye&&e.number>0&&(K.value=e.number)});function De(e){k.value!==0&&(P.value=e)}function Le(){P.value=null}function Pe(e){K.value=e}function Me(e){if(h.value){ue(),ce("goto",e),P.value=null;return}K.value=e,P.value="say"}function re(){A.value=Date.now(),h.value=x.live(A.value)}function Ne(e){const o=dt(e);!o||o.event!==vt||x.observe(o.payload,Date.now())&&(b.value=x.current(),V.value=x.receivedAt(),re(),o.payload.bye&&ee())}function Q(){j&&window.clearTimeout(j),j=0}const E=m("");let M=0;function ke(e,o=4e3){E.value=e,M&&window.clearTimeout(M),M=0,o>0&&(M=window.setTimeout(()=>{E.value="",M=0},o))}function O(){M&&window.clearTimeout(M),M=0,E.value=""}const W=m({});function be(e,o){const c=Math.max(0,(W.value[e]??0)+o);W.value={...W.value,[e]:c}}async function ce(e,o){const c={action:e,tab:x.actionTab()};o!==void 0&&(c.number=o),be(e,1);try{await me.remote(S.slug,c),E.value&&E.value!==U&&O()}catch(g){ke(lt(g instanceof ne?g.status:-1))}finally{be(e,-1)}}function ee(){R.value&&me.remote(S.slug,{action:"sync",tab:""}).catch(()=>{})}function Ie(){R.value=!0,B.value=!1,E.value===U&&O(),x.release(),ee()}function qe(e){H.value=e,e==="connected"?q.value=!0:R.value=!1}function Ve(e){if(R.value=!1,B.value=!0,e!==403||I){E.value===U&&O();return}I=!0,ke(U,0),L=window.setTimeout(()=>{L=0,z?.resubscribe()},ut)}function ue(){typeof navigator.vibrate=="function"&&navigator.vibrate(15)}function we(e){h.value&&(ue(),ce(e))}const Y=m(null),he=m(null);function Ae(){if(!h.value)return;ue();const e=Y.value;e&&(e.open||e.showModal(),Re(()=>he.value?.focus()))}function te(){Y.value?.open&&Y.value.close()}function He(){te(),h.value&&ce("clock-reset")}function Ke(e){e.target===Y.value&&te()}let Z=null,de=!1;const ae=m(!1);async function ge(){const e=navigator.wakeLock;if(!e||typeof e.request!="function"){ae.value=!0;return}if(!(Z&&!Z.released))try{const o=await e.request("screen");if(!de){o.release().catch(()=>{});return}Z=o,ae.value=!1}catch{ae.value=!0}}function Oe(){const e=Z;Z=null,e&&!e.released&&e.release().catch(()=>{})}function ze(){document.visibilityState==="visible"&&(ge(),ee())}function ve(){D+=1,z?.close(),z=null,w="",R.value=!1,H.value="connecting",q.value=!1,B.value=!1,I=!1,L&&window.clearTimeout(L),L=0,E.value===U&&O(),x=Ce(),b.value=null,V.value=0,re()}async function We(e){ve();const o=D;w=e;try{const c=()=>o===D,g=await tt(e,{onPublication:F=>{c()&&Ne(F)},onSubscribed:()=>{c()&&Ie()},onConnection:F=>{c()&&qe(F)},onDenied:F=>{c()&&Ve(F)},onUnavailable:()=>{c()&&(B.value=!0)}});if(o!==D){g.close();return}z=g}catch{o===D&&(B.value=!0)}}function Ye(){const e=r.value==="ready"?i.value?.remote_channel??"":"";if(e!==w){if(!e){ve();return}We(e)}}async function _e(e){const o=++$;Q(),r.value="pending",i.value=null,_.value="",j=window.setTimeout(()=>{o===$&&r.value==="pending"&&(r.value="loading")},200);try{const c=await me.speaker(e);if(o!==$)return;Q();const g=c.slides??[];i.value={...c,slides:g},Je(e),K.value=g[0]?.number??1,P.value=null,document.title=c.title?`Pilot · ${c.title}`:"Pilot · BM II°",r.value=g.length===0?"empty":"ready"}catch(c){if(o!==$)return;if(Q(),c instanceof ne&&c.status===404){Qe(e),await s.replace({name:"my-presentations",query:{denied:"1"}});return}if(c instanceof ne&&c.status===401)return;_.value=c instanceof ne&&c.status===429?da:ua,r.value="error"}}function Ze(){_e(S.slug)}function $e(e,o,c){if(document.querySelector(`meta[data-deck-remote="${c}"]`))return;const g=document.createElement("meta");g.name=e,g.content=o,g.dataset.deckRemote=c,document.head.appendChild(g)}return G(()=>S.slug,e=>{_e(e)},{immediate:!0}),G([i,r],()=>{Ye()}),Ge(()=>{de=!0,document.documentElement.classList.add("deck-remote"),$e("robots","noindex","robots"),$e("theme-color","#141a18","theme"),document.addEventListener("visibilitychange",ze),d=window.setInterval(()=>{document.visibilityState==="visible"&&ee()},ot),N=window.setInterval(re,1e3),ge()}),Xe(()=>{de=!1,$+=1,Q(),O(),ve(),te(),Oe(),window.clearInterval(d),window.clearInterval(N),document.removeEventListener("visibilitychange",ze),document.documentElement.classList.remove("deck-remote"),document.querySelectorAll("meta[data-deck-remote]").forEach(e=>e.remove())}),(e,o)=>(t(),n("main",{class:C(["remote",{"remote-page":r.value==="ready"||r.value==="empty","remote-drawer-open":r.value==="ready"&&P.value}])},[r.value==="loading"?(t(),n("p",na,"Wczytywanie pilota…")):r.value==="error"?(t(),n("div",sa,[a("p",null,p(_.value),1),a("button",{type:"button",class:"remote-retry",onClick:Ze},"Spróbuj ponownie")])):(r.value==="ready"||r.value==="empty")&&i.value?(t(),n(T,{key:2},[se(aa,{class:"remote-top","deck-title":i.value.title,status:r.value==="empty"?"waiting":f.value,live:r.value==="ready"&&h.value,counter:v.value,"slide-title":ie.value,chips:Ee.value,clock:Be.value},null,8,["deck-title","status","live","counter","slide-title","chips","clock"]),E.value?(t(),n("p",oa,p(E.value),1)):y("",!0),a("div",la,[r.value==="empty"?(t(),n("div",ia,[...o[0]||(o[0]=[a("p",{class:"remote-notice-head"},"Ta prezentacja nie ma jeszcze slajdów.",-1),a("p",{class:"remote-muted"},"Dodaj slajdy w panelu administracyjnym i otwórz pilota ponownie.",-1)])])):P.value?(t(),fe(Se,{key:1,compact:"",state:b.value,live:h.value,busy:W.value,onPress:we},null,8,["state","live","busy"])):(t(),n(T,{key:2},[h.value?y("",!0):(t(),n("div",ra,[...o[1]||(o[1]=[a("p",{class:"remote-notice-head"},"Otwórz wersję mówcy na komputerze",-1),a("p",{class:"remote-muted"}," Klawisze zadziałają, gdy wersja mówcy tej prezentacji będzie otwarta na komputerze. Powiedz i notatki możesz czytać już teraz. ",-1)])])),se(Se,{state:b.value,live:h.value,busy:W.value,onPress:we,onReset:Ae},null,8,["state","live","busy"])],64))]),se(Pt,{deck:i.value,state:b.value,live:r.value==="ready"&&h.value,cursor:K.value,open:P.value,disabled:k.value===0,"wake-lock-missing":ae.value,onOpen:De,onClose:Le,onCursor:Pe,onGoto:Me},null,8,["deck","state","live","cursor","open","disabled","wake-lock-missing"])],64)):y("",!0),a("dialog",{ref_key:"resetDialog",ref:Y,class:"remote-dialog","aria-labelledby":"remote-reset-title","aria-describedby":"remote-reset-body",onClick:Ke},[a("div",ca,[o[2]||(o[2]=a("p",{id:"remote-reset-title",class:"remote-dialog-title"},"Wyzerować zegar?",-1)),o[3]||(o[3]=a("p",{id:"remote-reset-body",class:"remote-muted"}," Czas całości i wszystkich slajdów wróci do zera, a zegar ruszy przy następnej zmianie slajdu. ",-1)),a("button",{type:"button",class:"remote-dialog-btn remote-dialog-danger",onClick:He},"Zeruj zegar"),a("button",{ref_key:"resetCancel",ref:he,type:"button",class:"remote-dialog-btn",autofocus:"",onClick:te},"Anuluj",512)])],512)],2))}}),ba=le(va,[["__scopeId","data-v-534bc4ac"]]);export{ba as default}; diff --git a/public/assets/PresentationRemoteView-oNdFMrn-.js b/public/assets/PresentationRemoteView-oNdFMrn-.js deleted file mode 100644 index 681cc0c..0000000 --- a/public/assets/PresentationRemoteView-oNdFMrn-.js +++ /dev/null @@ -1 +0,0 @@ -/* empty css */import{d as oe,D as G,c as n,b as a,f as k,t as p,F as T,B as X,i as se,j as Ue,z as C,x as u,r as m,l as Fe,n as t,p as xe,M as Re,s as fe,_ as Te,o as Ge,U as Xe,A as ne,V as Je,W as Qe,m as et}from"./index-BJq7_SVs.js";import{p as me}from"./presentations-BNEXiGsV.js";import{s as pe,f as je,g as ke,h as tt,i as at,j as nt,k as st,l as Ce,m as ot,q as lt,u as it,v as rt,o as ct,D as ut,d as dt,R as vt}from"./realtime-B_4pSF-q.js";import{_ as le}from"./_plugin-vue_export-helper-DlAUqK2U.js";const mt={class:"drawer"},ft=["id","aria-label"],pt={class:"sheet-head"},kt=["disabled"],yt={class:"sheet-title"},bt={class:"title"},wt={key:0,class:"subtitle"},ht=["disabled"],gt=["innerHTML"],zt={key:1,class:"empty"},_t=["innerHTML"],$t={key:1,class:"empty"},Tt=["data-current","aria-current","onClick"],jt={class:"num"},Ct={class:"row-title"},St={key:0,class:"tag"},xt={key:1,class:"now"},Rt={class:"list-foot"},Bt={key:0,class:"hint"},Et={class:"bar","aria-label":"Szuflady na telefonie"},Dt=["disabled","aria-expanded","aria-controls","onClick"],Lt=oe({__name:"RemoteDrawer",props:{deck:{},state:{},live:{type:Boolean},cursor:{},open:{},disabled:{type:Boolean},wakeLockMissing:{type:Boolean}},emits:["goto","cursor","open","close"],setup(l,{emit:S}){const s=l,r=S,i=[{kind:"say",label:"Powiedz"},{kind:"notes",label:"Notatki"},{kind:"slides",label:"Slajdy"}],_=u(()=>s.deck.slides.length),j=u(()=>tt(s.deck,s.state,s.live,s.cursor)),$=u(()=>s.live&&s.state?s.state.number:s.deck.slides[pe(s.deck.slides,s.cursor)]?.number??0),z=u(()=>pe(s.deck.slides,s.cursor)),w=u(()=>s.live&&s.state?s.state.number:s.deck.slides[z.value]?.number??s.cursor),D=u(()=>{const f=s.live&&s.state?.special?"s":"";return`${w.value}${f}`});function d(f){return f?/]*>/g,"").replace(/ | /g," ").trim()!=="":!1}const N=u(()=>d(j.value?.say_html)?je(j.value?.say_html??""):""),I=u(()=>d(j.value?.notes_html)?je(j.value?.notes_html??""):""),L=u(()=>s.open==="say"?`Powiedz · slajd ${w.value}`:s.open==="notes"?`Notatki · slajd ${w.value}`:"Slajdy"),x=u(()=>s.open==="slides"?"":s.live?"Widzisz tylko Ty":`Przeglądasz na telefonie · slajd ${z.value+1} z ${_.value}`),b=u(()=>!s.live&&(s.open==="say"||s.open==="notes")),q=u(()=>z.value>0),A=u(()=>z.value<_.value-1),h=u(()=>s.deck.slides.map(f=>({number:f.number,title:ke(f),special:!!f.special})));function H(f){s.disabled||(s.open===f?r("close"):r("open",f))}function V(f){const y=s.deck.slides[z.value+f];y&&r("cursor",y.number)}const R=m(null),E=m(null);return G([D,()=>s.open],()=>{R.value&&(R.value.scrollTop=0)}),G(()=>s.open,async f=>{if(f!=="slides")return;await Re(),E.value?.querySelector('[data-current="true"]')?.scrollIntoView({block:"center"})}),(f,y)=>{const J=Fe("router-link");return t(),n("div",mt,[l.open?(t(),n("section",{key:0,id:`remote-drawer-${l.open}`,class:"sheet","aria-label":L.value},[a("header",pt,[b.value?(t(),n("button",{key:0,type:"button",class:"icon-btn","aria-label":"Poprzedni slajd na telefonie",disabled:!q.value,onClick:y[0]||(y[0]=v=>V(-1))}," ‹ ",8,kt)):k("",!0),a("div",yt,[a("p",bt,p(L.value),1),x.value?(t(),n("p",wt,p(x.value),1)):k("",!0)]),b.value?(t(),n("button",{key:1,type:"button",class:"icon-btn","aria-label":"Następny slajd na telefonie",disabled:!A.value,onClick:y[1]||(y[1]=v=>V(1))}," › ",8,ht)):k("",!0),a("button",{type:"button",class:"close-btn",onClick:y[2]||(y[2]=v=>r("close"))},"Zamknij")]),a("div",{ref_key:"body",ref:R,class:C(["sheet-body",{reading:l.open!=="slides"}])},[l.open==="say"?(t(),n(T,{key:0},[N.value?(t(),n("div",{key:0,class:"text",innerHTML:N.value},null,8,gt)):(t(),n("p",zt,"Brak tekstu do powiedzenia na tym slajdzie."))],64)):l.open==="notes"?(t(),n(T,{key:1},[I.value?(t(),n("div",{key:0,class:"text",innerHTML:I.value},null,8,_t)):(t(),n("p",$t,"Brak notatek do tego slajdu."))],64)):(t(),n(T,{key:2},[a("ol",{ref_key:"list",ref:E,class:"list"},[(t(!0),n(T,null,X(h.value,v=>(t(),n("li",{key:v.number},[a("button",{type:"button",class:"row","data-current":v.number===$.value?"true":void 0,"aria-current":v.number===$.value?"true":void 0,onClick:ie=>r("goto",v.number)},[a("span",jt,p(v.number),1),a("span",Ct,p(v.title),1),v.special?(t(),n("span",St,"+ specjalny")):k("",!0),v.number===$.value?(t(),n("span",xt,"teraz")):k("",!0)],8,Tt)]))),128))],512),a("footer",Rt,[se(J,{class:"back-link",to:{name:"my-presentations"}},{default:Ue(()=>[...y[3]||(y[3]=[xe("Wróć do moich prezentacji",-1)])]),_:1}),l.wakeLockMissing?(t(),n("p",Bt,"Ta przeglądarka nie pozwala zablokować wygaszania ekranu.")):k("",!0)])],64))],2)],8,ft)):k("",!0),a("nav",Et,[(t(),n(T,null,X(i,v=>a("button",{key:v.kind,type:"button",class:C(["tab",{open:l.open===v.kind}]),disabled:l.disabled,"aria-expanded":l.open===v.kind?"true":"false","aria-controls":`remote-drawer-${v.kind}`,onClick:ie=>H(v.kind)},p(v.label),11,Dt)),64))])])}}}),Mt=le(Lt,[["__scopeId","data-v-9f920f42"]]),Pt={key:0,class:"eyebrow"},Nt={class:"grid nav"},It=["disabled","aria-busy","onClick"],Vt={key:1,class:"grid fn"},qt=["disabled","aria-pressed","aria-busy","onClick"],At={class:"label"},Ht=oe({__name:"RemoteKeys",props:{state:{},live:{type:Boolean},busy:{},compact:{type:Boolean}},emits:["press","reset"],setup(l,{emit:S}){const s=l,r=S,i=u(()=>at(s.state,s.live)),_=u(()=>i.value.slice(0,2)),j=u(()=>i.value.slice(2));function $(w){return(s.busy[w.action]??0)>0}function z(w){w.enabled&&(w.action==="clock-reset"?r("reset"):r("press",w.action))}return(w,D)=>(t(),n("section",{class:C(["keys",{compact:l.compact}]),"aria-label":"Klawisze na komputerze"},[l.compact?k("",!0):(t(),n("p",Pt,"Klawisze na komputerze")),a("div",Nt,[(t(!0),n(T,null,X(_.value,d=>(t(),n("button",{key:d.action,type:"button",class:C(["key nav-key",d.action]),disabled:!d.enabled,"aria-busy":$(d)?"true":void 0,onClick:N=>z(d)},[d.action==="prev"?(t(),fe(Te,{key:0,class:"arrow",name:"arrow-left"})):k("",!0),a("span",null,p(d.label),1),d.action==="next"?(t(),fe(Te,{key:1,class:"arrow",name:"arrow-right"})):k("",!0)],10,It))),128))]),l.compact?k("",!0):(t(),n("div",Vt,[(t(!0),n(T,null,X(j.value,d=>(t(),n("button",{key:d.action,type:"button",class:"key fn-key",disabled:!d.enabled,"aria-pressed":d.pressed===null?void 0:d.pressed?"true":"false","aria-busy":$(d)?"true":void 0,onClick:N=>z(d)},[a("span",At,p(d.label),1),a("kbd",null,p(d.kbd),1)],8,qt))),128))]))],2))}}),Se=le(Ht,[["__scopeId","data-v-1934c940"]]),Kt={class:"top"},Wt={class:"row row-title"},Ot={class:"deck-title"},Yt={class:"row row-slide","aria-live":"polite"},Zt={class:"counter"},Ut={key:0,class:"slide-title"},Ft={key:1,class:"slide-title waiting"},Gt={class:"row row-chips","aria-label":"Na komputerze"},Xt={class:"row row-clock"},Jt={key:0,class:"idle"},Qt={key:0,class:"chip"},ea={key:2,class:"clock"},ta=oe({__name:"RemoteTopBar",props:{deckTitle:{},status:{},live:{type:Boolean},counter:{},slideTitle:{},chips:{},clock:{}},setup(l){const S=l,s=u(()=>nt(S.status));return(r,i)=>(t(),n("header",Kt,[a("div",Wt,[a("p",Ot,p(l.deckTitle),1),a("p",{class:C(["conn",{on:l.status==="live"}])},[i[0]||(i[0]=a("span",{class:"dot","aria-hidden":"true"},null,-1)),xe(p(s.value),1)],2)]),a("div",Yt,[a("p",Zt,p(l.counter),1),l.live?(t(),n("p",Ut,p(l.slideTitle),1)):(t(),n("p",Ft,"Czekam na wersję mówcy"))]),a("ul",Gt,[l.live?(t(!0),n(T,{key:0},X(l.chips,_=>(t(),n("li",{key:_,class:C(["chip",{khaki:_==="Specjalny"}])},p(_),3))),128)):k("",!0)]),a("div",Xt,[l.live&&l.clock&&l.clock.idle?(t(),n("p",Jt,"Zegar ruszy przy pierwszej zmianie slajdu")):l.live&&l.clock?(t(),n(T,{key:1},[a("p",{class:C(["clock",{paused:l.clock.paused}])},[i[2]||(i[2]=a("span",{class:"lbl"},"Slajd",-1)),a("b",{class:C({over:l.clock.slideOver})},p(l.clock.slide),3),i[3]||(i[3]=a("span",{class:"sep","aria-hidden":"true"},"·",-1)),i[4]||(i[4]=a("span",{class:"lbl"},"Całość",-1)),a("b",{class:C({over:l.clock.totalOver})},p(l.clock.total),3),l.clock.pace?(t(),n(T,{key:0},[i[1]||(i[1]=a("span",{class:"sep","aria-hidden":"true"},"·",-1)),a("span",{class:C(["pace",{late:l.clock.late}])},p(l.clock.pace),3)],64)):k("",!0)],2),l.clock.paused?(t(),n("span",Qt,"Pauza")):k("",!0)],64)):(t(),n("p",ea,[...i[5]||(i[5]=[a("b",null,"—",-1)])]))])]))}}),aa=le(ta,[["__scopeId","data-v-382e11de"]]),na={key:0,class:"remote-status remote-label"},sa={key:1,class:"remote-status"},oa={key:0,class:"remote-alert",role:"alert"},la={class:"remote-middle"},ia={key:0,class:"remote-notice"},ra={key:0,class:"remote-notice"},ca={class:"remote-dialog-body"},ua="Nie udało się wczytać prezentacji. Sprawdź połączenie z internetem i spróbuj ponownie.",da="Za dużo żądań w krótkim czasie. Odczekaj minutę i spróbuj ponownie.",F="Pilot niedostępny. Spróbuję połączyć się ponownie za 10 s.",va=oe({__name:"PresentationRemoteView",props:{slug:{}},setup(l){const S=l,s=et(),r=m("pending"),i=m(null),_=m("");let j=0,$=0,z=null,w="",D=0,d=0,N=0,I=!1,L=0,x=Ce();const b=m(null),q=m(0),A=m(Date.now()),h=m(!1),H=m("connecting"),V=m(!1),R=m(!1),E=m(!1),f=u(()=>E.value?"unavailable":h.value?"live":H.value==="connected"&&R.value?"waiting":V.value?"reconnecting":"connecting"),y=u(()=>i.value?.slides.length??0),J=u(()=>{const e=b.value;return!i.value||!e?0:pe(i.value.slides,e.number)}),v=u(()=>{const e=b.value;return h.value&&e?`${e.number} / ${e.total}`:`— / ${y.value}`}),ie=u(()=>{const e=b.value,o=i.value?.slides[J.value];return!e||!o?"":e.special&&o.special?ke(o.special):ke(o)}),Be=u(()=>b.value?lt(b.value):[]),Ee=u(()=>{const e=b.value;return!i.value||!e?null:it(rt(e,i.value.slides.map(o=>o.seconds),i.value.target_seconds,J.value,q.value,A.value))}),M=m(null),K=m(1);G(b,e=>{e&&!e.bye&&e.number>0&&(K.value=e.number)});function De(e){y.value!==0&&(M.value=e)}function Le(){M.value=null}function Me(e){K.value=e}function Pe(e){if(h.value){ue(),ce("goto",e),M.value=null;return}K.value=e,M.value="say"}function re(){A.value=Date.now(),h.value=x.live(A.value)}function Ne(e){const o=dt(e);!o||o.event!==vt||x.observe(o.payload,Date.now())&&(b.value=x.current(),q.value=x.receivedAt(),re(),o.payload.bye&&ee())}function Q(){j&&window.clearTimeout(j),j=0}const B=m("");let P=0;function ye(e,o=4e3){B.value=e,P&&window.clearTimeout(P),P=0,o>0&&(P=window.setTimeout(()=>{B.value="",P=0},o))}function W(){P&&window.clearTimeout(P),P=0,B.value=""}const O=m({});function be(e,o){const c=Math.max(0,(O.value[e]??0)+o);O.value={...O.value,[e]:c}}async function ce(e,o){const c={action:e,tab:x.actionTab()};o!==void 0&&(c.number=o),be(e,1);try{await me.remote(S.slug,c),B.value&&B.value!==F&&W()}catch(g){ye(ot(g instanceof ne?g.status:-1))}finally{be(e,-1)}}function ee(){R.value&&me.remote(S.slug,{action:"sync",tab:""}).catch(()=>{})}function Ie(){R.value=!0,E.value=!1,B.value===F&&W(),x.release(),ee()}function Ve(e){H.value=e,e==="connected"?V.value=!0:R.value=!1}function qe(e){if(R.value=!1,E.value=!0,e!==403||I){B.value===F&&W();return}I=!0,ye(F,0),L=window.setTimeout(()=>{L=0,z?.resubscribe()},ut)}function ue(){typeof navigator.vibrate=="function"&&navigator.vibrate(15)}function we(e){h.value&&(ue(),ce(e))}const Y=m(null),he=m(null);function Ae(){if(!h.value)return;ue();const e=Y.value;e&&(e.open||e.showModal(),Re(()=>he.value?.focus()))}function te(){Y.value?.open&&Y.value.close()}function He(){te(),h.value&&ce("clock-reset")}function Ke(e){e.target===Y.value&&te()}let Z=null,de=!1;const ae=m(!1);async function ge(){const e=navigator.wakeLock;if(!e||typeof e.request!="function"){ae.value=!0;return}if(!(Z&&!Z.released))try{const o=await e.request("screen");if(!de){o.release().catch(()=>{});return}Z=o,ae.value=!1}catch{ae.value=!0}}function We(){const e=Z;Z=null,e&&!e.released&&e.release().catch(()=>{})}function ze(){document.visibilityState==="visible"&&(ge(),ee())}function ve(){D+=1,z?.close(),z=null,w="",R.value=!1,H.value="connecting",V.value=!1,E.value=!1,I=!1,L&&window.clearTimeout(L),L=0,B.value===F&&W(),x=Ce(),b.value=null,q.value=0,re()}async function Oe(e){ve();const o=D;w=e;try{const c=()=>o===D,g=await ct(e,{onPublication:U=>{c()&&Ne(U)},onSubscribed:()=>{c()&&Ie()},onConnection:U=>{c()&&Ve(U)},onDenied:U=>{c()&&qe(U)},onUnavailable:()=>{c()&&(E.value=!0)}});if(o!==D){g.close();return}z=g}catch{o===D&&(E.value=!0)}}function Ye(){const e=r.value==="ready"?i.value?.remote_channel??"":"";if(e!==w){if(!e){ve();return}Oe(e)}}async function _e(e){const o=++$;Q(),r.value="pending",i.value=null,_.value="",j=window.setTimeout(()=>{o===$&&r.value==="pending"&&(r.value="loading")},200);try{const c=await me.speaker(e);if(o!==$)return;Q();const g=c.slides??[];i.value={...c,slides:g},Je(e),K.value=g[0]?.number??1,M.value=null,document.title=c.title?`Pilot · ${c.title}`:"Pilot · BM II°",r.value=g.length===0?"empty":"ready"}catch(c){if(o!==$)return;if(Q(),c instanceof ne&&c.status===404){Qe(e),await s.replace({name:"my-presentations",query:{denied:"1"}});return}if(c instanceof ne&&c.status===401)return;_.value=c instanceof ne&&c.status===429?da:ua,r.value="error"}}function Ze(){_e(S.slug)}function $e(e,o,c){if(document.querySelector(`meta[data-deck-remote="${c}"]`))return;const g=document.createElement("meta");g.name=e,g.content=o,g.dataset.deckRemote=c,document.head.appendChild(g)}return G(()=>S.slug,e=>{_e(e)},{immediate:!0}),G([i,r],()=>{Ye()}),Ge(()=>{de=!0,document.documentElement.classList.add("deck-remote"),$e("robots","noindex","robots"),$e("theme-color","#141a18","theme"),document.addEventListener("visibilitychange",ze),d=window.setInterval(()=>{document.visibilityState==="visible"&&ee()},st),N=window.setInterval(re,1e3),ge()}),Xe(()=>{de=!1,$+=1,Q(),W(),ve(),te(),We(),window.clearInterval(d),window.clearInterval(N),document.removeEventListener("visibilitychange",ze),document.documentElement.classList.remove("deck-remote"),document.querySelectorAll("meta[data-deck-remote]").forEach(e=>e.remove())}),(e,o)=>(t(),n("main",{class:C(["remote",{"remote-page":r.value==="ready"||r.value==="empty","remote-drawer-open":r.value==="ready"&&M.value}])},[r.value==="loading"?(t(),n("p",na,"Wczytywanie pilota…")):r.value==="error"?(t(),n("div",sa,[a("p",null,p(_.value),1),a("button",{type:"button",class:"remote-retry",onClick:Ze},"Spróbuj ponownie")])):(r.value==="ready"||r.value==="empty")&&i.value?(t(),n(T,{key:2},[se(aa,{class:"remote-top","deck-title":i.value.title,status:r.value==="empty"?"waiting":f.value,live:r.value==="ready"&&h.value,counter:v.value,"slide-title":ie.value,chips:Be.value,clock:Ee.value},null,8,["deck-title","status","live","counter","slide-title","chips","clock"]),B.value?(t(),n("p",oa,p(B.value),1)):k("",!0),a("div",la,[r.value==="empty"?(t(),n("div",ia,[...o[0]||(o[0]=[a("p",{class:"remote-notice-head"},"Ta prezentacja nie ma jeszcze slajdów.",-1),a("p",{class:"remote-muted"},"Dodaj slajdy w panelu administracyjnym i otwórz pilota ponownie.",-1)])])):M.value?(t(),fe(Se,{key:1,compact:"",state:b.value,live:h.value,busy:O.value,onPress:we},null,8,["state","live","busy"])):(t(),n(T,{key:2},[h.value?k("",!0):(t(),n("div",ra,[...o[1]||(o[1]=[a("p",{class:"remote-notice-head"},"Otwórz wersję mówcy na komputerze",-1),a("p",{class:"remote-muted"}," Klawisze zadziałają, gdy wersja mówcy tej prezentacji będzie otwarta na komputerze. Powiedz i notatki możesz czytać już teraz. ",-1)])])),se(Se,{state:b.value,live:h.value,busy:O.value,onPress:we,onReset:Ae},null,8,["state","live","busy"])],64))]),se(Mt,{deck:i.value,state:b.value,live:r.value==="ready"&&h.value,cursor:K.value,open:M.value,disabled:y.value===0,"wake-lock-missing":ae.value,onOpen:De,onClose:Le,onCursor:Me,onGoto:Pe},null,8,["deck","state","live","cursor","open","disabled","wake-lock-missing"])],64)):k("",!0),a("dialog",{ref_key:"resetDialog",ref:Y,class:"remote-dialog","aria-labelledby":"remote-reset-title","aria-describedby":"remote-reset-body",onClick:Ke},[a("div",ca,[o[2]||(o[2]=a("p",{id:"remote-reset-title",class:"remote-dialog-title"},"Wyzerować zegar?",-1)),o[3]||(o[3]=a("p",{id:"remote-reset-body",class:"remote-muted"}," Czas całości i wszystkich slajdów wróci do zera, a zegar ruszy przy następnej zmianie slajdu. ",-1)),a("button",{type:"button",class:"remote-dialog-btn remote-dialog-danger",onClick:He},"Zeruj zegar"),a("button",{ref_key:"resetCancel",ref:he,type:"button",class:"remote-dialog-btn",autofocus:"",onClick:te},"Anuluj",512)])],512)],2))}}),ba=le(va,[["__scopeId","data-v-534bc4ac"]]);export{ba as default}; diff --git a/public/assets/PresentationSpeakerView-BRBQT0kX.js b/public/assets/PresentationSpeakerView-BRBQT0kX.js new file mode 100644 index 0000000..1639ec0 --- /dev/null +++ b/public/assets/PresentationSpeakerView-BRBQT0kX.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/SpeakerTools-CaqR7cAu.js","assets/index-BxuLaZe9.js","assets/index-ChPbaY-q.css"])))=>i.map(i=>d[i]); +import{d as Me,T as ce,o as Pe,ay as Ie,s as de,j as ue,r as p,x as Ue,az as Oe,A as N,aA as He,n as pe,b as fe,e as Ve,f as qe,aB as Ze,m as Ke,aC as Ye,aD as Fe}from"./index-BxuLaZe9.js";import{p as _}from"./presentations-B9A2ga-H.js";import{_ as Ge,r as Je}from"./DeckViewer.vue_vue_type_style_index_0_lang-BNXzqXdd.js";import{n as Qe,C as We,c as Q,a as Xe,p as W,S as et,b as tt,D as nt,H as me,d as ot,R as at,t as it,r as rt,e as st}from"./remote-BmhCoAgl.js";/* empty css */const lt='.speak{display:none}.deck.speak-on .speak{display:block;position:absolute;left:0;right:0;bottom:0;max-height:46%;overflow:auto;background:var(--deck-ink);color:var(--deck-paper);padding:18px 88px;font-size:22px;line-height:1.45}.notes:before{content:"Notatki · N"}.speak:before,.srcs:before{display:block;font-family:var(--deck-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;opacity:.7}.speak:before{content:"Powiedz · P"}.srcs:before{content:"Źródła · Z"}.deck.speak-on #nav{bottom:50%}.deck.notes-on .notes.is-empty:after{content:"Brak notatek do tego slajdu.";opacity:.7}.deck.speak-on .speak.is-empty:after{content:"Brak tekstu do powiedzenia na tym slajdzie.";opacity:.7}.deck.srcs-on .srcs.is-empty:after{content:"Brak źródeł do tego slajdu.";opacity:.7}#speaker-clock{position:static;display:inline-flex;gap:8px;align-items:center;font-family:var(--deck-mono);font-size:12px;line-height:1;color:var(--deck-ink-2);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:var(--deck-paper-2);border:1px solid var(--deck-rule);padding:4px 12px;cursor:pointer;user-select:none}.tools #speaker-clock{min-height:40px;padding:0 14px;background:var(--deck-paper);border-color:var(--deck-ink-2)}.tools-pilot{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 8px;color:var(--deck-ink);white-space:nowrap}.tools-pilot.elsewhere{color:var(--deck-ink-2)}.tools-pilot-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--deck-khaki)}#speaker-clock.floating{position:fixed;top:8px;left:14px;z-index:5}#speaker-clock b{display:inline-block;font-weight:700;font-size:20px;color:var(--deck-ink);font-variant-numeric:tabular-nums;letter-spacing:0;margin-right:6px;text-align:right}#speaker-clock .clk-slide,#speaker-clock .clk-total{min-width:6ch}#speaker-clock b.over{color:var(--deck-empire)}#speaker-clock .clk-pace{display:inline-block;min-width:18ch;text-transform:none;letter-spacing:0}#speaker-clock .clk-pace.late{color:var(--deck-empire)}#speaker-clock.paused b{opacity:.5}@media(hover:hover){.tools-show{opacity:0}.tools-show:hover,.tools-show:focus,.tools-show:focus-visible{opacity:1}}@media(hover:none){.tools-show{opacity:.55}}@media(max-width:900px)and (orientation:portrait){.speak{display:block;margin-top:10px;padding:12px 14px;background:var(--deck-paper-2);font-size:15px;color:var(--deck-ink-2);border-left:3px solid var(--deck-empire);position:static;max-height:none}.speak.is-empty{display:none}.slide.title .speak,.slide.sec .speak{background:var(--deck-paper)}#speaker-clock{display:none}}.reading-close{display:none}@media(max-width:900px)and (orientation:portrait){.reading-close{display:flex;justify-content:flex-end;padding:16px 0}.reading-close button{font:14px/1 var(--deck-mono);letter-spacing:.04em;color:var(--deck-ink);background:var(--deck-paper);border:1px solid var(--deck-ink-2);min-height:44px;padding:0 16px;cursor:pointer}}@media print{#speaker-clock,.speak,.reading-close{display:none!important}}',ct="Sprawdź połączenie z internetem i spróbuj ponownie.",dt="Za dużo żądań w krótkim czasie. Odczekaj minutę i spróbuj ponownie.",gt=Me({__name:"PresentationSpeakerView",props:{slug:{}},setup(ke){const ge=Ze(()=>Ye(()=>import("./SpeakerTools-CaqR7cAu.js"),__vite__mapDeps([0,1,2]))),f=ke,X=Ke(),l=p("pending"),c=p(null),b=p(""),ee=p(null);let j=0,m=0;const ve=Ue(()=>[c.value?.css??"",lt]),be={notes:"Notatki",say:"Powiedz",sources:"Źródła",specialLink:"Slajd specjalny (S)"},E=p(null),R=p({});let s=null,te=0,A=0;const M=[];function h(){E.value=s?.view()??null}function he(e,n){if(!e||!n){s=null,E.value=null;return}s=tt({budgets:e.slides.map(t=>t.seconds),targetSeconds:e.target_seconds,now:()=>Date.now()}),h()}function we(e){s?.seek(e),h()}function ye(e){s?.go(e),h()}function L(e){s&&(e==="pause"?s.pause():e==="clock"?s.toggleHidden():s.reset(),h(),Z())}const w=Qe(),P=p(null);let C=null,I="",U=0,i=Q(w),r=!1,O=!1,z=!1,ne=0,y=0,H=!1,x=0,T=0,k=0,S=!1,V=null,oe=!1;const u=Xe(xe,et);function g(){return Je(e=>window.matchMedia(e))}function q(e){return V?st(V,s?.view()??null,w,{...e,light:oe}):null}function ae(e){_.remoteState(f.slug,e).catch(()=>{})}function xe(){if(!r||!i.isActive()||g())return;const e=q();e&&ae(e)}function Z(){r&&i.isActive()&&u.call()}function D(){if(!r||g())return;const e=q({claim:!0});if(!e){z=!0;return}z=!1,ne=Date.now(),u.cancel(),ae(e)}function d(){const e=r?i.activeTab():null;let n=null;e===w?n=W(y,Date.now())?"active":null:e&&(n="elsewhere"),P.value!==n&&(P.value=n)}function K(){k&&window.clearTimeout(k),k=0}function Te(){k||!r||i.activeTab()!==null||g()||(k=window.setTimeout(()=>{k=0,!(!r||i.activeTab()!==null||g())&&D()},it(Math.random(),S)))}function Se(e){V=e,z?D():Z()}function _e(e){oe=e,Z()}function je(e){const n=ee.value;if(!n)return;if(e.action==="goto"){e.number!=null&&n.goToNumber(e.number);return}const t=rt(e.action);t&&n.runKey(t)}function Ee(e){const n=ot(e);if(n){if(n.event===at){i.observe(n.payload)&&u.flush(),i.activeTab()!==null&&(K(),S=!1),d();return}if(y=Date.now(),d(),n.payload.action==="sync"&&i.activeTab()===null){Te();return}if(!(g()||!i.shouldApply(n.payload))){if(n.payload.action==="sync"){u.flush();return}je(n.payload)}}}function Re(){r=!0,O?S&&W(y,Date.now())&&_.remote(f.slug,{action:"sync",tab:""}).catch(()=>{}):(O=!0,D()),d()}function Ae(){r=!1,i.isActive()&&(S=!0),i=Q(w),K(),u.cancel(),d()}function $(){!r||i.isActive()||g()||Date.now()-nen===U;try{const a=await Fe(e,{onPublication:o=>{t()&&Ee(o)},onSubscribed:()=>{t()&&Re()},onConnection:o=>{!t()||o==="connected"||Ae()},onDenied:o=>{t()&&(r=!1,d(),!(o!==403||H)&&(H=!0,x=window.setTimeout(()=>{x=0,t()&&C?.resubscribe()},nt)))},onUnavailable:()=>{t()&&(r=!1,d())}});if(!t()){a.close();return}C=a,T=window.setTimeout(ie,me)}catch{}}function Ce(){const e=l.value==="ready"?c.value?.remote_channel??"":"";if(e!==I){if(!e){F();return}Le(e)}}function re(){window.close(),X.replace("/moje-prezentacje")}function B(){j&&window.clearTimeout(j),j=0}function se(){for(const e of M)URL.revokeObjectURL(e);M.length=0,R.value={}}function ze(e){const n=new Set,t=o=>{const v=/data-deck-image="([^"]+)"/g;for(let J=v.exec(o);J;J=v.exec(o))n.add(J[1])},a=o=>{t(o.body_html),t(o.say_html),t(o.notes_html),t(o.sources_html),o.special&&a(o.special)};for(const o of e.slides)a(o);return[...n]}async function De(e,n,t){await Promise.all(ze(e).map(async a=>{try{const o=await _.speakerImage(n,a);if(t!==A)return;const v=URL.createObjectURL(o);if(t!==A){URL.revokeObjectURL(v);return}M.push(v),R.value={...R.value,[a]:v}}catch{}}))}function $e(e,n){const t=e;return`${n?'':""}${t.body_html}`}function Be(e){return e.special?`Slajd specjalny do slajdu ${e.number}`:`Slajd ${e.number} z ${e.total}`}async function G(e){const n=++m;A=n,se(),B(),l.value="pending",c.value=null,b.value="",j=window.setTimeout(()=>{n===m&&l.value==="pending"&&(l.value="loading")},200);try{const t=await _.speaker(e);if(n!==m)return;B();const a=t.slides??[],o={...t,slides:a};c.value=o,Oe(e),document.title=t.title?`${t.title} · wersja prelegenta`:"Prezentacja · BM II°",l.value=a.length===0?"empty":"ready",a.length>0&&De(o,e,n)}catch(t){if(n!==m)return;if(B(),t instanceof N&&t.status===404){He(e),await X.replace({name:"my-presentations",query:{denied:"1"}});return}if(t instanceof N&&t.status===401)return;t instanceof N&&t.status===429?b.value=dt:t instanceof N&&t.message?b.value=t.message:b.value=ct,l.value="error"}}function Ne(){G(f.slug)}function le(e){e.persisted&&G(f.slug)}return ce(()=>f.slug,e=>{G(e)},{immediate:!0}),ce([c,l],()=>{he(c.value,l.value==="ready"),Ce()}),Pe(()=>{if(document.documentElement.classList.add("deck-speaker"),!document.querySelector('meta[data-deck-speaker="1"]')){const e=document.createElement("meta");e.name="robots",e.content="noindex",e.dataset.deckSpeaker="1",document.head.appendChild(e)}window.addEventListener("pageshow",le),window.addEventListener("pagehide",Y),window.addEventListener("keydown",$,!0),window.addEventListener("pointerdown",$,!0),te=window.setInterval(()=>{s?.tick(),h(),d()},250)}),Ie(()=>{m+=1,A=m,se(),B(),Y(),F(),window.clearInterval(te),window.removeEventListener("pageshow",le),window.removeEventListener("pagehide",Y),window.removeEventListener("keydown",$,!0),window.removeEventListener("pointerdown",$,!0),document.documentElement.classList.remove("deck-speaker"),document.querySelector('meta[data-deck-speaker="1"]')?.remove()}),(e,n)=>(pe(),de(Ge,{ref_key:"viewer",ref:ee,mode:"speaker",phase:l.value,deck:c.value,error:b.value,compose:$e,labels:be,announce:Be,"extra-css":ve.value,theme:c.value?.theme,images:R.value,onRetry:Ne,onPosition:we,onNavigate:ye,onClock:L,onSnapshot:Se,onScheme:_e},{tools:ue(t=>[E.value?(pe(),de(Ve(ge),{key:0,clock:E.value,panel:t.panel,special:t.special,"has-special":t.hasSpecial,"fullscreen-enabled":t.fullscreenEnabled,"fullscreen-on":t.fullscreenOn,"toolbar-hidden":t.toolbarHidden,"toggle-panel":t.togglePanel,"toggle-special":t.toggleSpecial,"toggle-toolbar":t.toggleToolbar,"toggle-fullscreen":t.toggleFullscreen,light:t.light,"toggle-scheme":t.toggleScheme,pilot:P.value,onPause:n[0]||(n[0]=a=>L("pause")),onReset:n[1]||(n[1]=a=>L("reset")),onToggleHidden:n[2]||(n[2]=a=>L("clock")),onClose:re},null,8,["clock","panel","special","has-special","fullscreen-enabled","fullscreen-on","toolbar-hidden","toggle-panel","toggle-special","toggle-toolbar","toggle-fullscreen","light","toggle-scheme","pilot"])):qe("",!0)]),"reading-close":ue(()=>[fe("div",{class:"reading-close"},[fe("button",{type:"button",onClick:re},"Zamknij")])]),_:1},8,["phase","deck","error","extra-css","theme","images"]))}});export{gt as default}; diff --git a/public/assets/PresentationSpeakerView-pigZ-SyA.js b/public/assets/PresentationSpeakerView-pigZ-SyA.js deleted file mode 100644 index 5ee93a0..0000000 --- a/public/assets/PresentationSpeakerView-pigZ-SyA.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/SpeakerTools-B8VaMuF_.js","assets/index-BJq7_SVs.js","assets/index-DDUt0SwV.css"])))=>i.map(i=>d[i]); -import{d as Me,D as ce,o as Pe,U as Ue,s as de,j as ue,r as p,x as Ie,V as Oe,A as B,W as Ve,n as pe,b as fe,e as He,f as qe,X as Ze,m as Ye,Y as Ke}from"./index-BJq7_SVs.js";import{p as _}from"./presentations-BNEXiGsV.js";import{_ as Fe,r as Ge}from"./DeckViewer.vue_vue_type_style_index_0_lang-BKSiygyD.js";import{n as We,C as Xe,c as X,a as Je,p as J,S as Qe,b as et,o as tt,D as nt,H as me,d as ot,R as at,t as it,r as rt,e as st}from"./realtime-B_4pSF-q.js";/* empty css */const lt='.speak{display:none}.deck.speak-on .speak{display:block;position:absolute;left:0;right:0;bottom:0;max-height:46%;overflow:auto;background:var(--deck-ink);color:var(--deck-paper);padding:18px 88px;font-size:22px;line-height:1.45}.notes:before{content:"Notatki · N"}.speak:before,.srcs:before{display:block;font-family:var(--deck-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;opacity:.7}.speak:before{content:"Powiedz · P"}.srcs:before{content:"Źródła · Z"}.deck.speak-on #nav{bottom:50%}.deck.notes-on .notes.is-empty:after{content:"Brak notatek do tego slajdu.";opacity:.7}.deck.speak-on .speak.is-empty:after{content:"Brak tekstu do powiedzenia na tym slajdzie.";opacity:.7}.deck.srcs-on .srcs.is-empty:after{content:"Brak źródeł do tego slajdu.";opacity:.7}#speaker-clock{position:static;display:inline-flex;gap:8px;align-items:center;font-family:var(--deck-mono);font-size:12px;line-height:1;color:var(--deck-ink-2);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:var(--deck-paper-2);border:1px solid var(--deck-rule);padding:4px 12px;cursor:pointer;user-select:none}.tools #speaker-clock{min-height:40px;padding:0 14px;background:var(--deck-paper);border-color:var(--deck-ink-2)}.tools-pilot{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 8px;color:var(--deck-ink);white-space:nowrap}.tools-pilot.elsewhere{color:var(--deck-ink-2)}.tools-pilot-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--deck-khaki)}#speaker-clock.floating{position:fixed;top:8px;left:14px;z-index:5}#speaker-clock b{display:inline-block;font-weight:700;font-size:20px;color:var(--deck-ink);font-variant-numeric:tabular-nums;letter-spacing:0;margin-right:6px;text-align:right}#speaker-clock .clk-slide,#speaker-clock .clk-total{min-width:6ch}#speaker-clock b.over{color:var(--deck-empire)}#speaker-clock .clk-pace{display:inline-block;min-width:18ch;text-transform:none;letter-spacing:0}#speaker-clock .clk-pace.late{color:var(--deck-empire)}#speaker-clock.paused b{opacity:.5}@media(hover:hover){.tools-show{opacity:0}.tools-show:hover,.tools-show:focus,.tools-show:focus-visible{opacity:1}}@media(hover:none){.tools-show{opacity:.55}}@media(max-width:900px)and (orientation:portrait){.speak{display:block;margin-top:10px;padding:12px 14px;background:var(--deck-paper-2);font-size:15px;color:var(--deck-ink-2);border-left:3px solid var(--deck-empire);position:static;max-height:none}.speak.is-empty{display:none}.slide.title .speak,.slide.sec .speak{background:var(--deck-paper)}#speaker-clock{display:none}}.reading-close{display:none}@media(max-width:900px)and (orientation:portrait){.reading-close{display:flex;justify-content:flex-end;padding:16px 0}.reading-close button{font:14px/1 var(--deck-mono);letter-spacing:.04em;color:var(--deck-ink);background:var(--deck-paper);border:1px solid var(--deck-ink-2);min-height:44px;padding:0 16px;cursor:pointer}}@media print{#speaker-clock,.speak,.reading-close{display:none!important}}',ct="Sprawdź połączenie z internetem i spróbuj ponownie.",dt="Za dużo żądań w krótkim czasie. Odczekaj minutę i spróbuj ponownie.",gt=Me({__name:"PresentationSpeakerView",props:{slug:{}},setup(ke){const ge=Ze(()=>Ke(()=>import("./SpeakerTools-B8VaMuF_.js"),__vite__mapDeps([0,1,2]))),f=ke,Q=Ye(),l=p("pending"),c=p(null),b=p(""),ee=p(null);let j=0,m=0;const ve=Ie(()=>[c.value?.css??"",lt]),be={notes:"Notatki",say:"Powiedz",sources:"Źródła",specialLink:"Slajd specjalny (S)"},E=p(null),R=p({});let s=null,te=0,L=0;const M=[];function h(){E.value=s?.view()??null}function he(e,n){if(!e||!n){s=null,E.value=null;return}s=et({budgets:e.slides.map(t=>t.seconds),targetSeconds:e.target_seconds,now:()=>Date.now()}),h()}function we(e){s?.seek(e),h()}function ye(e){s?.go(e),h()}function A(e){s&&(e==="pause"?s.pause():e==="clock"?s.toggleHidden():s.reset(),h(),Z())}const w=We(),P=p(null);let C=null,U="",I=0,i=X(w),r=!1,O=!1,z=!1,ne=0,y=0,V=!1,x=0,T=0,k=0,S=!1,H=null,oe=!1;const u=Je(xe,Qe);function g(){return Ge(e=>window.matchMedia(e))}function q(e){return H?st(H,s?.view()??null,w,{...e,light:oe}):null}function ae(e){_.remoteState(f.slug,e).catch(()=>{})}function xe(){if(!r||!i.isActive()||g())return;const e=q();e&&ae(e)}function Z(){r&&i.isActive()&&u.call()}function D(){if(!r||g())return;const e=q({claim:!0});if(!e){z=!0;return}z=!1,ne=Date.now(),u.cancel(),ae(e)}function d(){const e=r?i.activeTab():null;let n=null;e===w?n=J(y,Date.now())?"active":null:e&&(n="elsewhere"),P.value!==n&&(P.value=n)}function Y(){k&&window.clearTimeout(k),k=0}function Te(){k||!r||i.activeTab()!==null||g()||(k=window.setTimeout(()=>{k=0,!(!r||i.activeTab()!==null||g())&&D()},it(Math.random(),S)))}function Se(e){H=e,z?D():Z()}function _e(e){oe=e,Z()}function je(e){const n=ee.value;if(!n)return;if(e.action==="goto"){e.number!=null&&n.goToNumber(e.number);return}const t=rt(e.action);t&&n.runKey(t)}function Ee(e){const n=ot(e);if(n){if(n.event===at){i.observe(n.payload)&&u.flush(),i.activeTab()!==null&&(Y(),S=!1),d();return}if(y=Date.now(),d(),n.payload.action==="sync"&&i.activeTab()===null){Te();return}if(!(g()||!i.shouldApply(n.payload))){if(n.payload.action==="sync"){u.flush();return}je(n.payload)}}}function Re(){r=!0,O?S&&J(y,Date.now())&&_.remote(f.slug,{action:"sync",tab:""}).catch(()=>{}):(O=!0,D()),d()}function Le(){r=!1,i.isActive()&&(S=!0),i=X(w),Y(),u.cancel(),d()}function $(){!r||i.isActive()||g()||Date.now()-nen===I;try{const a=await tt(e,{onPublication:o=>{t()&&Ee(o)},onSubscribed:()=>{t()&&Re()},onConnection:o=>{!t()||o==="connected"||Le()},onDenied:o=>{t()&&(r=!1,d(),!(o!==403||V)&&(V=!0,x=window.setTimeout(()=>{x=0,t()&&C?.resubscribe()},nt)))},onUnavailable:()=>{t()&&(r=!1,d())}});if(!t()){a.close();return}C=a,T=window.setTimeout(ie,me)}catch{}}function Ce(){const e=l.value==="ready"?c.value?.remote_channel??"":"";if(e!==U){if(!e){F();return}Ae(e)}}function re(){window.close(),Q.replace("/moje-prezentacje")}function N(){j&&window.clearTimeout(j),j=0}function se(){for(const e of M)URL.revokeObjectURL(e);M.length=0,R.value={}}function ze(e){const n=new Set,t=o=>{const v=/data-deck-image="([^"]+)"/g;for(let W=v.exec(o);W;W=v.exec(o))n.add(W[1])},a=o=>{t(o.body_html),t(o.say_html),t(o.notes_html),t(o.sources_html),o.special&&a(o.special)};for(const o of e.slides)a(o);return[...n]}async function De(e,n,t){await Promise.all(ze(e).map(async a=>{try{const o=await _.speakerImage(n,a);if(t!==L)return;const v=URL.createObjectURL(o);if(t!==L){URL.revokeObjectURL(v);return}M.push(v),R.value={...R.value,[a]:v}}catch{}}))}function $e(e,n){const t=e;return`${n?'':""}${t.body_html}`}function Ne(e){return e.special?`Slajd specjalny do slajdu ${e.number}`:`Slajd ${e.number} z ${e.total}`}async function G(e){const n=++m;L=n,se(),N(),l.value="pending",c.value=null,b.value="",j=window.setTimeout(()=>{n===m&&l.value==="pending"&&(l.value="loading")},200);try{const t=await _.speaker(e);if(n!==m)return;N();const a=t.slides??[],o={...t,slides:a};c.value=o,Oe(e),document.title=t.title?`${t.title} · wersja prelegenta`:"Prezentacja · BM II°",l.value=a.length===0?"empty":"ready",a.length>0&&De(o,e,n)}catch(t){if(n!==m)return;if(N(),t instanceof B&&t.status===404){Ve(e),await Q.replace({name:"my-presentations",query:{denied:"1"}});return}if(t instanceof B&&t.status===401)return;t instanceof B&&t.status===429?b.value=dt:t instanceof B&&t.message?b.value=t.message:b.value=ct,l.value="error"}}function Be(){G(f.slug)}function le(e){e.persisted&&G(f.slug)}return ce(()=>f.slug,e=>{G(e)},{immediate:!0}),ce([c,l],()=>{he(c.value,l.value==="ready"),Ce()}),Pe(()=>{if(document.documentElement.classList.add("deck-speaker"),!document.querySelector('meta[data-deck-speaker="1"]')){const e=document.createElement("meta");e.name="robots",e.content="noindex",e.dataset.deckSpeaker="1",document.head.appendChild(e)}window.addEventListener("pageshow",le),window.addEventListener("pagehide",K),window.addEventListener("keydown",$,!0),window.addEventListener("pointerdown",$,!0),te=window.setInterval(()=>{s?.tick(),h(),d()},250)}),Ue(()=>{m+=1,L=m,se(),N(),K(),F(),window.clearInterval(te),window.removeEventListener("pageshow",le),window.removeEventListener("pagehide",K),window.removeEventListener("keydown",$,!0),window.removeEventListener("pointerdown",$,!0),document.documentElement.classList.remove("deck-speaker"),document.querySelector('meta[data-deck-speaker="1"]')?.remove()}),(e,n)=>(pe(),de(Fe,{ref_key:"viewer",ref:ee,mode:"speaker",phase:l.value,deck:c.value,error:b.value,compose:$e,labels:be,announce:Ne,"extra-css":ve.value,theme:c.value?.theme,images:R.value,onRetry:Be,onPosition:we,onNavigate:ye,onClock:A,onSnapshot:Se,onScheme:_e},{tools:ue(t=>[E.value?(pe(),de(He(ge),{key:0,clock:E.value,panel:t.panel,special:t.special,"has-special":t.hasSpecial,"fullscreen-enabled":t.fullscreenEnabled,"fullscreen-on":t.fullscreenOn,"toolbar-hidden":t.toolbarHidden,"toggle-panel":t.togglePanel,"toggle-special":t.toggleSpecial,"toggle-toolbar":t.toggleToolbar,"toggle-fullscreen":t.toggleFullscreen,light:t.light,"toggle-scheme":t.toggleScheme,pilot:P.value,onPause:n[0]||(n[0]=a=>A("pause")),onReset:n[1]||(n[1]=a=>A("reset")),onToggleHidden:n[2]||(n[2]=a=>A("clock")),onClose:re},null,8,["clock","panel","special","has-special","fullscreen-enabled","fullscreen-on","toolbar-hidden","toggle-panel","toggle-special","toggle-toolbar","toggle-fullscreen","light","toggle-scheme","pilot"])):qe("",!0)]),"reading-close":ue(()=>[fe("div",{class:"reading-close"},[fe("button",{type:"button",onClick:re},"Zamknij")])]),_:1},8,["phase","deck","error","extra-css","theme","images"]))}});export{gt as default}; diff --git a/public/assets/ProfileView-CfK0n4NA.js b/public/assets/ProfileView-CfK0n4NA.js new file mode 100644 index 0000000..5eca4fc --- /dev/null +++ b/public/assets/ProfileView-CfK0n4NA.js @@ -0,0 +1 @@ +import{d as I,u as O,ad as W,ai as A,au as q,q as H,o as J,a as U,aq as Z,c as l,i as R,b as o,h as D,t as r,f as d,w as b,v as k,e as s,F as T,H as K,p as M,r as c,av as Q,n,aw as X}from"./index-BxuLaZe9.js";import{_ as Y}from"./PageHead.vue_vue_type_script_setup_true_lang-BvljxRM_.js";import{f as V}from"./forms-Bd757Xmp.js";import{o as ee}from"./oauth-zzthF4BZ.js";const oe={class:"card","aria-labelledby":"dane-h"},se={key:0,class:"notice error",role:"alert",style:{"margin-bottom":"12px"}},te={key:1,class:"notice",role:"status",style:{"margin-bottom":"12px"}},ae={class:"grid-2"},le={class:"field"},ne={key:0,class:"error-text"},ie={class:"field"},re={key:0,class:"error-text"},de={class:"field"},ue={key:0,class:"error-text"},pe=["disabled"],me={id:"wybor",class:"card section","aria-labelledby":"wybor-h"},ce={key:0,class:"skeleton"},ye={key:1,class:"muted"},we={class:"eyebrow",style:{padding:"0","margin-bottom":"6px"}},be=["name","value","checked","onChange"],ke={key:0,class:"muted small",style:{margin:"4px 0 0"}},fe=["onClick"],ve={id:"kalendarz",class:"card section","aria-labelledby":"kalendarz-h"},ze={key:0,class:"notice error",role:"alert",style:{margin:"12px 0"}},ge={key:1,class:"skeleton",style:{"margin-top":"12px"}},_e={key:2,style:{"margin-top":"12px"}},he=["disabled"],xe={class:"field",style:{"margin-top":"12px"}},je={style:{display:"flex",gap:"8px"}},Pe=["value"],Ce={key:0,class:"muted small",style:{margin:"0"}},Ue={class:"check"},Te=["checked","disabled"],Ve={class:"check"},Ne=["checked","disabled"],Ze={class:"btn-row",style:{"margin-top":"12px"}},De=["disabled"],Ke=["disabled"],Me={key:0,class:"card section","aria-labelledby":"microsoft-h"},Fe=["disabled"],Be={class:"card section","aria-labelledby":"haslo-h"},Ge={key:0,class:"notice error",role:"alert",style:{"margin-bottom":"12px"}},Le={key:1,class:"notice",role:"status",style:{"margin-bottom":"12px"}},Se={class:"field"},$e={key:0,class:"error-text"},Ee={class:"field"},Ie={key:0,class:"error-text"},Oe={class:"field"},We=["disabled"],Ae={class:"section"},Ye=I({__name:"ProfileView",setup(qe){const f=O(),v=W(),z=A(),a=q(),x=H(),j=c(!1),g=c(!1);J(()=>{v.loadCourses(),a.load(),U.oauthProviders().then(i=>j.value=i.providers.some(e=>e.name==="microsoft")).catch(()=>j.value=!1)});async function F(){g.value=!0;try{const{link_ticket:i}=await U.oauthLinkTicket();window.location.assign(ee("microsoft",{action:"link",linkTicket:i,returnTo:"/profil"}))}catch(i){x.show(V(i).message||"Nie udało się połączyć konta Microsoft."),g.value=!1}}const N=c(null);async function B(){const i=a.feed?.url;i&&(await Q(i)?x.show("Skopiowano link do schowka."):(N.value?.select(),x.show("Nie udało się skopiować. Link jest zaznaczony: skopiuj go ręcznie.")))}function G(){window.confirm("Wygenerować nowy link? Stary przestanie działać i kalendarze, które go subskrybują, trzeba będzie dodać od nowa.")&&a.rotate()}function L(){window.confirm("Usunąć link do kalendarza? Kalendarze, które go subskrybują, przestaną się aktualizować.")&&a.remove()}function S(i){return new Date(i).toLocaleString("pl-PL",{day:"numeric",month:"long",hour:"2-digit",minute:"2-digit"})}const m=Z({name:f.user?.name??"",surname:f.user?.surname??"",email:f.user?.email??""}),_=c(!1),u=c(null),P=c(!1);async function $(){_.value=!0,u.value=null,P.value=!1;try{await f.updateProfile({name:m.name.trim(),surname:m.surname.trim(),email:m.email.trim()}),P.value=!0}catch(i){u.value=V(i)}finally{_.value=!1}}const p=Z({current_password:"",password:"",password_confirmation:""}),h=c(!1),y=c(null),C=c(!1);async function E(){h.value=!0,y.value=null,C.value=!1;try{await U.changePassword({...p}),C.value=!0,Object.assign(p,{current_password:"",password:"",password_confirmation:""})}catch(i){y.value=V(i)}finally{h.value=!1}}return(i,e)=>(n(),l("div",null,[R(Y,{eyebrow:"Konto",title:"Profil"}),o("section",oe,[e[14]||(e[14]=o("h2",{id:"dane-h",style:{"margin-bottom":"12px"}},"Dane",-1)),o("form",{onSubmit:D($,["prevent"]),novalidate:""},[u.value?.message?(n(),l("p",se,r(u.value.message),1)):d("",!0),P.value?(n(),l("p",te,"Zapisano.")):d("",!0),o("div",ae,[o("div",le,[e[11]||(e[11]=o("label",{for:"p-name"},"Imię",-1)),b(o("input",{id:"p-name","onUpdate:modelValue":e[0]||(e[0]=t=>m.name=t),type:"text",autocomplete:"given-name"},null,512),[[k,m.name]]),u.value?.fields.name?(n(),l("p",ne,r(u.value.fields.name),1)):d("",!0)]),o("div",ie,[e[12]||(e[12]=o("label",{for:"p-surname"},"Nazwisko",-1)),b(o("input",{id:"p-surname","onUpdate:modelValue":e[1]||(e[1]=t=>m.surname=t),type:"text",autocomplete:"family-name"},null,512),[[k,m.surname]]),u.value?.fields.surname?(n(),l("p",re,r(u.value.fields.surname),1)):d("",!0)])]),o("div",de,[e[13]||(e[13]=o("label",{for:"p-email"},"Adres e-mail",-1)),b(o("input",{id:"p-email","onUpdate:modelValue":e[2]||(e[2]=t=>m.email=t),type:"email",autocomplete:"email",inputmode:"email"},null,512),[[k,m.email]]),u.value?.fields.email?(n(),l("p",ue,r(u.value.fields.email),1)):d("",!0)]),o("button",{class:"btn primary",type:"submit",disabled:_.value},r(_.value?"Zapisywanie…":"Zapisz dane"),9,pe)],32)]),o("section",me,[e[15]||(e[15]=o("h2",{id:"wybor-h",style:{"margin-bottom":"6px"}},"Przedmioty do wyboru",-1)),e[16]||(e[16]=o("p",{class:"muted small"},"Z każdej grupy wybierasz jeden przedmiot. Pozostałe znikną z planu, pulpitu i list (można je pokazać przełącznikiem „Pokaż wszystkie”). Wybór zapamiętuje to urządzenie.",-1)),s(v).loaded.courses?s(v).electiveGroups.length?d("",!0):(n(),l("p",ye,"Nie ma teraz przedmiotów do wyboru.")):(n(),l("div",ce)),(n(!0),l(T,null,K(s(v).electiveGroups,t=>(n(),l("fieldset",{key:t.code,style:{border:"0",padding:"0",margin:"14px 0 0"}},[o("legend",we,r(s(X)(t.code)),1),(n(!0),l(T,null,K(t.options,w=>(n(),l("label",{key:w,class:"check"},[o("input",{type:"radio",name:`g-${t.code}`,value:w,checked:s(z).choices[t.code]===w,onChange:He=>s(z).choose(t.code,w)},null,40,be),o("span",null,r(w),1)]))),128)),s(z).choices[t.code]?(n(),l("button",{key:1,class:"linkish small",type:"button",onClick:w=>s(z).choose(t.code,null)},"Wyczyść wybór",8,fe)):(n(),l("p",ke,"Jeszcze nie wybrano. Do tego czasu widać wszystkie alternatywy."))]))),128))]),o("section",ve,[e[23]||(e[23]=o("h2",{id:"kalendarz-h",style:{"margin-bottom":"6px"}},"Kalendarz Google / telefon",-1)),e[24]||(e[24]=o("p",{class:"muted small"}," Prywatny link do planu zajęć w formacie iCalendar. Dodaj go w Kalendarzu Google albo w telefonie, a zajęcia pojawią się obok Twoich wydarzeń. Plan uwzględnia przedmioty do wyboru wybrane wyżej. ",-1)),s(a).error?(n(),l("p",ze,r(s(a).error),1)):d("",!0),s(a).feed===void 0&&(s(a).loading||!s(a).error)?(n(),l("div",ge)):s(a).feed?(n(),l(T,{key:3},[o("div",xe,[e[17]||(e[17]=o("label",{for:"cal-url"},"Twój link (nie udostępniaj go)",-1)),o("div",je,[o("input",{id:"cal-url",ref_key:"urlInput",ref:N,class:"mono",type:"text",readonly:"",value:s(a).feed.url,style:{"font-size":"14px","min-width":"0"},onFocus:e[4]||(e[4]=t=>t.target.select())},null,40,Pe),o("button",{class:"btn",type:"button",onClick:B},"Kopiuj")]),s(a).feed.last_fetched_at?(n(),l("p",Ce,"Ostatnio pobrany przez kalendarz: "+r(S(s(a).feed.last_fetched_at))+".",1)):d("",!0)]),o("label",Ue,[o("input",{type:"checkbox",checked:s(a).feed.include_meetings,disabled:s(a).busy,onChange:e[5]||(e[5]=t=>s(a).save({include_meetings:t.target.checked}))},null,40,Te),e[18]||(e[18]=o("span",null,"Zjazdy jako wydarzenia całodniowe",-1))]),o("label",Ve,[o("input",{type:"checkbox",checked:s(a).feed.include_deadlines,disabled:s(a).busy,onChange:e[6]||(e[6]=t=>s(a).save({include_deadlines:t.target.checked}))},null,40,Ne),e[19]||(e[19]=o("span",null,"Terminy z terminarza",-1))]),o("div",Ze,[o("button",{class:"btn small ghost",type:"button",disabled:s(a).busy,onClick:G},"Wygeneruj nowy link",8,De),o("button",{class:"btn small miss",type:"button",disabled:s(a).busy,onClick:L},"Usuń link",8,Ke)]),e[20]||(e[20]=o("h3",{class:"eyebrow",style:{margin:"18px 0 6px"}},"Jak dodać",-1)),e[21]||(e[21]=o("ol",{class:"small",style:{margin:"0","padding-left":"20px",display:"grid",gap:"6px"}},[o("li",null,[o("b",null,"Kalendarz Google"),M(" (na komputerze, calendar.google.com): po lewej przy „Inne kalendarze” kliknij „+”, wybierz „Z adresu URL”, wklej link i kliknij „Dodaj kalendarz”. Na telefonie z Androidem kalendarz pojawi się sam po synchronizacji konta Google. ")]),o("li",null,[o("b",null,"iPhone / iPad"),M(": Ustawienia → Kalendarz → Konta → Dodaj konto → Inne → Dodaj subskrybowany kalendarz, wklej link i zapisz. ")])],-1)),e[22]||(e[22]=o("p",{class:"muted small",style:{margin:"10px 0 0"}}," Google odświeża subskrybowane kalendarze co kilka godzin, nie od razu: zmiana planu albo wyboru przedmiotów pojawi się w kalendarzu z opóźnieniem. ",-1))],64)):(n(),l("div",_e,[o("button",{class:"btn primary",type:"button",disabled:s(a).busy,onClick:e[3]||(e[3]=t=>s(a).create())},r(s(a).busy?"Tworzenie…":"Utwórz link do kalendarza"),9,he)]))]),j.value?(n(),l("section",Me,[e[25]||(e[25]=o("h2",{id:"microsoft-h",style:{"margin-bottom":"6px"}},"Konto Microsoft 365",-1)),e[26]||(e[26]=o("p",{class:"muted small"}," Połącz konto uczelniane Microsoft 365, aby logować się przyciskiem „Zaloguj przez Microsoft 365”. ",-1)),o("button",{class:"btn",type:"button",style:{"margin-top":"12px"},disabled:g.value,onClick:F},r(g.value?"Przekierowanie…":"Połącz konto Microsoft"),9,Fe)])):d("",!0),o("section",Be,[e[30]||(e[30]=o("h2",{id:"haslo-h",style:{"margin-bottom":"12px"}},"Zmiana hasła",-1)),o("form",{onSubmit:D(E,["prevent"]),novalidate:""},[y.value?.message?(n(),l("p",Ge,r(y.value.message),1)):d("",!0),C.value?(n(),l("p",Le,"Hasło zostało zmienione.")):d("",!0),o("div",Se,[e[27]||(e[27]=o("label",{for:"pw-current"},"Obecne hasło",-1)),b(o("input",{id:"pw-current","onUpdate:modelValue":e[7]||(e[7]=t=>p.current_password=t),type:"password",autocomplete:"current-password"},null,512),[[k,p.current_password]]),y.value?.fields.current_password?(n(),l("p",$e,r(y.value.fields.current_password),1)):d("",!0)]),o("div",Ee,[e[28]||(e[28]=o("label",{for:"pw-new"},"Nowe hasło (min. 8 znaków)",-1)),b(o("input",{id:"pw-new","onUpdate:modelValue":e[8]||(e[8]=t=>p.password=t),type:"password",autocomplete:"new-password"},null,512),[[k,p.password]]),y.value?.fields.password?(n(),l("p",Ie,r(y.value.fields.password),1)):d("",!0)]),o("div",Oe,[e[29]||(e[29]=o("label",{for:"pw-confirm"},"Powtórz nowe hasło",-1)),b(o("input",{id:"pw-confirm","onUpdate:modelValue":e[9]||(e[9]=t=>p.password_confirmation=t),type:"password",autocomplete:"new-password"},null,512),[[k,p.password_confirmation]])]),o("button",{class:"btn primary",type:"submit",disabled:h.value||!p.current_password||!p.password},r(h.value?"Zapisywanie…":"Zmień hasło"),9,We)],32)]),o("section",Ae,[o("button",{class:"btn miss",type:"button",onClick:e[10]||(e[10]=t=>s(f).logout())},"Wyloguj się")])]))}});export{Ye as default}; diff --git a/public/assets/ProfileView-xiCAAcL3.js b/public/assets/ProfileView-xiCAAcL3.js deleted file mode 100644 index b4e095e..0000000 --- a/public/assets/ProfileView-xiCAAcL3.js +++ /dev/null @@ -1 +0,0 @@ -import{d as I,u as O,y as W,E as A,Q as J,q as R,o as q,a as U,K as N,c as l,i as H,b as o,h as Z,t as r,f as d,w as k,v as w,e as s,F as T,B as D,p as M,r as c,R as Q,n,S as X}from"./index-BJq7_SVs.js";import{_ as Y}from"./PageHead.vue_vue_type_script_setup_true_lang-D45_AHIh.js";import{f as V}from"./forms-C2WygAic.js";import{o as ee}from"./oauth-zzthF4BZ.js";const oe={class:"card","aria-labelledby":"dane-h"},se={key:0,class:"notice error",role:"alert",style:{"margin-bottom":"12px"}},te={key:1,class:"notice",role:"status",style:{"margin-bottom":"12px"}},ae={class:"grid-2"},le={class:"field"},ne={key:0,class:"error-text"},ie={class:"field"},re={key:0,class:"error-text"},de={class:"field"},ue={key:0,class:"error-text"},pe=["disabled"],me={id:"wybor",class:"card section","aria-labelledby":"wybor-h"},ce={key:0,class:"skeleton"},ye={key:1,class:"muted"},be={class:"eyebrow",style:{padding:"0","margin-bottom":"6px"}},ke=["name","value","checked","onChange"],we={key:0,class:"muted small",style:{margin:"4px 0 0"}},fe=["onClick"],ze={id:"kalendarz",class:"card section","aria-labelledby":"kalendarz-h"},ve={key:0,class:"notice error",role:"alert",style:{margin:"12px 0"}},ge={key:1,class:"skeleton",style:{"margin-top":"12px"}},_e={key:2,style:{"margin-top":"12px"}},he=["disabled"],xe={class:"field",style:{"margin-top":"12px"}},je={style:{display:"flex",gap:"8px"}},Pe=["value"],Ce={key:0,class:"muted small",style:{margin:"0"}},Ue={class:"check"},Te=["checked","disabled"],Ve={class:"check"},Ke=["checked","disabled"],Ne={class:"btn-row",style:{"margin-top":"12px"}},Ze=["disabled"],De=["disabled"],Me={key:0,class:"card section","aria-labelledby":"microsoft-h"},Be=["disabled"],Fe={class:"card section","aria-labelledby":"haslo-h"},Se={key:0,class:"notice error",role:"alert",style:{"margin-bottom":"12px"}},Ge={key:1,class:"notice",role:"status",style:{"margin-bottom":"12px"}},Le={class:"field"},Ee={key:0,class:"error-text"},$e={class:"field"},Ie={key:0,class:"error-text"},Oe={class:"field"},We=["disabled"],Ae={class:"section"},Ye=I({__name:"ProfileView",setup(Je){const f=O(),z=W(),v=A(),a=J(),x=R(),j=c(!1),g=c(!1);q(()=>{z.loadCourses(),a.load(),U.oauthProviders().then(i=>j.value=i.providers.some(e=>e.name==="microsoft")).catch(()=>j.value=!1)});async function B(){g.value=!0;try{const{link_ticket:i}=await U.oauthLinkTicket();window.location.assign(ee("microsoft",{action:"link",linkTicket:i,returnTo:"/profil"}))}catch(i){x.show(V(i).message||"Nie udało się połączyć konta Microsoft."),g.value=!1}}const K=c(null);async function F(){const i=a.feed?.url;i&&(await Q(i)?x.show("Skopiowano link do schowka."):(K.value?.select(),x.show("Nie udało się skopiować. Link jest zaznaczony: skopiuj go ręcznie.")))}function S(){window.confirm("Wygenerować nowy link? Stary przestanie działać i kalendarze, które go subskrybują, trzeba będzie dodać od nowa.")&&a.rotate()}function G(){window.confirm("Usunąć link do kalendarza? Kalendarze, które go subskrybują, przestaną się aktualizować.")&&a.remove()}function L(i){return new Date(i).toLocaleString("pl-PL",{day:"numeric",month:"long",hour:"2-digit",minute:"2-digit"})}const m=N({name:f.user?.name??"",surname:f.user?.surname??"",email:f.user?.email??""}),_=c(!1),u=c(null),P=c(!1);async function E(){_.value=!0,u.value=null,P.value=!1;try{await f.updateProfile({name:m.name.trim(),surname:m.surname.trim(),email:m.email.trim()}),P.value=!0}catch(i){u.value=V(i)}finally{_.value=!1}}const p=N({current_password:"",password:"",password_confirmation:""}),h=c(!1),y=c(null),C=c(!1);async function $(){h.value=!0,y.value=null,C.value=!1;try{await U.changePassword({...p}),C.value=!0,Object.assign(p,{current_password:"",password:"",password_confirmation:""})}catch(i){y.value=V(i)}finally{h.value=!1}}return(i,e)=>(n(),l("div",null,[H(Y,{eyebrow:"Konto",title:"Profil"}),o("section",oe,[e[14]||(e[14]=o("h2",{id:"dane-h",style:{"margin-bottom":"12px"}},"Dane",-1)),o("form",{onSubmit:Z(E,["prevent"]),novalidate:""},[u.value?.message?(n(),l("p",se,r(u.value.message),1)):d("",!0),P.value?(n(),l("p",te,"Zapisano.")):d("",!0),o("div",ae,[o("div",le,[e[11]||(e[11]=o("label",{for:"p-name"},"Imię",-1)),k(o("input",{id:"p-name","onUpdate:modelValue":e[0]||(e[0]=t=>m.name=t),type:"text",autocomplete:"given-name"},null,512),[[w,m.name]]),u.value?.fields.name?(n(),l("p",ne,r(u.value.fields.name),1)):d("",!0)]),o("div",ie,[e[12]||(e[12]=o("label",{for:"p-surname"},"Nazwisko",-1)),k(o("input",{id:"p-surname","onUpdate:modelValue":e[1]||(e[1]=t=>m.surname=t),type:"text",autocomplete:"family-name"},null,512),[[w,m.surname]]),u.value?.fields.surname?(n(),l("p",re,r(u.value.fields.surname),1)):d("",!0)])]),o("div",de,[e[13]||(e[13]=o("label",{for:"p-email"},"Adres e-mail",-1)),k(o("input",{id:"p-email","onUpdate:modelValue":e[2]||(e[2]=t=>m.email=t),type:"email",autocomplete:"email",inputmode:"email"},null,512),[[w,m.email]]),u.value?.fields.email?(n(),l("p",ue,r(u.value.fields.email),1)):d("",!0)]),o("button",{class:"btn primary",type:"submit",disabled:_.value},r(_.value?"Zapisywanie…":"Zapisz dane"),9,pe)],32)]),o("section",me,[e[15]||(e[15]=o("h2",{id:"wybor-h",style:{"margin-bottom":"6px"}},"Przedmioty do wyboru",-1)),e[16]||(e[16]=o("p",{class:"muted small"},"Z każdej grupy wybierasz jeden przedmiot. Pozostałe znikną z planu, pulpitu i list (można je pokazać przełącznikiem „Pokaż wszystkie”). Wybór zapamiętuje to urządzenie.",-1)),s(z).loaded.courses?s(z).electiveGroups.length?d("",!0):(n(),l("p",ye,"Nie ma teraz przedmiotów do wyboru.")):(n(),l("div",ce)),(n(!0),l(T,null,D(s(z).electiveGroups,t=>(n(),l("fieldset",{key:t.code,style:{border:"0",padding:"0",margin:"14px 0 0"}},[o("legend",be,r(s(X)(t.code)),1),(n(!0),l(T,null,D(t.options,b=>(n(),l("label",{key:b,class:"check"},[o("input",{type:"radio",name:`g-${t.code}`,value:b,checked:s(v).choices[t.code]===b,onChange:Re=>s(v).choose(t.code,b)},null,40,ke),o("span",null,r(b),1)]))),128)),s(v).choices[t.code]?(n(),l("button",{key:1,class:"linkish small",type:"button",onClick:b=>s(v).choose(t.code,null)},"Wyczyść wybór",8,fe)):(n(),l("p",we,"Jeszcze nie wybrano. Do tego czasu widać wszystkie alternatywy."))]))),128))]),o("section",ze,[e[23]||(e[23]=o("h2",{id:"kalendarz-h",style:{"margin-bottom":"6px"}},"Kalendarz Google / telefon",-1)),e[24]||(e[24]=o("p",{class:"muted small"}," Prywatny link do planu zajęć w formacie iCalendar. Dodaj go w Kalendarzu Google albo w telefonie, a zajęcia pojawią się obok Twoich wydarzeń. Plan uwzględnia przedmioty do wyboru wybrane wyżej. ",-1)),s(a).error?(n(),l("p",ve,r(s(a).error),1)):d("",!0),s(a).feed===void 0&&(s(a).loading||!s(a).error)?(n(),l("div",ge)):s(a).feed?(n(),l(T,{key:3},[o("div",xe,[e[17]||(e[17]=o("label",{for:"cal-url"},"Twój link (nie udostępniaj go)",-1)),o("div",je,[o("input",{id:"cal-url",ref_key:"urlInput",ref:K,class:"mono",type:"text",readonly:"",value:s(a).feed.url,style:{"font-size":"14px","min-width":"0"},onFocus:e[4]||(e[4]=t=>t.target.select())},null,40,Pe),o("button",{class:"btn",type:"button",onClick:F},"Kopiuj")]),s(a).feed.last_fetched_at?(n(),l("p",Ce,"Ostatnio pobrany przez kalendarz: "+r(L(s(a).feed.last_fetched_at))+".",1)):d("",!0)]),o("label",Ue,[o("input",{type:"checkbox",checked:s(a).feed.include_meetings,disabled:s(a).busy,onChange:e[5]||(e[5]=t=>s(a).save({include_meetings:t.target.checked}))},null,40,Te),e[18]||(e[18]=o("span",null,"Zjazdy jako wydarzenia całodniowe",-1))]),o("label",Ve,[o("input",{type:"checkbox",checked:s(a).feed.include_deadlines,disabled:s(a).busy,onChange:e[6]||(e[6]=t=>s(a).save({include_deadlines:t.target.checked}))},null,40,Ke),e[19]||(e[19]=o("span",null,"Terminy z terminarza",-1))]),o("div",Ne,[o("button",{class:"btn small ghost",type:"button",disabled:s(a).busy,onClick:S},"Wygeneruj nowy link",8,Ze),o("button",{class:"btn small miss",type:"button",disabled:s(a).busy,onClick:G},"Usuń link",8,De)]),e[20]||(e[20]=o("h3",{class:"eyebrow",style:{margin:"18px 0 6px"}},"Jak dodać",-1)),e[21]||(e[21]=o("ol",{class:"small",style:{margin:"0","padding-left":"20px",display:"grid",gap:"6px"}},[o("li",null,[o("b",null,"Kalendarz Google"),M(" (na komputerze, calendar.google.com): po lewej przy „Inne kalendarze” kliknij „+”, wybierz „Z adresu URL”, wklej link i kliknij „Dodaj kalendarz”. Na telefonie z Androidem kalendarz pojawi się sam po synchronizacji konta Google. ")]),o("li",null,[o("b",null,"iPhone / iPad"),M(": Ustawienia → Kalendarz → Konta → Dodaj konto → Inne → Dodaj subskrybowany kalendarz, wklej link i zapisz. ")])],-1)),e[22]||(e[22]=o("p",{class:"muted small",style:{margin:"10px 0 0"}}," Google odświeża subskrybowane kalendarze co kilka godzin, nie od razu: zmiana planu albo wyboru przedmiotów pojawi się w kalendarzu z opóźnieniem. ",-1))],64)):(n(),l("div",_e,[o("button",{class:"btn primary",type:"button",disabled:s(a).busy,onClick:e[3]||(e[3]=t=>s(a).create())},r(s(a).busy?"Tworzenie…":"Utwórz link do kalendarza"),9,he)]))]),j.value?(n(),l("section",Me,[e[25]||(e[25]=o("h2",{id:"microsoft-h",style:{"margin-bottom":"6px"}},"Konto Microsoft 365",-1)),e[26]||(e[26]=o("p",{class:"muted small"}," Połącz konto uczelniane Microsoft 365, aby logować się przyciskiem „Zaloguj przez Microsoft 365”. ",-1)),o("button",{class:"btn",type:"button",style:{"margin-top":"12px"},disabled:g.value,onClick:B},r(g.value?"Przekierowanie…":"Połącz konto Microsoft"),9,Be)])):d("",!0),o("section",Fe,[e[30]||(e[30]=o("h2",{id:"haslo-h",style:{"margin-bottom":"12px"}},"Zmiana hasła",-1)),o("form",{onSubmit:Z($,["prevent"]),novalidate:""},[y.value?.message?(n(),l("p",Se,r(y.value.message),1)):d("",!0),C.value?(n(),l("p",Ge,"Hasło zostało zmienione.")):d("",!0),o("div",Le,[e[27]||(e[27]=o("label",{for:"pw-current"},"Obecne hasło",-1)),k(o("input",{id:"pw-current","onUpdate:modelValue":e[7]||(e[7]=t=>p.current_password=t),type:"password",autocomplete:"current-password"},null,512),[[w,p.current_password]]),y.value?.fields.current_password?(n(),l("p",Ee,r(y.value.fields.current_password),1)):d("",!0)]),o("div",$e,[e[28]||(e[28]=o("label",{for:"pw-new"},"Nowe hasło (min. 8 znaków)",-1)),k(o("input",{id:"pw-new","onUpdate:modelValue":e[8]||(e[8]=t=>p.password=t),type:"password",autocomplete:"new-password"},null,512),[[w,p.password]]),y.value?.fields.password?(n(),l("p",Ie,r(y.value.fields.password),1)):d("",!0)]),o("div",Oe,[e[29]||(e[29]=o("label",{for:"pw-confirm"},"Powtórz nowe hasło",-1)),k(o("input",{id:"pw-confirm","onUpdate:modelValue":e[9]||(e[9]=t=>p.password_confirmation=t),type:"password",autocomplete:"new-password"},null,512),[[w,p.password_confirmation]])]),o("button",{class:"btn primary",type:"submit",disabled:h.value||!p.current_password||!p.password},r(h.value?"Zapisywanie…":"Zmień hasło"),9,We)],32)]),o("section",Ae,[o("button",{class:"btn miss",type:"button",onClick:e[10]||(e[10]=t=>s(f).logout())},"Wyloguj się")])]))}});export{Ye as default}; diff --git a/public/assets/QuizView-B2lxCtn-.js b/public/assets/QuizView-B2lxCtn-.js new file mode 100644 index 0000000..8b48396 --- /dev/null +++ b/public/assets/QuizView-B2lxCtn-.js @@ -0,0 +1 @@ +var ne=Object.defineProperty;var le=(m,o,n)=>o in m?ne(m,o,{enumerable:!0,configurable:!0,writable:!0,value:n}):m[o]=n;var c=(m,o,n)=>le(m,typeof o!="symbol"?o+"":o,n);import{_ as oe}from"./PageHead.vue_vue_type_script_setup_true_lang-BvljxRM_.js";import{_ as ie}from"./LoadState.vue_vue_type_script_setup_true_lang-CZ3UpUyg.js";import{q,_ as re}from"./quizzes-BK-v4h9-.js";import{d as ue,o as de,U as ce,c as i,i as S,j as P,r as v,al as I,n as r,F as k,p as _,t as l,f as h,b as e,H as R,$ as ve,E as Z,x,Y as he,ae as pe,l as ye}from"./index-BxuLaZe9.js";function me(m,o=Math.random){const n=m.slice();for(let p=n.length-1;p>0;p--){const f=Math.floor(o()*(p+1));[n[p],n[f]]=[n[f],n[p]]}return n}class fe{constructor(o,n=5,p=Math.random){c(this,"cards");c(this,"roundSize");c(this,"rng");c(this,"pool",[]);c(this,"round",[]);c(this,"cur",0);c(this,"roundMarks",[]);c(this,"marks",{});c(this,"order",[]);c(this,"review",!1);c(this,"phase","card");this.cards=new Map(o.map(f=>[f.id,f])),this.roundSize=Math.max(1,n),this.rng=p,this.reset()}reset(){this.marks={},this.order=[],this.pool=[...this.cards.keys()],this.draw()}draw(){if(this.review=!1,this.pool.length===0){this.round=[],this.roundMarks=[],this.cur=0,this.phase="final";return}const o=[];for(;o.lengthnull),this.cur=0,this.phase="card"}get current(){const o=this.round[this.cur];return o===void 0?null:this.cards.get(o)??null}get isLastInRound(){return this.cur===this.round.length-1}get answeredCount(){return this.order.length}get remaining(){return this.pool.length}get total(){return this.cards.size}mark(o){const n=this.round[this.cur];n===void 0||this.phase!=="card"||(this.roundMarks[this.cur]=o,n in this.marks||this.order.push(n),this.marks[n]=o)}next(){this.phase==="card"&&(this.cur++,this.cur>=this.round.length&&(this.phase=this.review||this.pool.length===0?"final":"round"))}finish(){this.phase="final"}ids(o){return this.order.filter(n=>this.marks[n]===o)}get missed(){return this.ids("n")}get known(){return this.ids("y")}get tally(){return{y:this.known.length,n:this.missed.length}}startReview(){const o=this.missed;o.length!==0&&(this.review=!0,this.startRound(me(o,this.rng)))}}const ge={key:0,class:"muted"},ke={class:"card accent","aria-labelledby":"start-h"},_e={class:"small muted"},we={key:0,class:"chips wrap",role:"group","aria-label":"Kategoria"},be=["aria-pressed"],ze=["aria-pressed","onClick"],xe={class:"btn-row",style:{"margin-top":"12px"}},Ce=["disabled"],Me={key:1,class:"section","aria-labelledby":"hist-h"},je={class:"card"},qe={class:"quiz-bar"},$e={class:"score"},Ne={class:"y"},We={class:"n"},Re={class:"count"},Se={class:"btn-row"},Le=["disabled"],Be=["disabled"],Pe={class:"step","aria-live":"polite"},Ze={key:0},Te={key:1,class:"qcard"},Ve={class:"q"},De={key:1,class:"answer","aria-live":"polite"},Ee={class:"qactions"},Ke=["aria-pressed","disabled"],Qe=["aria-pressed","disabled"],He=["disabled"],Ae={key:2,class:"error-text",role:"alert"},Fe={key:2,class:"qcard sum"},Ie={class:"tag"},Oe={class:"qactions"},Ue={key:3,class:"qcard sum"},Ye={class:"qactions",style:{margin:"0 0 18px"}},Ge={key:0,class:"grp miss"},Je={class:"tag"},Xe={key:1,class:"grp ok"},et={class:"tag"},tt={key:2,class:"muted small mono",style:{margin:"14px 0 0"}},rt=ue({__name:"QuizView",props:{slug:{}},setup(m){const o=m,n=v(null),p=v(""),f=v([]),y=v(null),d=v(null),g=v(null),w=v(!1),$=v({}),C=v(!1),N=v(""),b=v(null),T=v(null);async function V(){p.value="";try{n.value=await q.quiz(o.slug),D()}catch(t){p.value=I(t)}}async function D(){try{f.value=(await q.attempts(o.slug)).data}catch{}}de(V),ce(()=>{g.value&&!w.value&&d.value?.answeredCount&&q.finish(g.value.id).catch(()=>{})});const E=x(()=>{const t=new Map;for(const a of n.value?.questions??[])a.category&&t.set(a.category,(t.get(a.category)??0)+1);return[...t].sort(([a],[M])=>a.localeCompare(M,"pl"))}),K=x(()=>(n.value?.questions??[]).filter(t=>!y.value||t.category===y.value).length);function O(){const t=(n.value?.questions??[]).filter(a=>a.type==="self_check"&&(!y.value||a.category===y.value)).map(a=>({id:a.id,text:a.text,category:a.category,answer:a.answer_text??""}));d.value=new fe(t,n.value?.round_size??5),g.value=null,w.value=!1,$.value={},N.value="",b.value=null}async function U(){return g.value||(g.value=await q.start(o.slug,y.value),w.value=!1),g.value}async function Q(t){const a=d.value,M=a?.current;if(!(!a||!M||C.value)){C.value=!0,N.value="";try{const u=await U();await q.answer(u.id,{question_id:M.id,known:t==="y"}),a.mark(t),await he(),T.value?.focus()}catch(u){N.value=`Nie udało się zapisać odpowiedzi. ${I(u)}`}finally{C.value=!1}}}function Y(){const t=d.value?.current?.id;t!==void 0&&($.value={...$.value,[t]:!0})}function G(){const t=d.value;t&&(t.next(),t.phase==="final"&&W())}function H(){d.value?.draw(),d.value?.phase==="final"&&W()}function A(){d.value?.finish(),W()}async function W(){const t=g.value;if(!(!t||w.value)){w.value=!0;try{b.value=await q.finish(t.id)}catch{}D()}}function J(){const t=d.value;t&&(t.startReview(),g.value=null,w.value=!1,b.value=null)}function X(){d.value?.reset(),g.value=null,w.value=!1,$.value={},b.value=null,d.value?.phase==="final"&&W()}function ee(){W(),d.value=null}const s=x(()=>d.value),z=x(()=>s.value?.current??null),L=x(()=>z.value?s.value?.roundMarks[s.value.cur]??null:null),F=t=>s.value?.cards.get(t)?.answer??"",te=t=>s.value?.roundMarks[t]??(t===s.value?.cur?"cur":""),se=x(()=>{const t=s.value;return t?t.isLastInRound?t.review?"Wynik powtórki":t.remaining?"Koniec rundy":"Podsumowanie":"Dalej":""}),B=t=>pe(t,"pytanie","pytania","pytań"),ae=x(()=>{const t=s.value;return t?t.phase==="round"?"Koniec rundy":t.phase==="final"?t.review?"Wynik po powtórce":t.remaining?"Podsumowanie sesji":"Cała pula za Tobą":`${t.review?"Powtórka · ":""}Pytanie ${t.cur+1} z ${t.round.length}`:""});return(t,a)=>{const M=ye("router-link");return r(),i("div",null,[S(ie,{ready:!!n.value,error:p.value,onRetry:a[3]||(a[3]=u=>V())},{default:P(()=>[n.value?(r(),i(k,{key:0},[S(oe,{eyebrow:"Quiz",title:n.value.title},{default:P(()=>[S(M,{class:"btn small ghost",to:"/quizy"},{default:P(()=>[...a[4]||(a[4]=[_("← Quizy",-1)])]),_:1})]),_:1},8,["title"]),s.value?(r(),i(k,{key:1},[e("div",qe,[e("div",null,[e("div",$e,[e("span",Ne,[a[7]||(a[7]=_("Wiem ",-1)),e("b",null,l(s.value.tally.y),1)]),e("span",We,[a[8]||(a[8]=_("Nie wiem ",-1)),e("b",null,l(s.value.tally.n),1)])]),e("span",Re,[_(l(B(s.value.total))+" w puli · "+l(s.value.remaining)+" jeszcze nie padło",1),y.value?(r(),i(k,{key:0},[_(" · "+l(y.value),1)],64)):h("",!0)])]),e("div",Se,[e("button",{class:"btn small",type:"button",disabled:s.value.phase==="final",onClick:H},"Losuj "+l(n.value.round_size??5)+" nowych",9,Le),e("button",{class:"btn small primary",type:"button",disabled:s.value.answeredCount===0||s.value.phase==="final",onClick:A},"Zakończ",8,Be)])]),s.value.phase!=="final"?(r(),i("div",{key:0,class:"round-progress",style:ve({gridTemplateColumns:`repeat(${s.value.round.length}, 1fr)`}),"aria-hidden":"true"},[(r(!0),i(k,null,R(s.value.round,(u,j)=>(r(),i("span",{key:j,class:Z(te(j))},null,2))),128))],4)):h("",!0),e("div",Pe,[e("span",null,l(ae.value),1),s.value.phase==="card"&&z.value?.category?(r(),i("span",Ze,l(z.value.category),1)):h("",!0)]),s.value.phase==="card"&&z.value?(r(),i("div",Te,[e("p",Ve,l(z.value.text),1),$.value[z.value.id]?(r(),i("div",De,[a[9]||(a[9]=e("span",{class:"tag"},"Odpowiedź",-1)),_(" "+l(z.value.answer),1)])):(r(),i("button",{key:0,class:"reveal",type:"button",onClick:Y},"odpowiedź")),e("div",Ee,[e("button",{class:"btn yes",type:"button","aria-pressed":L.value==="y",disabled:C.value,onClick:a[1]||(a[1]=u=>Q("y"))},"Wiem!",8,Ke),e("button",{class:"btn no",type:"button","aria-pressed":L.value==="n",disabled:C.value,onClick:a[2]||(a[2]=u=>Q("n"))},"Nie wiem",8,Qe),e("button",{ref_key:"nextBtn",ref:T,class:"btn primary next",type:"button",disabled:!L.value||C.value,onClick:G},l(se.value),9,He)]),N.value?(r(),i("p",Ae,l(N.value),1)):h("",!0)])):s.value.phase==="round"?(r(),i("div",Fe,[e("h2",null,"Wiem "+l(s.value.roundMarks.filter(u=>u==="y").length)+" z "+l(s.value.round.length),1),a[10]||(a[10]=e("p",null,"Pytania „Nie wiem” trafiają do powtórki. Zbierzesz je przyciskiem „Zakończ”.",-1)),e("ol",null,[(r(!0),i(k,null,R(s.value.round,(u,j)=>(r(),i("li",{key:u,class:Z(s.value.roundMarks[j])},[e("span",Ie,l(s.value.cards.get(u)?.category),1),_(" "+l(s.value.cards.get(u)?.text)+" ",1),e("small",null,l(F(u)),1)],2))),128))]),e("div",Oe,[e("button",{class:"btn primary",type:"button",onClick:H},"Losuj "+l(n.value.round_size??5)+" nowych",1),e("button",{class:"btn",type:"button",onClick:A},"Zakończ")])])):(r(),i("div",Ue,[e("h2",null,"Wiem "+l(s.value.known.length)+" z "+l(s.value.answeredCount),1),e("p",null,l(s.value.missed.length?`Do powtórki: ${s.value.missed.length}.`:s.value.answeredCount?"Wszystko umiesz. Nie ma nic do powtórki.":"Nie udzielono żadnej odpowiedzi."),1),e("div",Ye,[s.value.missed.length?(r(),i("button",{key:0,class:"btn primary",type:"button",onClick:J},"Powtórz "+l(B(s.value.missed.length)),1)):h("",!0),e("button",{class:Z(["btn",{primary:!s.value.missed.length}]),type:"button",onClick:X},"Nowa sesja",2),e("button",{class:"btn ghost",type:"button",onClick:ee},"Wróć do quizu")]),s.value.missed.length?(r(),i("div",Ge,[a[11]||(a[11]=e("h3",null,"Nie wiem",-1)),e("ol",null,[(r(!0),i(k,null,R(s.value.missed,u=>(r(),i("li",{key:u,class:"n"},[e("span",Je,l(s.value.cards.get(u)?.category),1),_(" "+l(s.value.cards.get(u)?.text)+" ",1),e("small",null,l(F(u)),1)]))),128))])])):h("",!0),s.value.known.length?(r(),i("div",Xe,[a[12]||(a[12]=e("h3",null,"Wiem",-1)),e("ol",null,[(r(!0),i(k,null,R(s.value.known,u=>(r(),i("li",{key:u,class:"y"},[e("span",et,l(s.value.cards.get(u)?.category),1),_(" "+l(s.value.cards.get(u)?.text),1)]))),128))])])):h("",!0),b.value?(r(),i("p",tt,"Zapisano w historii: "+l(Math.round(b.value.score_points))+"/"+l(Math.round(b.value.max_points)),1)):h("",!0)]))],64)):(r(),i(k,{key:0},[n.value.description?(r(),i("p",ge,l(n.value.description),1)):h("",!0),e("section",ke,[a[5]||(a[5]=e("h2",{id:"start-h",style:{"margin-bottom":"8px"}},"Nowa sesja",-1)),e("p",_e,"Rundy po "+l(n.value.round_size??5)+" losowych pytań, które jeszcze nie padły. Każdą odpowiedź zapisujemy na koncie.",1),E.value.length?(r(),i("div",we,[e("button",{class:"chip",type:"button","aria-pressed":y.value===null,onClick:a[0]||(a[0]=u=>y.value=null)},"Wszystkie",8,be),(r(!0),i(k,null,R(E.value,([u,j])=>(r(),i("button",{key:u,class:"chip",type:"button","aria-pressed":y.value===u,onClick:st=>y.value=u},l(u)+" · "+l(j),9,ze))),128))])):h("",!0),e("div",xe,[e("button",{class:"btn primary",type:"button",disabled:K.value===0,onClick:O},"Zacznij · "+l(B(K.value)),9,Ce)])]),f.value.length?(r(),i("section",Me,[a[6]||(a[6]=e("div",{class:"section-head"},[e("h2",{id:"hist-h"},"Historia podejść")],-1)),e("div",je,[S(re,{attempts:f.value},null,8,["attempts"])])])):h("",!0)],64))],64)):h("",!0)]),_:1},8,["ready","error"])])}}});export{rt as default}; diff --git a/public/assets/QuizView-FDtinUZQ.js b/public/assets/QuizView-FDtinUZQ.js deleted file mode 100644 index 9849d4b..0000000 --- a/public/assets/QuizView-FDtinUZQ.js +++ /dev/null @@ -1 +0,0 @@ -var ne=Object.defineProperty;var le=(m,o,n)=>o in m?ne(m,o,{enumerable:!0,configurable:!0,writable:!0,value:n}):m[o]=n;var c=(m,o,n)=>le(m,typeof o!="symbol"?o+"":o,n);import{_ as oe}from"./PageHead.vue_vue_type_script_setup_true_lang-D45_AHIh.js";import{_ as ie}from"./LoadState.vue_vue_type_script_setup_true_lang-DkVVX15k.js";import{q,_ as re}from"./quizzes-BqZpc3iI.js";import{d as ue,o as de,L as ce,c as i,i as L,j as P,r as v,I as H,n as r,F as k,p as _,t as l,f as h,b as e,B as R,C as ve,z as Z,x,M as he,l as pe}from"./index-BJq7_SVs.js";import{c as ye}from"./format-bcE-cYHJ.js";function me(m,o=Math.random){const n=m.slice();for(let p=n.length-1;p>0;p--){const f=Math.floor(o()*(p+1));[n[p],n[f]]=[n[f],n[p]]}return n}class fe{constructor(o,n=5,p=Math.random){c(this,"cards");c(this,"roundSize");c(this,"rng");c(this,"pool",[]);c(this,"round",[]);c(this,"cur",0);c(this,"roundMarks",[]);c(this,"marks",{});c(this,"order",[]);c(this,"review",!1);c(this,"phase","card");this.cards=new Map(o.map(f=>[f.id,f])),this.roundSize=Math.max(1,n),this.rng=p,this.reset()}reset(){this.marks={},this.order=[],this.pool=[...this.cards.keys()],this.draw()}draw(){if(this.review=!1,this.pool.length===0){this.round=[],this.roundMarks=[],this.cur=0,this.phase="final";return}const o=[];for(;o.lengthnull),this.cur=0,this.phase="card"}get current(){const o=this.round[this.cur];return o===void 0?null:this.cards.get(o)??null}get isLastInRound(){return this.cur===this.round.length-1}get answeredCount(){return this.order.length}get remaining(){return this.pool.length}get total(){return this.cards.size}mark(o){const n=this.round[this.cur];n===void 0||this.phase!=="card"||(this.roundMarks[this.cur]=o,n in this.marks||this.order.push(n),this.marks[n]=o)}next(){this.phase==="card"&&(this.cur++,this.cur>=this.round.length&&(this.phase=this.review||this.pool.length===0?"final":"round"))}finish(){this.phase="final"}ids(o){return this.order.filter(n=>this.marks[n]===o)}get missed(){return this.ids("n")}get known(){return this.ids("y")}get tally(){return{y:this.known.length,n:this.missed.length}}startReview(){const o=this.missed;o.length!==0&&(this.review=!0,this.startRound(me(o,this.rng)))}}const ge={key:0,class:"muted"},ke={class:"card accent","aria-labelledby":"start-h"},_e={class:"small muted"},we={key:0,class:"chips wrap",role:"group","aria-label":"Kategoria"},be=["aria-pressed"],ze=["aria-pressed","onClick"],xe={class:"btn-row",style:{"margin-top":"12px"}},Ce=["disabled"],Me={key:1,class:"section","aria-labelledby":"hist-h"},je={class:"card"},qe={class:"quiz-bar"},Ne={class:"score"},$e={class:"y"},We={class:"n"},Re={class:"count"},Le={class:"btn-row"},Se=["disabled"],Be=["disabled"],Pe={class:"step","aria-live":"polite"},Ze={key:0},Te={key:1,class:"qcard"},Ve={class:"q"},De={key:1,class:"answer","aria-live":"polite"},Ke={class:"qactions"},Qe=["aria-pressed","disabled"],Ee=["aria-pressed","disabled"],Ie=["disabled"],Ae={key:2,class:"error-text",role:"alert"},Fe={key:2,class:"qcard sum"},He={class:"tag"},Oe={class:"qactions"},Ue={key:3,class:"qcard sum"},Ge={class:"qactions",style:{margin:"0 0 18px"}},Je={key:0,class:"grp miss"},Xe={class:"tag"},Ye={key:1,class:"grp ok"},et={class:"tag"},tt={key:2,class:"muted small mono",style:{margin:"14px 0 0"}},ut=ue({__name:"QuizView",props:{slug:{}},setup(m){const o=m,n=v(null),p=v(""),f=v([]),y=v(null),d=v(null),g=v(null),w=v(!1),N=v({}),C=v(!1),$=v(""),b=v(null),T=v(null);async function V(){p.value="";try{n.value=await q.quiz(o.slug),D()}catch(t){p.value=H(t)}}async function D(){try{f.value=(await q.attempts(o.slug)).data}catch{}}de(V),ce(()=>{g.value&&!w.value&&d.value?.answeredCount&&q.finish(g.value.id).catch(()=>{})});const K=x(()=>{const t=new Map;for(const a of n.value?.questions??[])a.category&&t.set(a.category,(t.get(a.category)??0)+1);return[...t].sort(([a],[M])=>a.localeCompare(M,"pl"))}),Q=x(()=>(n.value?.questions??[]).filter(t=>!y.value||t.category===y.value).length);function O(){const t=(n.value?.questions??[]).filter(a=>a.type==="self_check"&&(!y.value||a.category===y.value)).map(a=>({id:a.id,text:a.text,category:a.category,answer:a.answer_text??""}));d.value=new fe(t,n.value?.round_size??5),g.value=null,w.value=!1,N.value={},$.value="",b.value=null}async function U(){return g.value||(g.value=await q.start(o.slug,y.value),w.value=!1),g.value}async function E(t){const a=d.value,M=a?.current;if(!(!a||!M||C.value)){C.value=!0,$.value="";try{const u=await U();await q.answer(u.id,{question_id:M.id,known:t==="y"}),a.mark(t),await he(),T.value?.focus()}catch(u){$.value=`Nie udało się zapisać odpowiedzi. ${H(u)}`}finally{C.value=!1}}}function G(){const t=d.value?.current?.id;t!==void 0&&(N.value={...N.value,[t]:!0})}function J(){const t=d.value;t&&(t.next(),t.phase==="final"&&W())}function I(){d.value?.draw(),d.value?.phase==="final"&&W()}function A(){d.value?.finish(),W()}async function W(){const t=g.value;if(!(!t||w.value)){w.value=!0;try{b.value=await q.finish(t.id)}catch{}D()}}function X(){const t=d.value;t&&(t.startReview(),g.value=null,w.value=!1,b.value=null)}function Y(){d.value?.reset(),g.value=null,w.value=!1,N.value={},b.value=null,d.value?.phase==="final"&&W()}function ee(){W(),d.value=null}const s=x(()=>d.value),z=x(()=>s.value?.current??null),S=x(()=>z.value?s.value?.roundMarks[s.value.cur]??null:null),F=t=>s.value?.cards.get(t)?.answer??"",te=t=>s.value?.roundMarks[t]??(t===s.value?.cur?"cur":""),se=x(()=>{const t=s.value;return t?t.isLastInRound?t.review?"Wynik powtórki":t.remaining?"Koniec rundy":"Podsumowanie":"Dalej":""}),B=t=>ye(t,"pytanie","pytania","pytań"),ae=x(()=>{const t=s.value;return t?t.phase==="round"?"Koniec rundy":t.phase==="final"?t.review?"Wynik po powtórce":t.remaining?"Podsumowanie sesji":"Cała pula za Tobą":`${t.review?"Powtórka · ":""}Pytanie ${t.cur+1} z ${t.round.length}`:""});return(t,a)=>{const M=pe("router-link");return r(),i("div",null,[L(ie,{ready:!!n.value,error:p.value,onRetry:a[3]||(a[3]=u=>V())},{default:P(()=>[n.value?(r(),i(k,{key:0},[L(oe,{eyebrow:"Quiz",title:n.value.title},{default:P(()=>[L(M,{class:"btn small ghost",to:"/quizy"},{default:P(()=>[...a[4]||(a[4]=[_("← Quizy",-1)])]),_:1})]),_:1},8,["title"]),s.value?(r(),i(k,{key:1},[e("div",qe,[e("div",null,[e("div",Ne,[e("span",$e,[a[7]||(a[7]=_("Wiem ",-1)),e("b",null,l(s.value.tally.y),1)]),e("span",We,[a[8]||(a[8]=_("Nie wiem ",-1)),e("b",null,l(s.value.tally.n),1)])]),e("span",Re,[_(l(B(s.value.total))+" w puli · "+l(s.value.remaining)+" jeszcze nie padło",1),y.value?(r(),i(k,{key:0},[_(" · "+l(y.value),1)],64)):h("",!0)])]),e("div",Le,[e("button",{class:"btn small",type:"button",disabled:s.value.phase==="final",onClick:I},"Losuj "+l(n.value.round_size??5)+" nowych",9,Se),e("button",{class:"btn small primary",type:"button",disabled:s.value.answeredCount===0||s.value.phase==="final",onClick:A},"Zakończ",8,Be)])]),s.value.phase!=="final"?(r(),i("div",{key:0,class:"round-progress",style:ve({gridTemplateColumns:`repeat(${s.value.round.length}, 1fr)`}),"aria-hidden":"true"},[(r(!0),i(k,null,R(s.value.round,(u,j)=>(r(),i("span",{key:j,class:Z(te(j))},null,2))),128))],4)):h("",!0),e("div",Pe,[e("span",null,l(ae.value),1),s.value.phase==="card"&&z.value?.category?(r(),i("span",Ze,l(z.value.category),1)):h("",!0)]),s.value.phase==="card"&&z.value?(r(),i("div",Te,[e("p",Ve,l(z.value.text),1),N.value[z.value.id]?(r(),i("div",De,[a[9]||(a[9]=e("span",{class:"tag"},"Odpowiedź",-1)),_(" "+l(z.value.answer),1)])):(r(),i("button",{key:0,class:"reveal",type:"button",onClick:G},"odpowiedź")),e("div",Ke,[e("button",{class:"btn yes",type:"button","aria-pressed":S.value==="y",disabled:C.value,onClick:a[1]||(a[1]=u=>E("y"))},"Wiem!",8,Qe),e("button",{class:"btn no",type:"button","aria-pressed":S.value==="n",disabled:C.value,onClick:a[2]||(a[2]=u=>E("n"))},"Nie wiem",8,Ee),e("button",{ref_key:"nextBtn",ref:T,class:"btn primary next",type:"button",disabled:!S.value||C.value,onClick:J},l(se.value),9,Ie)]),$.value?(r(),i("p",Ae,l($.value),1)):h("",!0)])):s.value.phase==="round"?(r(),i("div",Fe,[e("h2",null,"Wiem "+l(s.value.roundMarks.filter(u=>u==="y").length)+" z "+l(s.value.round.length),1),a[10]||(a[10]=e("p",null,"Pytania „Nie wiem” trafiają do powtórki. Zbierzesz je przyciskiem „Zakończ”.",-1)),e("ol",null,[(r(!0),i(k,null,R(s.value.round,(u,j)=>(r(),i("li",{key:u,class:Z(s.value.roundMarks[j])},[e("span",He,l(s.value.cards.get(u)?.category),1),_(" "+l(s.value.cards.get(u)?.text)+" ",1),e("small",null,l(F(u)),1)],2))),128))]),e("div",Oe,[e("button",{class:"btn primary",type:"button",onClick:I},"Losuj "+l(n.value.round_size??5)+" nowych",1),e("button",{class:"btn",type:"button",onClick:A},"Zakończ")])])):(r(),i("div",Ue,[e("h2",null,"Wiem "+l(s.value.known.length)+" z "+l(s.value.answeredCount),1),e("p",null,l(s.value.missed.length?`Do powtórki: ${s.value.missed.length}.`:s.value.answeredCount?"Wszystko umiesz. Nie ma nic do powtórki.":"Nie udzielono żadnej odpowiedzi."),1),e("div",Ge,[s.value.missed.length?(r(),i("button",{key:0,class:"btn primary",type:"button",onClick:X},"Powtórz "+l(B(s.value.missed.length)),1)):h("",!0),e("button",{class:Z(["btn",{primary:!s.value.missed.length}]),type:"button",onClick:Y},"Nowa sesja",2),e("button",{class:"btn ghost",type:"button",onClick:ee},"Wróć do quizu")]),s.value.missed.length?(r(),i("div",Je,[a[11]||(a[11]=e("h3",null,"Nie wiem",-1)),e("ol",null,[(r(!0),i(k,null,R(s.value.missed,u=>(r(),i("li",{key:u,class:"n"},[e("span",Xe,l(s.value.cards.get(u)?.category),1),_(" "+l(s.value.cards.get(u)?.text)+" ",1),e("small",null,l(F(u)),1)]))),128))])])):h("",!0),s.value.known.length?(r(),i("div",Ye,[a[12]||(a[12]=e("h3",null,"Wiem",-1)),e("ol",null,[(r(!0),i(k,null,R(s.value.known,u=>(r(),i("li",{key:u,class:"y"},[e("span",et,l(s.value.cards.get(u)?.category),1),_(" "+l(s.value.cards.get(u)?.text),1)]))),128))])])):h("",!0),b.value?(r(),i("p",tt,"Zapisano w historii: "+l(Math.round(b.value.score_points))+"/"+l(Math.round(b.value.max_points)),1)):h("",!0)]))],64)):(r(),i(k,{key:0},[n.value.description?(r(),i("p",ge,l(n.value.description),1)):h("",!0),e("section",ke,[a[5]||(a[5]=e("h2",{id:"start-h",style:{"margin-bottom":"8px"}},"Nowa sesja",-1)),e("p",_e,"Rundy po "+l(n.value.round_size??5)+" losowych pytań, które jeszcze nie padły. Każdą odpowiedź zapisujemy na koncie.",1),K.value.length?(r(),i("div",we,[e("button",{class:"chip",type:"button","aria-pressed":y.value===null,onClick:a[0]||(a[0]=u=>y.value=null)},"Wszystkie",8,be),(r(!0),i(k,null,R(K.value,([u,j])=>(r(),i("button",{key:u,class:"chip",type:"button","aria-pressed":y.value===u,onClick:st=>y.value=u},l(u)+" · "+l(j),9,ze))),128))])):h("",!0),e("div",xe,[e("button",{class:"btn primary",type:"button",disabled:Q.value===0,onClick:O},"Zacznij · "+l(B(Q.value)),9,Ce)])]),f.value.length?(r(),i("section",Me,[a[6]||(a[6]=e("div",{class:"section-head"},[e("h2",{id:"hist-h"},"Historia podejść")],-1)),e("div",je,[L(re,{attempts:f.value},null,8,["attempts"])])])):h("",!0)],64))],64)):h("",!0)]),_:1},8,["ready","error"])])}}});export{ut as default}; diff --git a/public/assets/QuizzesView-D5m5l8D_.js b/public/assets/QuizzesView-D5m5l8D_.js new file mode 100644 index 0000000..19966d2 --- /dev/null +++ b/public/assets/QuizzesView-D5m5l8D_.js @@ -0,0 +1 @@ +import{_ as g}from"./PageHead.vue_vue_type_script_setup_true_lang-BvljxRM_.js";import{_ as j}from"./LoadState.vue_vue_type_script_setup_true_lang-CZ3UpUyg.js";import{q as z,_ as w}from"./quizzes-BK-v4h9-.js";import{d as x,o as N,c as s,i as d,j as k,r as p,al as V,n as t,F as _,H as $,s as b,b as o,t as n,f as l,p as m,e as h,ae as f,l as B}from"./index-BxuLaZe9.js";const C={key:0,class:"stack"},F={key:0,class:"muted small",style:{margin:"0 0 8px"}},H={class:"small",style:{margin:"0"}},Q={key:1,class:"empty"},T={key:2,class:"section","aria-labelledby":"hist-h"},A={class:"card"},R=x({__name:"QuizzesView",setup(D){const i=p(null),c=p([]),u=p("");async function y(){u.value="";try{const[r,a]=await Promise.all([z.list(),z.attempts()]);i.value=r,c.value=a.data}catch(r){u.value=V(r)}}return N(y),(r,a)=>{const v=B("router-link");return t(),s("div",null,[d(g,{eyebrow:"Fiszki i testy",title:"Quizy"}),d(j,{ready:i.value!==null,error:u.value,onRetry:a[0]||(a[0]=e=>y())},{default:k(()=>[i.value?.length?(t(),s("div",C,[(t(!0),s(_,null,$(i.value,e=>(t(),b(v,{key:e.id,to:`/quizy/${e.slug}`,class:"card link accent"},{default:k(()=>[o("h3",null,n(e.title),1),e.description?(t(),s("p",F,n(e.description),1)):l("",!0),o("p",H,[m(n(h(f)(e.question_count,"pytanie","pytania","pytań")),1),e.round_size?(t(),s(_,{key:0},[m(" · rundy po "+n(e.round_size),1)],64)):l("",!0),e.attempts_count?(t(),s(_,{key:1},[m(" · "+n(h(f)(e.attempts_count,"zakończone podejście","zakończone podejścia","zakończonych podejść")),1)],64)):l("",!0)])]),_:2},1032,["to"]))),128))])):(t(),s("p",Q,"Nie ma jeszcze żadnych quizów.")),c.value.length?(t(),s("section",T,[a[1]||(a[1]=o("div",{class:"section-head"},[o("h2",{id:"hist-h"},"Historia podejść")],-1)),o("div",A,[d(w,{attempts:c.value,"show-quiz":""},null,8,["attempts"])])])):l("",!0)]),_:1},8,["ready","error"])])}}});export{R as default}; diff --git a/public/assets/QuizzesView-DeKcmh2I.js b/public/assets/QuizzesView-DeKcmh2I.js deleted file mode 100644 index 32acd16..0000000 --- a/public/assets/QuizzesView-DeKcmh2I.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as g}from"./PageHead.vue_vue_type_script_setup_true_lang-D45_AHIh.js";import{_ as j}from"./LoadState.vue_vue_type_script_setup_true_lang-DkVVX15k.js";import{q as z,_ as w}from"./quizzes-BqZpc3iI.js";import{d as x,o as B,c as s,i as d,j as k,r as p,I as N,n as t,F as m,B as V,s as $,b as o,t as n,f as l,p as _,e as f,l as b}from"./index-BJq7_SVs.js";import{c as h}from"./format-bcE-cYHJ.js";const C={key:0,class:"stack"},F={key:0,class:"muted small",style:{margin:"0 0 8px"}},Q={class:"small",style:{margin:"0"}},T={key:1,class:"empty"},A={key:2,class:"section","aria-labelledby":"hist-h"},D={class:"card"},R=x({__name:"QuizzesView",setup(E){const i=p(null),c=p([]),u=p("");async function y(){u.value="";try{const[r,a]=await Promise.all([z.list(),z.attempts()]);i.value=r,c.value=a.data}catch(r){u.value=N(r)}}return B(y),(r,a)=>{const v=b("router-link");return t(),s("div",null,[d(g,{eyebrow:"Fiszki i testy",title:"Quizy"}),d(j,{ready:i.value!==null,error:u.value,onRetry:a[0]||(a[0]=e=>y())},{default:k(()=>[i.value?.length?(t(),s("div",C,[(t(!0),s(m,null,V(i.value,e=>(t(),$(v,{key:e.id,to:`/quizy/${e.slug}`,class:"card link accent"},{default:k(()=>[o("h3",null,n(e.title),1),e.description?(t(),s("p",F,n(e.description),1)):l("",!0),o("p",Q,[_(n(f(h)(e.question_count,"pytanie","pytania","pytań")),1),e.round_size?(t(),s(m,{key:0},[_(" · rundy po "+n(e.round_size),1)],64)):l("",!0),e.attempts_count?(t(),s(m,{key:1},[_(" · "+n(f(h)(e.attempts_count,"zakończone podejście","zakończone podejścia","zakończonych podejść")),1)],64)):l("",!0)])]),_:2},1032,["to"]))),128))])):(t(),s("p",T,"Nie ma jeszcze żadnych quizów.")),c.value.length?(t(),s("section",A,[a[1]||(a[1]=o("div",{class:"section-head"},[o("h2",{id:"hist-h"},"Historia podejść")],-1)),o("div",D,[d(w,{attempts:c.value,"show-quiz":""},null,8,["attempts"])])])):l("",!0)]),_:1},8,["ready","error"])])}}});export{R as default}; diff --git a/public/assets/ReadingItem.vue_vue_type_script_setup_true_lang-Ca2rv9LR.js b/public/assets/ReadingItem.vue_vue_type_script_setup_true_lang-Ca2rv9LR.js new file mode 100644 index 0000000..dcd5566 --- /dev/null +++ b/public/assets/ReadingItem.vue_vue_type_script_setup_true_lang-Ca2rv9LR.js @@ -0,0 +1 @@ +import{d as s,n,c as l,b as t,p as c,t as r,f as d,e as g,ao as m}from"./index-BxuLaZe9.js";const u=["id"],h=["checked"],k={class:"text"},b={key:0,class:"muted"},f={key:1,class:"muted mono"},y={class:"owned"},w=["checked","aria-label"],$=["href","aria-label"],B=s({__name:"ReadingItem",props:{reading:{}},emits:["toggle","own"],setup(e){return(o,a)=>(n(),l("li",{id:`lektura-${e.reading.id}`,class:"reading"},[t("label",null,[t("input",{type:"checkbox",checked:!!e.reading.read_at,onChange:a[0]||(a[0]=i=>o.$emit("toggle",i.target.checked))},null,40,h),t("span",k,[c(r(e.reading.title)+" ",1),e.reading.author||e.reading.source?(n(),l("small",b," · "+r([e.reading.author,e.reading.source].filter(Boolean).join(", ")),1)):d("",!0),e.reading.read_at?(n(),l("small",f," · przeczytano "+r(g(m)(e.reading.read_at)),1)):d("",!0)])]),t("label",y,[t("input",{type:"checkbox",checked:!!e.reading.owned_at,"aria-label":`Mam: ${e.reading.title}`,onChange:a[1]||(a[1]=i=>o.$emit("own",i.target.checked))},null,40,w),a[2]||(a[2]=t("span",null,"mam",-1))]),e.reading.url?(n(),l("a",{key:0,href:e.reading.url,target:"_blank",rel:"noopener noreferrer",class:"small","aria-label":`Otwórz: ${e.reading.title}`},"link",8,$)):d("",!0)],8,u))}});export{B as _}; diff --git a/public/assets/ReadingItem.vue_vue_type_script_setup_true_lang-CoT1-n5U.js b/public/assets/ReadingItem.vue_vue_type_script_setup_true_lang-CoT1-n5U.js deleted file mode 100644 index 08444f2..0000000 --- a/public/assets/ReadingItem.vue_vue_type_script_setup_true_lang-CoT1-n5U.js +++ /dev/null @@ -1 +0,0 @@ -import{i as s}from"./format-bcE-cYHJ.js";import{d as c,n,c as l,b as t,p as g,t as i,f as o,e as m}from"./index-BJq7_SVs.js";const u={class:"reading"},h=["checked"],k={class:"text"},f={key:0,class:"muted"},b={key:1,class:"muted mono"},y={class:"owned"},w=["checked","aria-label"],x=["href","aria-label"],$=c({__name:"ReadingItem",props:{reading:{}},emits:["toggle","own"],setup(e){return(d,a)=>(n(),l("li",u,[t("label",null,[t("input",{type:"checkbox",checked:!!e.reading.read_at,onChange:a[0]||(a[0]=r=>d.$emit("toggle",r.target.checked))},null,40,h),t("span",k,[g(i(e.reading.title)+" ",1),e.reading.author||e.reading.source?(n(),l("small",f," · "+i([e.reading.author,e.reading.source].filter(Boolean).join(", ")),1)):o("",!0),e.reading.read_at?(n(),l("small",b," · przeczytano "+i(m(s)(e.reading.read_at)),1)):o("",!0)])]),t("label",y,[t("input",{type:"checkbox",checked:!!e.reading.owned_at,"aria-label":`Mam: ${e.reading.title}`,onChange:a[1]||(a[1]=r=>d.$emit("own",r.target.checked))},null,40,w),a[2]||(a[2]=t("span",null,"mam",-1))]),e.reading.url?(n(),l("a",{key:0,href:e.reading.url,target:"_blank",rel:"noopener noreferrer",class:"small","aria-label":`Otwórz: ${e.reading.title}`},"link",8,x)):o("",!0)]))}});export{$ as _}; diff --git a/public/assets/ReadingsView-BNCRraaT.js b/public/assets/ReadingsView-BNCRraaT.js deleted file mode 100644 index 8be040e..0000000 --- a/public/assets/ReadingsView-BNCRraaT.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as T}from"./PageHead.vue_vue_type_script_setup_true_lang-D45_AHIh.js";import{_ as $}from"./LoadState.vue_vue_type_script_setup_true_lang-DkVVX15k.js";import{_ as C}from"./ElectiveBar.vue_vue_type_script_setup_true_lang-Cy49YMPm.js";import{_ as z}from"./ReadingItem.vue_vue_type_script_setup_true_lang-CoT1-n5U.js";import{d as O,y as B,o as R,c as d,i as h,j as b,e as n,n as l,b as t,t as r,C as N,F as m,B as g,f as v,r as q,x as f,l as V,p as j,s as x}from"./index-BJq7_SVs.js";import{c as F,F as L}from"./format-bcE-cYHJ.js";const M={class:"card","aria-label":"Postęp czytania"},S={style:{margin:"0 0 8px"}},D={class:"big-num nums"},P={class:"muted"},E={class:"muted small"},W=["aria-valuenow"],A={class:"chips wrap",style:{"margin-top":"12px"}},G=["aria-pressed"],I=["aria-pressed"],U=["aria-labelledby"],H={class:"section-head"},J=["id"],K={class:"badge",style:{"margin-left":"8px"}},Q={class:"muted small nums"},X={class:"subhead"},Y={class:"rows"},Z={class:"subhead"},ee={class:"rows"},oe={key:0,class:"empty",style:{"margin-top":"16px"}},de=O({__name:"ReadingsView",setup(te){const s=B(),_=q(!1),p=q(!1);R(()=>{Promise.all([s.loadReadings(),s.loadCourses()])});const k=f(()=>{const y=new Map;for(const a of s.readings)y.set(a.course_id,[...y.get(a.course_id)??[],a]);const i=a=>s.courseById.get(a)?.sort_order??0;return[...y].sort(([a],[e])=>i(a)-i(e)).map(([,a])=>{const e=a.filter(o=>(!_.value||!o.read_at)&&(!p.value||o.owned_at));return{course:a[0].course,required:e.filter(o=>o.is_required),optional:e.filter(o=>!o.is_required),read:a.filter(o=>o.read_at).length,total:a.length}}).filter(a=>a.required.length+a.optional.length>0)}),u=f(()=>s.readingStats),w=f(()=>u.value.requiredTotal?Math.round(u.value.requiredRead/u.value.requiredTotal*100):0);return(y,i)=>{const a=V("router-link");return l(),d("div",null,[h(T,{eyebrow:"Do przeczytania",title:"Lektury"}),h($,{ready:n(s).loaded.readings&&n(s).loaded.courses,error:n(s).error,onRetry:i[2]||(i[2]=e=>n(s).retry())},{default:b(()=>[h(C),t("section",M,[t("p",S,[t("span",D,r(u.value.requiredRead),1),t("span",P," z "+r(u.value.requiredTotal)+" obowiązkowych",1),t("span",E," · łącznie "+r(u.value.read)+" z "+r(u.value.total),1)]),t("div",{class:"progress-bar",role:"progressbar","aria-valuenow":w.value,"aria-valuemin":"0","aria-valuemax":"100","aria-label":"Przeczytane lektury obowiązkowe"},[t("span",{style:N({width:w.value+"%"})},null,4)],8,W)]),t("div",A,[t("button",{class:"chip",type:"button","aria-pressed":_.value,onClick:i[0]||(i[0]=e=>_.value=!_.value)},"Tylko nieprzeczytane",8,G),t("button",{class:"chip",type:"button","aria-pressed":p.value,onClick:i[1]||(i[1]=e=>p.value=!p.value)},"Tylko posiadane",8,I)]),(l(!0),d(m,null,g(k.value,e=>(l(),d("section",{key:e.course.id,class:"section","aria-labelledby":`c${e.course.id}`},[t("div",H,[t("h2",{id:`c${e.course.id}`},[h(a,{to:`/przedmioty/${e.course.id}`,style:{color:"inherit","text-decoration":"none"}},{default:b(()=>[j(r(e.course.name),1)]),_:2},1032,["to"]),t("span",K,r(n(L)[e.course.form]),1)],8,J),t("span",Q,r(e.read)+"/"+r(e.total),1)]),e.required.length?(l(),d(m,{key:0},[t("h3",X,"Obowiązkowe · "+r(e.required.length),1),t("ul",Y,[(l(!0),d(m,null,g(e.required,o=>(l(),x(z,{key:o.id,reading:o,onToggle:c=>n(s).toggleReading(o.id,c),onOwn:c=>n(s).toggleOwned(o.id,c)},null,8,["reading","onToggle","onOwn"]))),128))])],64)):v("",!0),e.optional.length?(l(),d(m,{key:1},[t("h3",Z,"Dodatkowe · "+r(e.optional.length),1),t("ul",ee,[(l(!0),d(m,null,g(e.optional,o=>(l(),x(z,{key:o.id,reading:o,onToggle:c=>n(s).toggleReading(o.id,c),onOwn:c=>n(s).toggleOwned(o.id,c)},null,8,["reading","onToggle","onOwn"]))),128))])],64)):v("",!0)],8,U))),128)),k.value.length?v("",!0):(l(),d("p",oe,r(p.value?_.value?"Wszystkie posiadane lektury przeczytane.":"Nie masz jeszcze żadnej lektury.":_.value?"Wszystko przeczytane. Gratulacje!":n(F)(0,"lektura","lektury","lektur")+" do wyświetlenia."),1))]),_:1},8,["ready","error"])])}}});export{de as default}; diff --git a/public/assets/ReadingsView-wzprEHgG.js b/public/assets/ReadingsView-wzprEHgG.js new file mode 100644 index 0000000..55717a0 --- /dev/null +++ b/public/assets/ReadingsView-wzprEHgG.js @@ -0,0 +1 @@ +import{_ as $}from"./PageHead.vue_vue_type_script_setup_true_lang-BvljxRM_.js";import{_ as C}from"./LoadState.vue_vue_type_script_setup_true_lang-CZ3UpUyg.js";import{_ as O}from"./ElectiveBar.vue_vue_type_script_setup_true_lang-BLN4Nv_F.js";import{_ as b}from"./ReadingItem.vue_vue_type_script_setup_true_lang-Ca2rv9LR.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-BxuLaZe9.js";import{u as D}from"./scrollToHash-QnVc4MI-.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}; diff --git a/public/assets/RegisterView-lhSRmx1q.js b/public/assets/RegisterView-CeAW-9ny.js similarity index 98% rename from public/assets/RegisterView-lhSRmx1q.js rename to public/assets/RegisterView-CeAW-9ny.js index 7838818..eba602d 100644 --- a/public/assets/RegisterView-lhSRmx1q.js +++ b/public/assets/RegisterView-CeAW-9ny.js @@ -1 +1 @@ -import{d as q,u as N,c as o,b as s,t as n,i as _,j as g,h as j,f as u,w as d,v as m,r as l,l as B,n as i,p as x,m as C}from"./index-BJq7_SVs.js";import{f as I}from"./forms-C2WygAic.js";const M={class:"auth"},h={key:0,class:"stack"},S={class:"notice",role:"status"},Z={key:0,class:"notice error",role:"alert",style:{"margin-bottom":"14px"}},A={class:"field"},D={key:0,class:"error-text"},E={class:"field"},P={key:0,class:"error-text"},R={class:"field"},T={key:0,class:"error-text"},H={class:"field"},K={key:0,class:"error-text"},W={class:"field"},F=["disabled"],G={class:"auth-links"},Q=q({__name:"RegisterView",setup(J){const V=N(),z=C(),v=l(""),f=l(""),w=l(""),c=l(""),y=l(""),p=l(!1),t=l(null),k=l("");async function U(){p.value=!0,t.value=null;try{const r=await V.register({name:v.value.trim(),surname:f.value.trim(),email:w.value.trim(),password:c.value,password_confirmation:y.value},!0);r.signedIn?await z.replace("/"):k.value=r.message||"Konto zostało utworzone. Sprawdź pocztę, aby je aktywować."}catch(r){t.value=I(r)}finally{p.value=!1}}return(r,e)=>{const b=B("router-link");return i(),o("div",M,[e[12]||(e[12]=s("header",{class:"page-head"},[s("span",{class:"eyebrow"},"BM II° · UWr"),s("h1",null,"Załóż konto")],-1)),k.value?(i(),o("div",h,[s("p",S,n(k.value),1),_(b,{class:"btn",to:"/logowanie"},{default:g(()=>[...e[5]||(e[5]=[x("Przejdź do logowania",-1)])]),_:1})])):(i(),o("form",{key:1,onSubmit:j(U,["prevent"]),novalidate:""},[t.value?.message?(i(),o("div",Z,n(t.value.message),1)):u("",!0),s("div",A,[e[6]||(e[6]=s("label",{for:"name"},"Imię",-1)),d(s("input",{id:"name","onUpdate:modelValue":e[0]||(e[0]=a=>v.value=a),type:"text",autocomplete:"given-name",required:""},null,512),[[m,v.value]]),t.value?.fields.name?(i(),o("p",D,n(t.value.fields.name),1)):u("",!0)]),s("div",E,[e[7]||(e[7]=s("label",{for:"surname"},"Nazwisko",-1)),d(s("input",{id:"surname","onUpdate:modelValue":e[1]||(e[1]=a=>f.value=a),type:"text",autocomplete:"family-name",required:""},null,512),[[m,f.value]]),t.value?.fields.surname?(i(),o("p",P,n(t.value.fields.surname),1)):u("",!0)]),s("div",R,[e[8]||(e[8]=s("label",{for:"email"},"Adres e-mail",-1)),d(s("input",{id:"email","onUpdate:modelValue":e[2]||(e[2]=a=>w.value=a),type:"email",autocomplete:"email",inputmode:"email",required:""},null,512),[[m,w.value]]),t.value?.fields.email?(i(),o("p",T,n(t.value.fields.email),1)):u("",!0)]),s("div",H,[e[9]||(e[9]=s("label",{for:"password"},"Hasło (min. 8 znaków)",-1)),d(s("input",{id:"password","onUpdate:modelValue":e[3]||(e[3]=a=>c.value=a),type:"password",autocomplete:"new-password",required:""},null,512),[[m,c.value]]),t.value?.fields.password?(i(),o("p",K,n(t.value.fields.password),1)):u("",!0)]),s("div",W,[e[10]||(e[10]=s("label",{for:"confirmation"},"Powtórz hasło",-1)),d(s("input",{id:"confirmation","onUpdate:modelValue":e[4]||(e[4]=a=>y.value=a),type:"password",autocomplete:"new-password",required:""},null,512),[[m,y.value]])]),s("button",{class:"btn primary block",type:"submit",disabled:p.value},n(p.value?"Zakładanie…":"Załóż konto"),9,F)],32)),s("div",G,[_(b,{to:"/logowanie"},{default:g(()=>[...e[11]||(e[11]=[x("Mam już konto",-1)])]),_:1})])])}}});export{Q as default}; +import{d as q,u as N,c as o,b as s,t as n,i as _,j as g,h as j,f as u,w as d,v as m,r as l,l as B,n as i,p as x,m as C}from"./index-BxuLaZe9.js";import{f as I}from"./forms-Bd757Xmp.js";const M={class:"auth"},h={key:0,class:"stack"},S={class:"notice",role:"status"},Z={key:0,class:"notice error",role:"alert",style:{"margin-bottom":"14px"}},A={class:"field"},D={key:0,class:"error-text"},E={class:"field"},P={key:0,class:"error-text"},R={class:"field"},T={key:0,class:"error-text"},H={class:"field"},K={key:0,class:"error-text"},W={class:"field"},F=["disabled"],G={class:"auth-links"},Q=q({__name:"RegisterView",setup(J){const V=N(),z=C(),v=l(""),f=l(""),w=l(""),c=l(""),y=l(""),p=l(!1),t=l(null),k=l("");async function U(){p.value=!0,t.value=null;try{const r=await V.register({name:v.value.trim(),surname:f.value.trim(),email:w.value.trim(),password:c.value,password_confirmation:y.value},!0);r.signedIn?await z.replace("/"):k.value=r.message||"Konto zostało utworzone. Sprawdź pocztę, aby je aktywować."}catch(r){t.value=I(r)}finally{p.value=!1}}return(r,e)=>{const b=B("router-link");return i(),o("div",M,[e[12]||(e[12]=s("header",{class:"page-head"},[s("span",{class:"eyebrow"},"BM II° · UWr"),s("h1",null,"Załóż konto")],-1)),k.value?(i(),o("div",h,[s("p",S,n(k.value),1),_(b,{class:"btn",to:"/logowanie"},{default:g(()=>[...e[5]||(e[5]=[x("Przejdź do logowania",-1)])]),_:1})])):(i(),o("form",{key:1,onSubmit:j(U,["prevent"]),novalidate:""},[t.value?.message?(i(),o("div",Z,n(t.value.message),1)):u("",!0),s("div",A,[e[6]||(e[6]=s("label",{for:"name"},"Imię",-1)),d(s("input",{id:"name","onUpdate:modelValue":e[0]||(e[0]=a=>v.value=a),type:"text",autocomplete:"given-name",required:""},null,512),[[m,v.value]]),t.value?.fields.name?(i(),o("p",D,n(t.value.fields.name),1)):u("",!0)]),s("div",E,[e[7]||(e[7]=s("label",{for:"surname"},"Nazwisko",-1)),d(s("input",{id:"surname","onUpdate:modelValue":e[1]||(e[1]=a=>f.value=a),type:"text",autocomplete:"family-name",required:""},null,512),[[m,f.value]]),t.value?.fields.surname?(i(),o("p",P,n(t.value.fields.surname),1)):u("",!0)]),s("div",R,[e[8]||(e[8]=s("label",{for:"email"},"Adres e-mail",-1)),d(s("input",{id:"email","onUpdate:modelValue":e[2]||(e[2]=a=>w.value=a),type:"email",autocomplete:"email",inputmode:"email",required:""},null,512),[[m,w.value]]),t.value?.fields.email?(i(),o("p",T,n(t.value.fields.email),1)):u("",!0)]),s("div",H,[e[9]||(e[9]=s("label",{for:"password"},"Hasło (min. 8 znaków)",-1)),d(s("input",{id:"password","onUpdate:modelValue":e[3]||(e[3]=a=>c.value=a),type:"password",autocomplete:"new-password",required:""},null,512),[[m,c.value]]),t.value?.fields.password?(i(),o("p",K,n(t.value.fields.password),1)):u("",!0)]),s("div",W,[e[10]||(e[10]=s("label",{for:"confirmation"},"Powtórz hasło",-1)),d(s("input",{id:"confirmation","onUpdate:modelValue":e[4]||(e[4]=a=>y.value=a),type:"password",autocomplete:"new-password",required:""},null,512),[[m,y.value]])]),s("button",{class:"btn primary block",type:"submit",disabled:p.value},n(p.value?"Zakładanie…":"Załóż konto"),9,F)],32)),s("div",G,[_(b,{to:"/logowanie"},{default:g(()=>[...e[11]||(e[11]=[x("Mam już konto",-1)])]),_:1})])])}}});export{Q as default}; diff --git a/public/assets/ResetView-C4utVpaV.js b/public/assets/ResetView-BvwkxYVA.js similarity index 97% rename from public/assets/ResetView-C4utVpaV.js rename to public/assets/ResetView-BvwkxYVA.js index 00dc538..867066a 100644 --- a/public/assets/ResetView-C4utVpaV.js +++ b/public/assets/ResetView-BvwkxYVA.js @@ -1 +1 @@ -import{d as _,r as t,c as a,b as o,i as g,j as x,h as V,t as m,f as v,e as q,w as c,v as f,k as z,l as N,n as l,p as h,a as B}from"./index-BJq7_SVs.js";import{f as C}from"./forms-C2WygAic.js";const U={class:"auth"},M={key:0,class:"stack"},Z={key:0,class:"notice error",role:"alert",style:{"margin-bottom":"14px"}},j={key:1,class:"field"},D={class:"field"},E={key:0,class:"error-text"},I={class:"field"},P=["disabled"],A=_({__name:"ResetView",setup(R){const u=z(),i=t(typeof u.query.code=="string"?u.query.code:""),n=t(""),p=t(""),d=t(!1),w=t(!1),s=t(null);async function b(){d.value=!0,s.value=null;try{await B.resetPassword({code:i.value.trim(),password:n.value,password_confirmation:p.value}),w.value=!0}catch(y){s.value=C(y)}finally{d.value=!1}}return(y,e)=>{const k=N("router-link");return l(),a("div",U,[e[8]||(e[8]=o("header",{class:"page-head"},[o("span",{class:"eyebrow"},"BM II° · UWr"),o("h1",null,"Nowe hasło")],-1)),w.value?(l(),a("div",M,[e[4]||(e[4]=o("p",{class:"notice",role:"status"},"Hasło zostało zmienione.",-1)),g(k,{class:"btn primary",to:"/logowanie"},{default:x(()=>[...e[3]||(e[3]=[h("Zaloguj się",-1)])]),_:1})])):(l(),a("form",{key:1,onSubmit:V(b,["prevent"]),novalidate:""},[s.value?.message?(l(),a("div",Z,m(s.value.message),1)):v("",!0),q(u).query.code?v("",!0):(l(),a("div",j,[e[5]||(e[5]=o("label",{for:"code"},"Kod z wiadomości",-1)),c(o("input",{id:"code","onUpdate:modelValue":e[0]||(e[0]=r=>i.value=r),type:"text",autocomplete:"one-time-code",required:""},null,512),[[f,i.value]])])),o("div",D,[e[6]||(e[6]=o("label",{for:"password"},"Nowe hasło (min. 8 znaków)",-1)),c(o("input",{id:"password","onUpdate:modelValue":e[1]||(e[1]=r=>n.value=r),type:"password",autocomplete:"new-password",required:""},null,512),[[f,n.value]]),s.value?.fields.password?(l(),a("p",E,m(s.value.fields.password),1)):v("",!0)]),o("div",I,[e[7]||(e[7]=o("label",{for:"confirmation"},"Powtórz hasło",-1)),c(o("input",{id:"confirmation","onUpdate:modelValue":e[2]||(e[2]=r=>p.value=r),type:"password",autocomplete:"new-password",required:""},null,512),[[f,p.value]])]),o("button",{class:"btn primary block",type:"submit",disabled:d.value||!i.value||!n.value},m(d.value?"Zapisywanie…":"Zapisz hasło"),9,P)],32))])}}});export{A as default}; +import{d as _,r as t,c as a,b as o,i as g,j as x,h as V,t as m,f as v,e as q,w as c,v as f,k as z,l as N,n as l,p as h,a as B}from"./index-BxuLaZe9.js";import{f as C}from"./forms-Bd757Xmp.js";const U={class:"auth"},M={key:0,class:"stack"},Z={key:0,class:"notice error",role:"alert",style:{"margin-bottom":"14px"}},j={key:1,class:"field"},D={class:"field"},E={key:0,class:"error-text"},I={class:"field"},P=["disabled"],A=_({__name:"ResetView",setup(R){const u=z(),i=t(typeof u.query.code=="string"?u.query.code:""),n=t(""),p=t(""),d=t(!1),w=t(!1),s=t(null);async function b(){d.value=!0,s.value=null;try{await B.resetPassword({code:i.value.trim(),password:n.value,password_confirmation:p.value}),w.value=!0}catch(y){s.value=C(y)}finally{d.value=!1}}return(y,e)=>{const k=N("router-link");return l(),a("div",U,[e[8]||(e[8]=o("header",{class:"page-head"},[o("span",{class:"eyebrow"},"BM II° · UWr"),o("h1",null,"Nowe hasło")],-1)),w.value?(l(),a("div",M,[e[4]||(e[4]=o("p",{class:"notice",role:"status"},"Hasło zostało zmienione.",-1)),g(k,{class:"btn primary",to:"/logowanie"},{default:x(()=>[...e[3]||(e[3]=[h("Zaloguj się",-1)])]),_:1})])):(l(),a("form",{key:1,onSubmit:V(b,["prevent"]),novalidate:""},[s.value?.message?(l(),a("div",Z,m(s.value.message),1)):v("",!0),q(u).query.code?v("",!0):(l(),a("div",j,[e[5]||(e[5]=o("label",{for:"code"},"Kod z wiadomości",-1)),c(o("input",{id:"code","onUpdate:modelValue":e[0]||(e[0]=r=>i.value=r),type:"text",autocomplete:"one-time-code",required:""},null,512),[[f,i.value]])])),o("div",D,[e[6]||(e[6]=o("label",{for:"password"},"Nowe hasło (min. 8 znaków)",-1)),c(o("input",{id:"password","onUpdate:modelValue":e[1]||(e[1]=r=>n.value=r),type:"password",autocomplete:"new-password",required:""},null,512),[[f,n.value]]),s.value?.fields.password?(l(),a("p",E,m(s.value.fields.password),1)):v("",!0)]),o("div",I,[e[7]||(e[7]=o("label",{for:"confirmation"},"Powtórz hasło",-1)),c(o("input",{id:"confirmation","onUpdate:modelValue":e[2]||(e[2]=r=>p.value=r),type:"password",autocomplete:"new-password",required:""},null,512),[[f,p.value]])]),o("button",{class:"btn primary block",type:"submit",disabled:d.value||!i.value||!n.value},m(d.value?"Zapisywanie…":"Zapisz hasło"),9,P)],32))])}}});export{A as default}; diff --git a/public/assets/ScheduleView-B0J6x8_m.js b/public/assets/ScheduleView-B0J6x8_m.js new file mode 100644 index 0000000..1913e7c --- /dev/null +++ b/public/assets/ScheduleView-B0J6x8_m.js @@ -0,0 +1 @@ +import{d as T,n as s,c as t,E as B,b as o,p as N,t as l,e as r,D as R,i as z,j as F,C as K,f as y,l as L,ad as P,o as H,ah as I,r as Z,T as A,k as G,x as v,F as f,H as C,G as V,K as q,I as E,ae as J,s as O,m as W,y as Q,J as U}from"./index-BxuLaZe9.js";import{_ as X}from"./PageHead.vue_vue_type_script_setup_true_lang-BvljxRM_.js";import{_ as Y}from"./LoadState.vue_vue_type_script_setup_true_lang-CZ3UpUyg.js";import{_ as ee}from"./ElectiveBar.vue_vue_type_script_setup_true_lang-BLN4Nv_F.js";import{u as se}from"./scrollToHash-QnVc4MI-.js";const te=["id"],ne={class:"time"},ae={class:"name"},oe={class:"meta"},le={key:0},ie={key:1,class:"lecturer"},re={key:2,class:"badge online"},ue={key:3,class:"badge onsite"},ce={key:4,class:"mono"},de={key:0,class:"note"},me=T({__name:"SessionCard",props:{session:{},showDay:{}},setup(n){return(u,h)=>{const g=L("router-link");return s(),t("article",{id:`zajecia-${n.session.id}`,class:B(["session",{online:n.session.is_online}])},[o("div",ne,[N(l(r(R)(n.session.starts_at))+" ",1),o("span",null,l(r(R)(n.session.ends_at)),1)]),o("div",null,[o("div",ae,[z(g,{to:`/przedmioty/${n.session.course_id}`,style:{color:"inherit","text-decoration":"none"}},{default:F(()=>[N(l(n.session.course.name),1)]),_:1},8,["to"])]),o("div",oe,[o("span",null,l(r(K)[n.session.course.form]),1),n.session.kind?(s(),t("span",le,"· "+l(n.session.kind),1)):y("",!0),n.session.lecturer||n.session.course.lecturer?(s(),t("span",ie,"· "+l(n.session.lecturer||n.session.course.lecturer),1)):y("",!0),n.session.is_online?(s(),t("span",re,"online")):n.session.room?(s(),t("span",ue,"sala "+l(n.session.room),1)):y("",!0),n.showDay?(s(),t("span",ce,l(n.showDay),1)):y("",!0)]),n.session.notes?(s(),t("div",de,l(n.session.notes),1)):y("",!0)])],10,te)}}}),ve={"aria-label":"Wybór zjazdu"},ye={class:"chips"},be=["aria-pressed","aria-current","title","onClick"],_e=["aria-label"],he={class:"meeting-bar","aria-live":"polite"},ke={key:1,class:"badge solid"},fe={key:2,class:"badge alert"},ze={key:0,class:"notice",style:{"margin-bottom":"16px"}},ge=["aria-label"],pe={class:"day-head"},je={key:2,class:"empty"},$e={class:"btn-row",style:{"margin-top":"18px","justify-content":"space-between"}},we=["disabled"],xe=["disabled"],Ce={key:1,class:"empty"},Re=T({__name:"ScheduleView",setup(n){const u=P(),h=G(),g=W();H(()=>{Promise.all([u.loadMeetings(),u.loadSchedule(),u.loadCourses()])});const m=v(()=>u.meetings??[]),p=I(),S=v(()=>m.value.find(a=>a.starts_on<=p&&p<=a.ends_on)??null),D=v(()=>m.value.find(a=>a.starts_on>p)??null),k=Z(Number(h.query.zjazd)||null),j=v(()=>k.value??S.value?.number??D.value?.number??m.value.at(-1)?.number??null),c=v(()=>m.value.find(a=>a.number===j.value)??null),b=v(()=>m.value.findIndex(a=>a.number===j.value));function $(a){k.value=a,g.replace({query:{...h.query,zjazd:String(a)}})}A(()=>h.query.zjazd,a=>{const i=Number(a);i&&i!==k.value&&(k.value=i)});const w=v(()=>{const a=c.value;if(!a)return[];const i=new Map;for(const e of u.schedule){if(e.meeting_id!==a.id)continue;const d=Q(e.starts_at);i.set(d,[...i.get(d)??[],e])}return[...i].sort(([e],[d])=>e.localeCompare(d)).map(([e,d])=>({key:e,sessions:d}))}),x=v(()=>U(c.value?.notes)),_=a=>S.value?.number===a?"current":D.value?.number===a?"next":"",M=v(()=>u.loaded.meetings&&u.loaded.schedule&&u.loaded.courses);return se(M),(a,i)=>(s(),t("div",null,[z(X,{eyebrow:"Zjazdy",title:"Plan zajęć"}),z(Y,{ready:M.value,error:r(u).error,onRetry:i[2]||(i[2]=e=>r(u).retry())},{default:F(()=>[z(ee),o("nav",ve,[o("div",ye,[(s(!0),t(f,null,C(m.value,e=>(s(),t("button",{key:e.id,class:"chip",type:"button","aria-pressed":e.number===j.value,"aria-current":_(e.number)==="current"?"date":void 0,title:r(V)(e.starts_on,e.ends_on),onClick:d=>$(e.number)},[N(l(e.number),1),_(e.number)?(s(),t("span",{key:0,class:"dot","aria-label":_(e.number)==="current"?"trwa":"najbliższy"},null,8,_e)):y("",!0)],8,be))),128))])]),c.value?(s(),t(f,{key:0},[o("section",he,[o("h2",null,"Zjazd "+l(c.value.number),1),o("span",null,l(r(V)(c.value.starts_on,c.value.ends_on)),1),x.value?(s(),t("span",{key:0,class:B(["badge",x.value==="online"?"online":"onsite"])},l(x.value),3)):y("",!0),_(c.value.number)==="current"?(s(),t("span",ke,"trwa teraz")):_(c.value.number)==="next"?(s(),t("span",fe,"najbliższy")):y("",!0)]),r(q)(c.value.notes)?(s(),t("p",ze,l(r(q)(c.value.notes)),1)):y("",!0),w.value.length?(s(),t("div",{key:1,class:B(["days",{two:w.value.length===2}])},[(s(!0),t(f,null,C(w.value,e=>(s(),t("section",{key:e.key,"aria-label":r(E)(e.sessions[0].starts_at)},[o("div",pe,[o("span",null,l(r(E)(e.sessions[0].starts_at)),1),o("span",null,l(r(J)(e.sessions.length,"zajęcia","zajęcia","zajęć")),1)]),(s(!0),t(f,null,C(e.sessions,d=>(s(),O(me,{key:d.id,session:d},null,8,["session"]))),128))],8,ge))),128))],2)):(s(),t("p",je,"Brak zajęć w tym zjeździe (może należą do ukrytych alternatyw).")),o("div",$e,[o("button",{class:"btn small",type:"button",disabled:b.value<=0,onClick:i[0]||(i[0]=e=>$(m.value[b.value-1].number))},"← Poprzedni zjazd",8,we),o("button",{class:"btn small",type:"button",disabled:b.value<0||b.value>=m.value.length-1,onClick:i[1]||(i[1]=e=>$(m.value[b.value+1].number))},"Następny zjazd →",8,xe)])],64)):(s(),t("p",Ce,"Brak zjazdów."))]),_:1},8,["ready","error"])]))}});export{Re as default}; diff --git a/public/assets/ScheduleView-bL2PUDX5.js b/public/assets/ScheduleView-bL2PUDX5.js deleted file mode 100644 index fa36ae5..0000000 --- a/public/assets/ScheduleView-bL2PUDX5.js +++ /dev/null @@ -1 +0,0 @@ -import{d as F,l as L,n as s,c as t,z as B,b as o,p as N,t as l,e as r,i as z,j as E,f as v,y as P,o as K,r as T,D as Z,k as A,F as f,B as C,x as y,m as I,s as O}from"./index-BJq7_SVs.js";import{_ as W}from"./PageHead.vue_vue_type_script_setup_true_lang-D45_AHIh.js";import{_ as G}from"./LoadState.vue_vue_type_script_setup_true_lang-DkVVX15k.js";import{_ as H}from"./ElectiveBar.vue_vue_type_script_setup_true_lang-Cy49YMPm.js";import{a as M,F as J,t as Q,f as R,m as V,b as q,c as U,h as X,g as Y}from"./format-bcE-cYHJ.js";const ee={class:"time"},se={class:"name"},te={class:"meta"},ne={key:0},ae={key:1,class:"lecturer"},oe={key:2,class:"badge online"},le={key:3,class:"badge onsite"},re={key:4,class:"mono"},ie={key:0,class:"note"},ue=F({__name:"SessionCard",props:{session:{},showDay:{}},setup(n){return(u,h)=>{const g=L("router-link");return s(),t("article",{class:B(["session",{online:n.session.is_online}])},[o("div",ee,[N(l(r(M)(n.session.starts_at))+" ",1),o("span",null,l(r(M)(n.session.ends_at)),1)]),o("div",null,[o("div",se,[z(g,{to:`/przedmioty/${n.session.course_id}`,style:{color:"inherit","text-decoration":"none"}},{default:E(()=>[N(l(n.session.course.name),1)]),_:1},8,["to"])]),o("div",te,[o("span",null,l(r(J)[n.session.course.form]),1),n.session.kind?(s(),t("span",ne,"· "+l(n.session.kind),1)):v("",!0),n.session.lecturer||n.session.course.lecturer?(s(),t("span",ae,"· "+l(n.session.lecturer||n.session.course.lecturer),1)):v("",!0),n.session.is_online?(s(),t("span",oe,"online")):n.session.room?(s(),t("span",le,"sala "+l(n.session.room),1)):v("",!0),n.showDay?(s(),t("span",re,l(n.showDay),1)):v("",!0)]),n.session.notes?(s(),t("div",ie,l(n.session.notes),1)):v("",!0)])],2)}}}),ce={"aria-label":"Wybór zjazdu"},de={class:"chips"},me=["aria-pressed","aria-current","title","onClick"],ve=["aria-label"],ye={class:"meeting-bar","aria-live":"polite"},be={key:1,class:"badge solid"},_e={key:2,class:"badge alert"},he={key:0,class:"notice",style:{"margin-bottom":"16px"}},ke=["aria-label"],fe={class:"day-head"},ze={key:2,class:"empty"},ge={class:"btn-row",style:{"margin-top":"18px","justify-content":"space-between"}},pe=["disabled"],je=["disabled"],$e={key:1,class:"empty"},De=F({__name:"ScheduleView",setup(n){const u=P(),h=A(),g=I();K(()=>{Promise.all([u.loadMeetings(),u.loadSchedule(),u.loadCourses()])});const m=y(()=>u.meetings??[]),p=Q(),D=y(()=>m.value.find(a=>a.starts_on<=p&&p<=a.ends_on)??null),S=y(()=>m.value.find(a=>a.starts_on>p)??null),k=T(Number(h.query.zjazd)||null),j=y(()=>k.value??D.value?.number??S.value?.number??m.value.at(-1)?.number??null),c=y(()=>m.value.find(a=>a.number===j.value)??null),b=y(()=>m.value.findIndex(a=>a.number===j.value));function $(a){k.value=a,g.replace({query:{...h.query,zjazd:String(a)}})}Z(()=>h.query.zjazd,a=>{const i=Number(a);i&&i!==k.value&&(k.value=i)});const w=y(()=>{const a=c.value;if(!a)return[];const i=new Map;for(const e of u.schedule){if(e.meeting_id!==a.id)continue;const d=X(e.starts_at);i.set(d,[...i.get(d)??[],e])}return[...i].sort(([e],[d])=>e.localeCompare(d)).map(([e,d])=>({key:e,sessions:d}))}),x=y(()=>Y(c.value?.notes)),_=a=>D.value?.number===a?"current":S.value?.number===a?"next":"";return(a,i)=>(s(),t("div",null,[z(W,{eyebrow:"Zjazdy",title:"Plan zajęć"}),z(G,{ready:r(u).loaded.meetings&&r(u).loaded.schedule&&r(u).loaded.courses,error:r(u).error,onRetry:i[2]||(i[2]=e=>r(u).retry())},{default:E(()=>[z(H),o("nav",ce,[o("div",de,[(s(!0),t(f,null,C(m.value,e=>(s(),t("button",{key:e.id,class:"chip",type:"button","aria-pressed":e.number===j.value,"aria-current":_(e.number)==="current"?"date":void 0,title:r(R)(e.starts_on,e.ends_on),onClick:d=>$(e.number)},[N(l(e.number),1),_(e.number)?(s(),t("span",{key:0,class:"dot","aria-label":_(e.number)==="current"?"trwa":"najbliższy"},null,8,ve)):v("",!0)],8,me))),128))])]),c.value?(s(),t(f,{key:0},[o("section",ye,[o("h2",null,"Zjazd "+l(c.value.number),1),o("span",null,l(r(R)(c.value.starts_on,c.value.ends_on)),1),x.value?(s(),t("span",{key:0,class:B(["badge",x.value==="online"?"online":"onsite"])},l(x.value),3)):v("",!0),_(c.value.number)==="current"?(s(),t("span",be,"trwa teraz")):_(c.value.number)==="next"?(s(),t("span",_e,"najbliższy")):v("",!0)]),r(V)(c.value.notes)?(s(),t("p",he,l(r(V)(c.value.notes)),1)):v("",!0),w.value.length?(s(),t("div",{key:1,class:B(["days",{two:w.value.length===2}])},[(s(!0),t(f,null,C(w.value,e=>(s(),t("section",{key:e.key,"aria-label":r(q)(e.sessions[0].starts_at)},[o("div",fe,[o("span",null,l(r(q)(e.sessions[0].starts_at)),1),o("span",null,l(r(U)(e.sessions.length,"zajęcia","zajęcia","zajęć")),1)]),(s(!0),t(f,null,C(e.sessions,d=>(s(),O(ue,{key:d.id,session:d},null,8,["session"]))),128))],8,ke))),128))],2)):(s(),t("p",ze,"Brak zajęć w tym zjeździe (może należą do ukrytych alternatyw).")),o("div",ge,[o("button",{class:"btn small",type:"button",disabled:b.value<=0,onClick:i[0]||(i[0]=e=>$(m.value[b.value-1].number))},"← Poprzedni zjazd",8,pe),o("button",{class:"btn small",type:"button",disabled:b.value<0||b.value>=m.value.length-1,onClick:i[1]||(i[1]=e=>$(m.value[b.value+1].number))},"Następny zjazd →",8,je)])],64)):(s(),t("p",$e,"Brak zjazdów."))]),_:1},8,["ready","error"])]))}});export{De as default}; diff --git a/public/assets/SpeakerTools-B8VaMuF_.js b/public/assets/SpeakerTools-CaqR7cAu.js similarity index 97% rename from public/assets/SpeakerTools-B8VaMuF_.js rename to public/assets/SpeakerTools-CaqR7cAu.js index d901953..e751f40 100644 --- a/public/assets/SpeakerTools-B8VaMuF_.js +++ b/public/assets/SpeakerTools-CaqR7cAu.js @@ -1 +1 @@ -import{d as y,n as i,c as u,b as l,w as g,a0 as c,z as s,t as a,p as n,f as k,F as v}from"./index-BJq7_SVs.js";const p={key:0,class:"tools",role:"group","aria-label":"Sterowanie prezentacją"},C={class:"tools-group"},j=["disabled","title"],m={class:"tools-group"},z=["aria-pressed"],$=["aria-pressed"],P=["aria-pressed"],S=["aria-pressed"],w={class:"tools-group tools-end"},f={key:0,class:"tools-pilot",role:"status",title:"Telefon steruje tą kartą"},F={key:1,class:"tools-pilot elsewhere",role:"status",title:"Kliknij tę kartę albo naciśnij klawisz, aby przejąć pilota"},T=["aria-pressed"],H=["aria-pressed"],B="Zegar ruszy przy pierwszej zmianie slajdu",r="Klik lub T: pauza · R: zeruj · C: schowaj",O=y({__name:"SpeakerTools",props:{clock:{},panel:{},special:{type:Boolean},hasSpecial:{type:Boolean},fullscreenEnabled:{type:Boolean},fullscreenOn:{type:Boolean},toolbarHidden:{type:Boolean},togglePanel:{type:Function},toggleSpecial:{type:Function},toggleToolbar:{type:Function},toggleFullscreen:{type:Function},light:{type:Boolean},toggleScheme:{type:Function},pilot:{}},emits:["pause","reset","toggleHidden","close"],setup(e,{emit:b}){const d=b;return(Z,t)=>(i(),u(v,null,[e.toolbarHidden?k("",!0):(i(),u("div",p,[l("div",C,[g(l("button",{id:"speaker-clock",type:"button",class:s(["docked",{paused:e.clock.paused}]),title:r,"aria-label":"Zegar prelegenta",onClick:t[0]||(t[0]=o=>d("pause"))},[t[14]||(t[14]=l("span",null,"slajd",-1)),l("b",{class:s(["clk-slide",{over:e.clock.slideOver}])},a(e.clock.slide),3),t[15]||(t[15]=l("span",null,"całość",-1)),l("b",{class:s(["clk-total",{over:e.clock.totalOver}])},a(e.clock.total),3),l("span",{class:s(["clk-pace",{late:e.clock.late}])},a(e.clock.pace),3)],2),[[c,!e.clock.hidden]]),l("button",{type:"button","aria-keyshortcuts":"T",disabled:e.clock.idle,title:e.clock.idle?B:void 0,onClick:t[1]||(t[1]=o=>d("pause"))},[n(a(e.clock.paused?"Wznów":"Pauza")+" ",1),t[16]||(t[16]=l("kbd",null,"T",-1))],8,j),l("button",{type:"button","aria-keyshortcuts":"R",onClick:t[2]||(t[2]=o=>d("reset"))},[...t[17]||(t[17]=[n(" Zeruj ",-1),l("kbd",null,"R",-1)])]),l("button",{type:"button","aria-keyshortcuts":"C",onClick:t[3]||(t[3]=o=>d("toggleHidden"))},[n(a(e.clock.hidden?"Pokaż zegar":"Ukryj zegar")+" ",1),t[18]||(t[18]=l("kbd",null,"C",-1))])]),l("div",m,[l("button",{type:"button","aria-pressed":e.panel==="say","aria-keyshortcuts":"P",onClick:t[4]||(t[4]=o=>e.togglePanel("say"))},[...t[19]||(t[19]=[n(" Powiedz ",-1),l("kbd",null,"P",-1)])],8,z),l("button",{type:"button","aria-pressed":e.panel==="notes","aria-keyshortcuts":"N",onClick:t[5]||(t[5]=o=>e.togglePanel("notes"))},[...t[20]||(t[20]=[n(" Notatki ",-1),l("kbd",null,"N",-1)])],8,$),l("button",{type:"button","aria-pressed":e.panel==="srcs","aria-keyshortcuts":"Z",onClick:t[6]||(t[6]=o=>e.togglePanel("srcs"))},[...t[21]||(t[21]=[n(" Źródła ",-1),l("kbd",null,"Z",-1)])],8,P),l("button",{type:"button",class:s(["tool-s",{unavailable:!e.hasSpecial}]),"aria-pressed":e.special,"aria-keyshortcuts":"S",onClick:t[7]||(t[7]=o=>e.toggleSpecial())},[...t[22]||(t[22]=[n(" Slajd specjalny ",-1),l("kbd",null,"S",-1)])],10,S)]),l("div",w,[e.pilot==="active"?(i(),u("span",f,[...t[23]||(t[23]=[l("i",{class:"tools-pilot-dot","aria-hidden":"true"},null,-1),n("Pilot",-1)])])):e.pilot==="elsewhere"?(i(),u("span",F,"Pilot steruje inną kartą")):k("",!0),l("button",{type:"button","aria-pressed":e.light,"aria-keyshortcuts":"J",onClick:t[8]||(t[8]=o=>e.toggleScheme())},[...t[24]||(t[24]=[n(" Jasny ",-1),l("kbd",null,"J",-1)])],8,T),e.fullscreenEnabled?(i(),u("button",{key:2,type:"button","aria-pressed":e.fullscreenOn,"aria-keyshortcuts":"F",onClick:t[9]||(t[9]=o=>e.toggleFullscreen())},[...t[25]||(t[25]=[n(" Pełny ekran ",-1),l("kbd",null,"F",-1)])],8,H)):k("",!0),l("button",{type:"button","aria-keyshortcuts":"H",onClick:t[10]||(t[10]=o=>e.toggleToolbar())},[...t[26]||(t[26]=[n(" Ukryj pasek ",-1),l("kbd",null,"H",-1)])]),l("button",{type:"button",onClick:t[11]||(t[11]=o=>d("close"))},"Zamknij")])])),e.toolbarHidden&&!e.clock.hidden?(i(),u("button",{key:1,id:"speaker-clock",type:"button",class:s(["floating",{paused:e.clock.paused}]),title:r,"aria-label":"Zegar prelegenta",onClick:t[12]||(t[12]=o=>d("pause"))},[t[27]||(t[27]=l("span",null,"slajd",-1)),l("b",{class:s(["clk-slide",{over:e.clock.slideOver}])},a(e.clock.slide),3),t[28]||(t[28]=l("span",null,"całość",-1)),l("b",{class:s(["clk-total",{over:e.clock.totalOver}])},a(e.clock.total),3),l("span",{class:s(["clk-pace",{late:e.clock.late}])},a(e.clock.pace),3)],2)):k("",!0),e.toolbarHidden?(i(),u("button",{key:2,type:"button",class:"tools-show","aria-keyshortcuts":"H",onClick:t[13]||(t[13]=o=>e.toggleToolbar())},[...t[29]||(t[29]=[n(" Pokaż pasek ",-1),l("kbd",null,"H",-1)])])):k("",!0)],64))}});export{O as default}; +import{d as y,n as i,c as u,b as l,w as g,aG as c,E as s,t as a,p as n,f as k,F as v}from"./index-BxuLaZe9.js";const p={key:0,class:"tools",role:"group","aria-label":"Sterowanie prezentacją"},C={class:"tools-group"},j=["disabled","title"],m={class:"tools-group"},z=["aria-pressed"],$=["aria-pressed"],P=["aria-pressed"],S=["aria-pressed"],w={class:"tools-group tools-end"},f={key:0,class:"tools-pilot",role:"status",title:"Telefon steruje tą kartą"},F={key:1,class:"tools-pilot elsewhere",role:"status",title:"Kliknij tę kartę albo naciśnij klawisz, aby przejąć pilota"},T=["aria-pressed"],H=["aria-pressed"],B="Zegar ruszy przy pierwszej zmianie slajdu",r="Klik lub T: pauza · R: zeruj · C: schowaj",O=y({__name:"SpeakerTools",props:{clock:{},panel:{},special:{type:Boolean},hasSpecial:{type:Boolean},fullscreenEnabled:{type:Boolean},fullscreenOn:{type:Boolean},toolbarHidden:{type:Boolean},togglePanel:{type:Function},toggleSpecial:{type:Function},toggleToolbar:{type:Function},toggleFullscreen:{type:Function},light:{type:Boolean},toggleScheme:{type:Function},pilot:{}},emits:["pause","reset","toggleHidden","close"],setup(e,{emit:b}){const d=b;return(Z,t)=>(i(),u(v,null,[e.toolbarHidden?k("",!0):(i(),u("div",p,[l("div",C,[g(l("button",{id:"speaker-clock",type:"button",class:s(["docked",{paused:e.clock.paused}]),title:r,"aria-label":"Zegar prelegenta",onClick:t[0]||(t[0]=o=>d("pause"))},[t[14]||(t[14]=l("span",null,"slajd",-1)),l("b",{class:s(["clk-slide",{over:e.clock.slideOver}])},a(e.clock.slide),3),t[15]||(t[15]=l("span",null,"całość",-1)),l("b",{class:s(["clk-total",{over:e.clock.totalOver}])},a(e.clock.total),3),l("span",{class:s(["clk-pace",{late:e.clock.late}])},a(e.clock.pace),3)],2),[[c,!e.clock.hidden]]),l("button",{type:"button","aria-keyshortcuts":"T",disabled:e.clock.idle,title:e.clock.idle?B:void 0,onClick:t[1]||(t[1]=o=>d("pause"))},[n(a(e.clock.paused?"Wznów":"Pauza")+" ",1),t[16]||(t[16]=l("kbd",null,"T",-1))],8,j),l("button",{type:"button","aria-keyshortcuts":"R",onClick:t[2]||(t[2]=o=>d("reset"))},[...t[17]||(t[17]=[n(" Zeruj ",-1),l("kbd",null,"R",-1)])]),l("button",{type:"button","aria-keyshortcuts":"C",onClick:t[3]||(t[3]=o=>d("toggleHidden"))},[n(a(e.clock.hidden?"Pokaż zegar":"Ukryj zegar")+" ",1),t[18]||(t[18]=l("kbd",null,"C",-1))])]),l("div",m,[l("button",{type:"button","aria-pressed":e.panel==="say","aria-keyshortcuts":"P",onClick:t[4]||(t[4]=o=>e.togglePanel("say"))},[...t[19]||(t[19]=[n(" Powiedz ",-1),l("kbd",null,"P",-1)])],8,z),l("button",{type:"button","aria-pressed":e.panel==="notes","aria-keyshortcuts":"N",onClick:t[5]||(t[5]=o=>e.togglePanel("notes"))},[...t[20]||(t[20]=[n(" Notatki ",-1),l("kbd",null,"N",-1)])],8,$),l("button",{type:"button","aria-pressed":e.panel==="srcs","aria-keyshortcuts":"Z",onClick:t[6]||(t[6]=o=>e.togglePanel("srcs"))},[...t[21]||(t[21]=[n(" Źródła ",-1),l("kbd",null,"Z",-1)])],8,P),l("button",{type:"button",class:s(["tool-s",{unavailable:!e.hasSpecial}]),"aria-pressed":e.special,"aria-keyshortcuts":"S",onClick:t[7]||(t[7]=o=>e.toggleSpecial())},[...t[22]||(t[22]=[n(" Slajd specjalny ",-1),l("kbd",null,"S",-1)])],10,S)]),l("div",w,[e.pilot==="active"?(i(),u("span",f,[...t[23]||(t[23]=[l("i",{class:"tools-pilot-dot","aria-hidden":"true"},null,-1),n("Pilot",-1)])])):e.pilot==="elsewhere"?(i(),u("span",F,"Pilot steruje inną kartą")):k("",!0),l("button",{type:"button","aria-pressed":e.light,"aria-keyshortcuts":"J",onClick:t[8]||(t[8]=o=>e.toggleScheme())},[...t[24]||(t[24]=[n(" Jasny ",-1),l("kbd",null,"J",-1)])],8,T),e.fullscreenEnabled?(i(),u("button",{key:2,type:"button","aria-pressed":e.fullscreenOn,"aria-keyshortcuts":"F",onClick:t[9]||(t[9]=o=>e.toggleFullscreen())},[...t[25]||(t[25]=[n(" Pełny ekran ",-1),l("kbd",null,"F",-1)])],8,H)):k("",!0),l("button",{type:"button","aria-keyshortcuts":"H",onClick:t[10]||(t[10]=o=>e.toggleToolbar())},[...t[26]||(t[26]=[n(" Ukryj pasek ",-1),l("kbd",null,"H",-1)])]),l("button",{type:"button",onClick:t[11]||(t[11]=o=>d("close"))},"Zamknij")])])),e.toolbarHidden&&!e.clock.hidden?(i(),u("button",{key:1,id:"speaker-clock",type:"button",class:s(["floating",{paused:e.clock.paused}]),title:r,"aria-label":"Zegar prelegenta",onClick:t[12]||(t[12]=o=>d("pause"))},[t[27]||(t[27]=l("span",null,"slajd",-1)),l("b",{class:s(["clk-slide",{over:e.clock.slideOver}])},a(e.clock.slide),3),t[28]||(t[28]=l("span",null,"całość",-1)),l("b",{class:s(["clk-total",{over:e.clock.totalOver}])},a(e.clock.total),3),l("span",{class:s(["clk-pace",{late:e.clock.late}])},a(e.clock.pace),3)],2)):k("",!0),e.toolbarHidden?(i(),u("button",{key:2,type:"button",class:"tools-show","aria-keyshortcuts":"H",onClick:t[13]||(t[13]=o=>e.toggleToolbar())},[...t[29]||(t[29]=[n(" Pokaż pasek ",-1),l("kbd",null,"H",-1)])])):k("",!0)],64))}});export{O as default}; diff --git a/public/assets/SyllabiView-BIqZ2Wb2.js b/public/assets/SyllabiView-BIqZ2Wb2.js deleted file mode 100644 index d4cdad9..0000000 --- a/public/assets/SyllabiView-BIqZ2Wb2.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as y}from"./PageHead.vue_vue_type_script_setup_true_lang-D45_AHIh.js";import{d as c,y as p,o as f,c as a,i as b,F as m,B as Z,x as M,n as l,b as t,t as i,f as n}from"./index-BJq7_SVs.js";const B=[{file:"sylabus_2026_27-Z_26-BM-Z2-E01-AW-PL.pdf",url:"/sylabusy/sylabus_2026_27-Z_26-BM-Z2-E01-AW-PL.pdf",size:50255},{file:"sylabus_2026_27-Z_26-BM-Z2-E01-GR-PL.pdf",url:"/sylabusy/sylabus_2026_27-Z_26-BM-Z2-E01-GR-PL.pdf",size:57715},{file:"sylabus_2026_27-Z_26-BM-Z2-E01-KWP-PL.pdf",url:"/sylabusy/sylabus_2026_27-Z_26-BM-Z2-E01-KWP-PL.pdf",size:51902},{file:"sylabus_2026_27-Z_26-BM-Z2-E01-PHT-PL.pdf",url:"/sylabusy/sylabus_2026_27-Z_26-BM-Z2-E01-PHT-PL.pdf",size:58646},{file:"sylabus_2026_27-Z_26-BM-Z2-E01-TMNB-PL.pdf",url:"/sylabusy/sylabus_2026_27-Z_26-BM-Z2-E01-TMNB-PL.pdf",size:75386},{file:"sylabus_2026_27-Z_26-BM-Z2-E01-WBM-PL.pdf",url:"/sylabusy/sylabus_2026_27-Z_26-BM-Z2-E01-WBM-PL.pdf",size:64288},{file:"sylabus_2026_27-Z_26-BM-Z2-E01-WKM-PL.pdf",url:"/sylabusy/sylabus_2026_27-Z_26-BM-Z2-E01-WKM-PL.pdf",size:55064}],P={key:0,class:"stack"},E=["href","download"],L={class:"row-main"},h={class:"muted small",style:{margin:"0"}},z={key:0},k={key:1},w={key:1,class:"empty"},v=c({__name:"SyllabiView",setup(W){const u=p();f(()=>{u.loadCourses()});const r=/^sylabus_(\d{4})_(\d{2})-([ZL])_(.+?)-([A-Z]{2})\.pdf$/i,d=M(()=>{const o=new Map;for(const e of u.courses??[])e.code&&!o.has(e.code)&&o.set(e.code,e.name);return B.map(e=>{const s=r.exec(e.file),_=s?.[4]??null;return{...e,code:_,title:_&&o.get(_)||_||e.file,term:s?`${s[1]}/${s[2]} · ${s[3].toUpperCase()==="Z"?"zima":"lato"}`:"",kb:Math.max(1,Math.round(e.size/1024))}}).sort((e,s)=>e.title.localeCompare(s.title,"pl"))});return(o,e)=>(l(),a("div",null,[b(y,{eyebrow:"Karty przedmiotów z USOS",title:"Sylabusy"}),d.value.length?(l(),a("div",P,[(l(!0),a(m,null,Z(d.value,s=>(l(),a("a",{key:s.file,href:s.url,download:s.file,class:"card link"},[t("div",L,[t("h3",null,i(s.title),1),e[0]||(e[0]=t("span",{class:"badge"},"PDF",-1))]),t("p",h,[s.code?(l(),a("span",z,i(s.code),1)):n("",!0),s.term?(l(),a("span",k," · "+i(s.term),1)):n("",!0),t("span",null," · "+i(s.kb)+" KB",1)])],8,E))),128))])):(l(),a("p",w,"Nie ma jeszcze żadnych sylabusów."))]))}});export{v as default}; diff --git a/public/assets/SyllabiView-LMQ1EEWf.js b/public/assets/SyllabiView-LMQ1EEWf.js new file mode 100644 index 0000000..c6d38ea --- /dev/null +++ b/public/assets/SyllabiView-LMQ1EEWf.js @@ -0,0 +1 @@ +import{_ as c}from"./PageHead.vue_vue_type_script_setup_true_lang-BvljxRM_.js";import{d as y,ad as p,o as f,c as a,i as b,F as m,H as Z,x as M,n as l,b as t,t as d,f as n}from"./index-BxuLaZe9.js";const B=[{file:"sylabus_2026_27-Z_26-BM-Z2-E01-AW-PL.pdf",url:"/sylabusy/sylabus_2026_27-Z_26-BM-Z2-E01-AW-PL.pdf",size:50255},{file:"sylabus_2026_27-Z_26-BM-Z2-E01-GR-PL.pdf",url:"/sylabusy/sylabus_2026_27-Z_26-BM-Z2-E01-GR-PL.pdf",size:57715},{file:"sylabus_2026_27-Z_26-BM-Z2-E01-KWP-PL.pdf",url:"/sylabusy/sylabus_2026_27-Z_26-BM-Z2-E01-KWP-PL.pdf",size:51902},{file:"sylabus_2026_27-Z_26-BM-Z2-E01-PHT-PL.pdf",url:"/sylabusy/sylabus_2026_27-Z_26-BM-Z2-E01-PHT-PL.pdf",size:58646},{file:"sylabus_2026_27-Z_26-BM-Z2-E01-TMNB-PL.pdf",url:"/sylabusy/sylabus_2026_27-Z_26-BM-Z2-E01-TMNB-PL.pdf",size:75386},{file:"sylabus_2026_27-Z_26-BM-Z2-E01-WBM-PL.pdf",url:"/sylabusy/sylabus_2026_27-Z_26-BM-Z2-E01-WBM-PL.pdf",size:64288},{file:"sylabus_2026_27-Z_26-BM-Z2-E01-WKM-PL.pdf",url:"/sylabusy/sylabus_2026_27-Z_26-BM-Z2-E01-WKM-PL.pdf",size:55064}],P={key:0,class:"stack"},E=["href","download"],L={class:"row-main"},h={class:"muted small",style:{margin:"0"}},z={key:0},k={key:1},w={key:1,class:"empty"},v=y({__name:"SyllabiView",setup(W){const i=p();f(()=>{i.loadCourses()});const r=/^sylabus_(\d{4})_(\d{2})-([ZL])_(.+?)-([A-Z]{2})\.pdf$/i,u=M(()=>{const o=new Map;for(const e of i.courses??[])e.code&&!o.has(e.code)&&o.set(e.code,e.name);return B.map(e=>{const s=r.exec(e.file),_=s?.[4]??null;return{...e,code:_,title:_&&o.get(_)||_||e.file,term:s?`${s[1]}/${s[2]} · ${s[3].toUpperCase()==="Z"?"zima":"lato"}`:"",kb:Math.max(1,Math.round(e.size/1024))}}).sort((e,s)=>e.title.localeCompare(s.title,"pl"))});return(o,e)=>(l(),a("div",null,[b(c,{eyebrow:"Karty przedmiotów z USOS",title:"Sylabusy"}),u.value.length?(l(),a("div",P,[(l(!0),a(m,null,Z(u.value,s=>(l(),a("a",{key:s.file,href:s.url,download:s.file,class:"card link"},[t("div",L,[t("h3",null,d(s.title),1),e[0]||(e[0]=t("span",{class:"badge"},"PDF",-1))]),t("p",h,[s.code?(l(),a("span",z,d(s.code),1)):n("",!0),s.term?(l(),a("span",k," · "+d(s.term),1)):n("",!0),t("span",null," · "+d(s.kb)+" KB",1)])],8,E))),128))])):(l(),a("p",w,"Nie ma jeszcze żadnych sylabusów."))]))}});export{v as default}; diff --git a/public/assets/format-bcE-cYHJ.js b/public/assets/format-bcE-cYHJ.js deleted file mode 100644 index 15e2351..0000000 --- a/public/assets/format-bcE-cYHJ.js +++ /dev/null @@ -1 +0,0 @@ -const d="Europe/Warsaw",w="pl-PL";function g(n,t,e,a){const i=Math.abs(n);if(i===1)return t;const u=i%10,m=i%100;return u>=2&&u<=4&&!(m>=12&&m<=14)?e:a}function y(n,t,e,a){return`${n} ${g(n,t,e,a)}`}const r=(n,t=d)=>new Intl.DateTimeFormat(w,{timeZone:t,...n}),D=r({hour:"2-digit",minute:"2-digit",hourCycle:"h23"}),z=r({weekday:"long",day:"numeric",month:"long"}),h=r({day:"numeric",month:"long",year:"numeric"});r({day:"numeric",month:"short"});r({weekday:"long"});const p=new Intl.DateTimeFormat("sv-SE",{timeZone:d,year:"numeric",month:"2-digit",day:"2-digit"});function s(n){return new Date(`${n}T12:00:00Z`)}const l=n=>r(n,"UTC"),T=n=>D.format(new Date(n)),E=n=>z.format(new Date(n)),L=n=>h.format(new Date(n)),F=n=>`${L(n)}, ${T(n)}`,$=n=>p.format(typeof n=="string"?new Date(n):n),k=(n=new Date)=>$(n);function j(n,t=new Date){const e=Date.parse(`${k(t)}T00:00:00Z`),a=Date.parse(`${$(n)}T00:00:00Z`);return Math.round((a-e)/864e5)}function B(n,t=new Date){const e=j(n,t);return e===0?"dzisiaj":e===1?"jutro":e===-1?"wczoraj":e>1?`za ${y(e,"dzień","dni","dni")}`:`${y(-e,"dzień","dni","dni")} temu`}function K(n,t){if(n===t)return l({day:"numeric",month:"long",year:"numeric"}).format(s(n));const[e,a]=n.split("-"),[i,u]=t.split("-"),m=c=>l({day:"numeric"}).format(s(c)),o=c=>l({day:"numeric",month:"long"}).format(s(c)),f=c=>l({year:"numeric"}).format(s(c));return e===i&&a===u?`${m(n)}–${o(t)} ${f(t)}`:e===i?`${o(n)} – ${o(t)} ${f(t)}`:`${o(n)} ${f(n)} – ${o(t)} ${f(t)}`}function Z(n){return n?/online/i.test(n)?"online":/stacjonarn/i.test(n)?"stacjonarny":null:null}function M(n){return n?n.trim().toLowerCase()==="online"?"":n.trim():""}const S={wyklad:"wykład",cwiczenia:"ćwiczenia",konwersatorium:"konwersatorium",seminarium:"seminarium",inne:"zajęcia"},x={zaliczenie:"zaliczenie",egzamin:"egzamin",praca:"praca",organizacyjne:"organizacyjne",inne:"inne"},A={pdf:"PDF",notatka:"notatka",link:"link",inne:"inne"};function C(n){return n<1024?`${n} B`:n<1024*1024?`${(n/1024).toFixed(0)} KB`:`${(n/1024/1024).toFixed(1).replace(".",",")} MB`}export{S as F,x as K,A as T,T as a,E as b,y as c,j as d,F as e,K as f,Z as g,$ as h,L as i,C as j,M as m,B as r,k as t}; diff --git a/public/assets/forms-C2WygAic.js b/public/assets/forms-Bd757Xmp.js similarity index 85% rename from public/assets/forms-C2WygAic.js rename to public/assets/forms-Bd757Xmp.js index 97b6022..2654297 100644 --- a/public/assets/forms-C2WygAic.js +++ b/public/assets/forms-Bd757Xmp.js @@ -1 +1 @@ -import{A as o}from"./index-BJq7_SVs.js";function a(s){if(s instanceof o){const e={};for(const[r,t]of Object.entries(s.errors))t.length&&(e[r]=t[0]);return{message:Object.keys(e).length&&Object.values(e).includes(s.message)?"":s.message,fields:e}}return{message:"Coś poszło nie tak. Spróbuj ponownie.",fields:{}}}function f(s){return typeof s=="string"&&s.startsWith("/")&&!s.startsWith("//")&&!s.startsWith("/\\")?s:"/"}export{a as f,f as s}; +import{A as o}from"./index-BxuLaZe9.js";function a(s){if(s instanceof o){const e={};for(const[r,t]of Object.entries(s.errors))t.length&&(e[r]=t[0]);return{message:Object.keys(e).length&&Object.values(e).includes(s.message)?"":s.message,fields:e}}return{message:"Coś poszło nie tak. Spróbuj ponownie.",fields:{}}}function f(s){return typeof s=="string"&&s.startsWith("/")&&!s.startsWith("//")&&!s.startsWith("/\\")?s:"/"}export{a as f,f as s}; diff --git a/public/assets/index-BJq7_SVs.js b/public/assets/index-BJq7_SVs.js deleted file mode 100644 index 328df9d..0000000 --- a/public/assets/index-BJq7_SVs.js +++ /dev/null @@ -1,3 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/LoginView-DIA9DBI0.js","assets/forms-C2WygAic.js","assets/oauth-zzthF4BZ.js","assets/RegisterView-lhSRmx1q.js","assets/ForgotView-D20j7bAj.js","assets/OAuthCallbackView-BkDBQb9b.js","assets/OAuthRegisterView-BcOTJs_M.js","assets/ResetView-C4utVpaV.js","assets/DashboardView-78HUVahK.js","assets/PageHead.vue_vue_type_script_setup_true_lang-D45_AHIh.js","assets/LoadState.vue_vue_type_script_setup_true_lang-DkVVX15k.js","assets/ElectiveBar.vue_vue_type_script_setup_true_lang-Cy49YMPm.js","assets/format-bcE-cYHJ.js","assets/ScheduleView-bL2PUDX5.js","assets/DeadlinesView-Vbq9k0Gu.js","assets/CoursesView-DqecOhmq.js","assets/CourseView-WRUNe9gZ.js","assets/ReadingItem.vue_vue_type_script_setup_true_lang-CoT1-n5U.js","assets/ReadingsView-BNCRraaT.js","assets/MaterialsView-DsBSXr8F.js","assets/MaterialView-DzPYlaMy.js","assets/SyllabiView-BIqZ2Wb2.js","assets/QuizzesView-DeKcmh2I.js","assets/quizzes-BqZpc3iI.js","assets/QuizView-FDtinUZQ.js","assets/MoreView-gh18oZnn.js","assets/ProfileView-xiCAAcL3.js","assets/MyPresentationsView-CSLrDLBr.js","assets/presentations-BNEXiGsV.js","assets/PresentationSpeakerView-pigZ-SyA.js","assets/DeckViewer.vue_vue_type_style_index_0_lang-BKSiygyD.js","assets/DeckViewer-CkU9_t5d.css","assets/700-D54I7Duj.css","assets/realtime-B_4pSF-q.js","assets/PresentationSpeakerView-BSvpqjSO.css","assets/PresentationRemoteView-oNdFMrn-.js","assets/_plugin-vue_export-helper-DlAUqK2U.js","assets/PresentationRemoteView-DVUglyxS.css","assets/PresentationPublicView-B31TiTsT.js","assets/PresentationPublicView-BfVrlmS5.css","assets/NotFoundView-odJEBny0.js"])))=>i.map(i=>d[i]); -var Ll=Object.defineProperty;var Vl=(e,t,n)=>t in e?Ll(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Gt=(e,t,n)=>Vl(e,typeof t!="symbol"?t+"":t,n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function n(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerPolicy&&(o.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?o.credentials="include":r.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(r){if(r.ep)return;r.ep=!0;const o=n(r);fetch(r.href,o)}})();function br(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const le={},Ft=[],ct=()=>{},ei=()=>!1,ms=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),gs=e=>e.startsWith("onUpdate:"),Se=Object.assign,wr=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},kl=Object.prototype.hasOwnProperty,te=(e,t)=>kl.call(e,t),B=Array.isArray,It=e=>Hn(e)==="[object Map]",vt=e=>Hn(e)==="[object Set]",$r=e=>Hn(e)==="[object Date]",K=e=>typeof e=="function",de=e=>typeof e=="string",qe=e=>typeof e=="symbol",se=e=>e!==null&&typeof e=="object",ti=e=>(se(e)||K(e))&&K(e.then)&&K(e.catch),ni=Object.prototype.toString,Hn=e=>ni.call(e),Fl=e=>Hn(e).slice(8,-1),si=e=>Hn(e)==="[object Object]",_s=e=>de(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,wn=br(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ys=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},Hl=/-\w/g,ke=ys(e=>e.replace(Hl,t=>t.slice(1).toUpperCase())),Bl=/\B([A-Z])/g,zt=ys(e=>e.replace(Bl,"-$1").toLowerCase()),vs=ys(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ds=ys(e=>e?`on${vs(e)}`:""),it=(e,t)=>!Object.is(e,t),Xn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},bs=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Kr;const ws=()=>Kr||(Kr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Er(e){if(B(e)){const t={};for(let n=0;nn.startsWith("/*")?"":n).split(Ul).forEach(n=>{if(n){const s=n.split(ql);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Tn(e){let t="";if(de(e))t=e;else if(B(e))for(let n=0;nbt(n,t))}const ii=e=>!!(e&&e.__v_isRef===!0),_n=e=>de(e)?e:e==null?"":B(e)||se(e)&&(e.toString===ni||!K(e.toString))?ii(e)?_n(e.value):JSON.stringify(e,li,2):String(e),li=(e,t)=>ii(t)?li(e,t.value):It(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],o)=>(n[Ls(s,o)+" =>"]=r,n),{})}:vt(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Ls(n))}:qe(t)?Ls(t):se(t)&&!B(t)&&!si(t)?String(t):t,Ls=(e,t="")=>{var n;return qe(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let be;class ci{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&be&&(be.active?(this.parent=be,this.index=(be.scopes||(be.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const s=this.scopes.slice();for(t=0,n=s.length;t0&&--this._on===0){if(be===this)be=this.prevScope;else{let t=be;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n0)return;if(Sn){let t=Sn;for(Sn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;En;){let t=En;for(En=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function pi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function mi(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),xr(s),Yl(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function nr(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(gi(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function gi(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===In)||(e.globalVersion=In,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!nr(e))))return;e.flags|=2;const t=e.dep,n=ce,s=Je;ce=e,Je=!0;try{pi(e);const r=e.fn(e._value);(t.version===0||it(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{ce=n,Je=s,mi(e),e.flags&=-3}}function xr(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)xr(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Yl(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Je=!0;const _i=[];function wt(){_i.push(Je),Je=!1}function Et(){const e=_i.pop();Je=e===void 0?!0:e}function Jr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ce;ce=void 0;try{t()}finally{ce=n}}}let In=0;class Xl{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Cr{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!ce||!Je||ce===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ce)n=this.activeLink=new Xl(ce,this),ce.deps?(n.prevDep=ce.depsTail,ce.depsTail.nextDep=n,ce.depsTail=n):ce.deps=ce.depsTail=n,yi(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=ce.depsTail,n.nextDep=void 0,ce.depsTail.nextDep=n,ce.depsTail=n,ce.deps===n&&(ce.deps=s)}return n}trigger(t){this.version++,In++,this.notify(t)}notify(t){Ar();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Rr()}}}function yi(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)yi(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const ns=new WeakMap,Ut=Symbol(""),sr=Symbol(""),Mn=Symbol("");function Me(e,t,n){if(Je&&ce){let s=ns.get(e);s||ns.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new Cr),r.map=s,r.key=n),r.track()}}function gt(e,t,n,s,r,o){const i=ns.get(e);if(!i){In++;return}const l=c=>{c&&c.trigger()};if(Ar(),t==="clear")i.forEach(l);else{const c=B(e),u=c&&_s(n);if(c&&n==="length"){const a=Number(s);i.forEach((f,p)=>{(p==="length"||p===Mn||!qe(p)&&p>=a)&&l(f)})}else switch((n!==void 0||i.has(void 0))&&l(i.get(n)),u&&l(i.get(Mn)),t){case"add":c?u&&l(i.get("length")):(l(i.get(Ut)),It(e)&&l(i.get(sr)));break;case"delete":c||(l(i.get(Ut)),It(e)&&l(i.get(sr)));break;case"set":It(e)&&l(i.get(Ut));break}}Rr()}function Zl(e,t){const n=ns.get(e);return n&&n.get(t)}function Wt(e){const t=Y(e);return t===e||(Me(t,"iterate",Mn),Ue(e))?t:ut(e)?at(e)?t.map(n=>Mt(Ge(n))):t.map(Mt):t.map(Ge)}function Es(e){return Me(e=Y(e),"iterate",Mn),e}function rt(e,t){return ut(e)?Mt(at(e)?Ge(t):t):Ge(t)}const ec={__proto__:null,[Symbol.iterator](){return ks(this,Symbol.iterator,e=>rt(this,e))},concat(...e){return Wt(this).concat(...e.map(t=>B(t)?Wt(t):t))},entries(){return ks(this,"entries",e=>(e[1]=rt(this,e[1]),e))},every(e,t){return dt(this,"every",e,t,void 0,arguments)},filter(e,t){return dt(this,"filter",e,t,n=>n.map(s=>rt(this,s)),arguments)},find(e,t){return dt(this,"find",e,t,n=>rt(this,n),arguments)},findIndex(e,t){return dt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return dt(this,"findLast",e,t,n=>rt(this,n),arguments)},findLastIndex(e,t){return dt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return dt(this,"forEach",e,t,void 0,arguments)},includes(...e){return Fs(this,"includes",e)},indexOf(...e){return Fs(this,"indexOf",e)},join(e){return Wt(this).join(e)},lastIndexOf(...e){return Fs(this,"lastIndexOf",e)},map(e,t){return dt(this,"map",e,t,void 0,arguments)},pop(){return hn(this,"pop")},push(...e){return hn(this,"push",e)},reduce(e,...t){return Qr(this,"reduce",e,t)},reduceRight(e,...t){return Qr(this,"reduceRight",e,t)},shift(){return hn(this,"shift")},some(e,t){return dt(this,"some",e,t,void 0,arguments)},splice(...e){return hn(this,"splice",e)},toReversed(){return Wt(this).toReversed()},toSorted(e){return Wt(this).toSorted(e)},toSpliced(...e){return Wt(this).toSpliced(...e)},unshift(...e){return hn(this,"unshift",e)},values(){return ks(this,"values",e=>rt(this,e))}};function ks(e,t,n){const s=Es(e),r=s[t]();return s!==e&&!Ue(e)&&(r._next=r.next,r.next=()=>{const o=r._next();return o.done||(o.value=n(o.value)),o}),r}const tc=Array.prototype;function dt(e,t,n,s,r,o){const i=Es(e),l=i!==e&&!Ue(e),c=i[t];if(c!==tc[t]){const f=c.apply(e,o);return l?Ge(f):f}let u=n;i!==e&&(l?u=function(f,p){return n.call(this,rt(e,f),p,e)}:n.length>2&&(u=function(f,p){return n.call(this,f,p,e)}));const a=c.call(i,u,s);return l&&r?r(a):a}function Qr(e,t,n,s){const r=Es(e),o=r!==e&&!Ue(e);let i=n,l=!1;r!==e&&(o?(l=s.length===0,i=function(u,a,f){return l&&(l=!1,u=rt(e,u)),n.call(this,u,rt(e,a),f,e)}):n.length>3&&(i=function(u,a,f){return n.call(this,u,a,f,e)}));const c=r[t](i,...s);return l?rt(e,c):c}function Fs(e,t,n){const s=Y(e);Me(s,"iterate",Mn);const r=s[t](...n);return(r===-1||r===!1)&&Ss(n[0])?(n[0]=Y(n[0]),s[t](...n)):r}function hn(e,t,n=[]){wt(),Ar();const s=Y(e)[t].apply(e,n);return Rr(),Et(),s}const nc=br("__proto__,__v_isRef,__isVue"),vi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(qe));function sc(e){qe(e)||(e=String(e));const t=Y(this);return Me(t,"has",e),t.hasOwnProperty(e)}class bi{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return o;if(n==="__v_raw")return s===(r?o?hc:Ai:o?Si:Ei).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const i=B(t);if(!r){let c;if(i&&(c=ec[n]))return c;if(n==="hasOwnProperty")return sc}const l=Reflect.get(t,n,ge(t)?t:s);if((qe(n)?vi.has(n):nc(n))||(r||Me(t,"get",n),o))return l;if(ge(l)){const c=i&&_s(n)?l:l.value;return r&&se(c)?or(c):c}return se(l)?r?or(l):Bn(l):l}}class wi extends bi{constructor(t=!1){super(!1,t)}set(t,n,s,r){let o=t[n];const i=B(t)&&_s(n);if(!this._isShallow){const u=ut(o);if(!Ue(s)&&!ut(s)&&(o=Y(o),s=Y(s)),!i&&ge(o)&&!ge(s))return u||(o.value=s),!0}const l=i?Number(n)e,$n=e=>Reflect.getPrototypeOf(e);function cc(e,t,n){return function(...s){const r=this.__v_raw,o=Y(r),i=It(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,u=r[e](...s),a=n?rr:t?Mt:Ge;return!t&&Me(o,"iterate",c?sr:Ut),Se(Object.create(u),{next(){const{value:f,done:p}=u.next();return p?{value:f,done:p}:{value:l?[a(f[0]),a(f[1])]:a(f),done:p}}})}}function Kn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function ac(e,t){const n={get(r){const o=this.__v_raw,i=Y(o),l=Y(r);e||(it(r,l)&&Me(i,"get",r),Me(i,"get",l));const{has:c}=$n(i),u=t?rr:e?Mt:Ge;if(c.call(i,r))return u(o.get(r));if(c.call(i,l))return u(o.get(l));o!==i&&o.get(r)},get size(){const r=this.__v_raw;return!e&&Me(Y(r),"iterate",Ut),r.size},has(r){const o=this.__v_raw,i=Y(o),l=Y(r);return e||(it(r,l)&&Me(i,"has",r),Me(i,"has",l)),r===l?o.has(r):o.has(r)||o.has(l)},forEach(r,o){const i=this,l=i.__v_raw,c=Y(l),u=t?rr:e?Mt:Ge;return!e&&Me(c,"iterate",Ut),l.forEach((a,f)=>r.call(o,u(a),u(f),i))}};return Se(n,e?{add:Kn("add"),set:Kn("set"),delete:Kn("delete"),clear:Kn("clear")}:{add(r){const o=Y(this),i=$n(o),l=Y(r),c=!t&&!Ue(r)&&!ut(r)?l:r;return i.has.call(o,c)||it(r,c)&&i.has.call(o,r)||it(l,c)&&i.has.call(o,l)||(o.add(c),gt(o,"add",c,c)),this},set(r,o){!t&&!Ue(o)&&!ut(o)&&(o=Y(o));const i=Y(this),{has:l,get:c}=$n(i);let u=l.call(i,r);u||(r=Y(r),u=l.call(i,r));const a=c.call(i,r);return i.set(r,o),u?it(o,a)&>(i,"set",r,o):gt(i,"add",r,o),this},delete(r){const o=Y(this),{has:i,get:l}=$n(o);let c=i.call(o,r);c||(r=Y(r),c=i.call(o,r)),l&&l.call(o,r);const u=o.delete(r);return c&>(o,"delete",r,void 0),u},clear(){const r=Y(this),o=r.size!==0,i=r.clear();return o&>(r,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=cc(r,e,t)}),n}function Or(e,t){const n=ac(e,t);return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(te(n,r)&&r in s?n:s,r,o)}const uc={get:Or(!1,!1)},fc={get:Or(!1,!0)},dc={get:Or(!0,!1)};const Ei=new WeakMap,Si=new WeakMap,Ai=new WeakMap,hc=new WeakMap;function pc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Bn(e){return ut(e)?e:Pr(e,!1,oc,uc,Ei)}function Ri(e){return Pr(e,!1,lc,fc,Si)}function or(e){return Pr(e,!0,ic,dc,Ai)}function Pr(e,t,n,s,r){if(!se(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const o=r.get(e);if(o)return o;const i=pc(Fl(e));if(i===0)return e;const l=new Proxy(e,i===2?s:n);return r.set(e,l),l}function at(e){return ut(e)?at(e.__v_raw):!!(e&&e.__v_isReactive)}function ut(e){return!!(e&&e.__v_isReadonly)}function Ue(e){return!!(e&&e.__v_isShallow)}function Ss(e){return e?!!e.__v_raw:!1}function Y(e){const t=e&&e.__v_raw;return t?Y(t):e}function Tr(e){return!te(e,"__v_skip")&&Object.isExtensible(e)&&ri(e,"__v_skip",!0),e}const Ge=e=>se(e)?Bn(e):e,Mt=e=>se(e)?or(e):e;function ge(e){return e?e.__v_isRef===!0:!1}function we(e){return xi(e,!1)}function ss(e){return xi(e,!0)}function xi(e,t){return ge(e)?e:new mc(e,t)}class mc{constructor(t,n){this.dep=new Cr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:Y(t),this._value=n?t:Ge(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Ue(t)||ut(t);t=s?t:Y(t),it(t,n)&&(this._rawValue=t,this._value=s?t:Ge(t),this.dep.trigger())}}function Ie(e){return ge(e)?e.value:e}const gc={get:(e,t,n)=>t==="__v_raw"?e:Ie(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return ge(r)&&!ge(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Ci(e){return at(e)?e:new Proxy(e,gc)}function _c(e){const t=B(e)?new Array(e.length):{};for(const n in e)t[n]=vc(e,n);return t}class yc{constructor(t,n,s){this._object=t,this._defaultValue=s,this.__v_isRef=!0,this._value=void 0,this._key=qe(n)?n:String(n),this._raw=Y(t);let r=!0,o=t;if(!B(t)||qe(this._key)||!_s(this._key))do r=!Ss(o)||Ue(o);while(r&&(o=o.__v_raw));this._shallow=r}get value(){let t=this._object[this._key];return this._shallow&&(t=Ie(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ge(this._raw[this._key])){const n=this._object[this._key];if(ge(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Zl(this._raw,this._key)}}function vc(e,t,n){return new yc(e,t,n)}class bc{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Cr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=In-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&ce!==this)return hi(this,!0),!0}get value(){const t=this.dep.track();return gi(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function wc(e,t,n=!1){let s,r;return K(e)?s=e:(s=e.get,r=e.set),new bc(s,r,n)}const Gn={},rs=new WeakMap;let Vt;function Ec(e,t=!1,n=Vt){if(n){let s=rs.get(n);s||rs.set(n,s=[]),s.push(e)}}function Sc(e,t,n=le){const{immediate:s,deep:r,once:o,scheduler:i,augmentJob:l,call:c}=n,u=I=>r?I:Ue(I)||r===!1||r===0?_t(I,1):_t(I);let a,f,p,m,y=!1,_=!1;if(ge(e)?(f=()=>e.value,y=Ue(e)):at(e)?(f=()=>u(e),y=!0):B(e)?(_=!0,y=e.some(I=>at(I)||Ue(I)),f=()=>e.map(I=>{if(ge(I))return I.value;if(at(I))return u(I);if(K(I))return c?c(I,2):I()})):K(e)?t?f=c?()=>c(e,2):e:f=()=>{if(p){wt();try{p()}finally{Et()}}const I=Vt;Vt=a;try{return c?c(e,3,[m]):e(m)}finally{Vt=I}}:f=ct,t&&r){const I=f,D=r===!0?1/0:r;f=()=>_t(I(),D)}const v=ui(),S=()=>{a.stop(),v&&v.active&&wr(v.effects,a)};if(o&&t){const I=t;t=(...D)=>{const oe=I(...D);return S(),oe}}let w=_?new Array(e.length).fill(Gn):Gn;const P=I=>{if(!(!(a.flags&1)||!a.dirty&&!I))if(t){const D=a.run();if(I||r||y||(_?D.some((oe,L)=>it(oe,w[L])):it(D,w))){p&&p();const oe=Vt;Vt=a;try{const L=[D,w===Gn?void 0:_&&w[0]===Gn?[]:w,m];w=D,c?c(t,3,L):t(...L)}finally{Vt=oe}}}else a.run()};return l&&l(P),a=new fi(f),a.scheduler=i?()=>i(P,!1):P,m=I=>Ec(I,!1,a),p=a.onStop=()=>{const I=rs.get(a);if(I){if(c)c(I,4);else for(const D of I)D();rs.delete(a)}},t?s?P(!0):w=a.run():i?i(P.bind(null,!0),!0):a.run(),S.pause=a.pause.bind(a),S.resume=a.resume.bind(a),S.stop=S,S}function _t(e,t=1/0,n){if(t<=0||!se(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ge(e))_t(e.value,t,n);else if(B(e))for(let s=0;s{_t(s,t,n)});else if(si(e)){for(const s in e)_t(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&_t(e[s],t,n)}return e}function Un(e,t,n,s){try{return s?e(...s):e()}catch(r){qn(r,t,n)}}function Qe(e,t,n,s){if(K(e)){const r=Un(e,t,n,s);return r&&ti(r)&&r.catch(o=>{qn(o,t,n)}),r}if(B(e)){const r=[];for(let o=0;o>>1,r=Ve[s],o=Nn(r);o=Nn(n)?Ve.push(e):Ve.splice(Rc(t),0,e),e.flags|=1,Pi()}}function Pi(){os||(os=Oi.then(Ii))}function xc(e){if(!B(e))Ot&&e.id===-1?Ot.splice(Yt+1,0,e):e.flags&1||(en.push(e),e.flags|=1);else for(let t=0;tNn(n)-Nn(s));if(en.length=0,Ot){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function Ii(e){try{for(st=0;st{s._d&&as(-1);const o=is(t),i=yt.length;let l;try{l=e(...r)}finally{for(let c=yt.length;c>i;c--)kr();is(o),s._d&&as(1)}return l};return s._n=!0,s._c=!0,s._d=!0,s}function Cc(e,t){if(Ce===null)return e;const n=Ts(Ce),s=e.dirs||(e.dirs=[]);for(let r=0;r1)return n&&K(t)?t.call(s&&s.proxy):t}}function Oc(){return!!(rl()||qt)}const Pc=Symbol.for("v-scx"),Tc=()=>Ke(Pc);function tn(e,t,n){return Ni(e,t,n)}function Ni(e,t,n=le){const{immediate:s,deep:r,flush:o,once:i}=n,l=Se({},n),c=t&&s||!t&&o!=="post";let u;if(on){if(o==="sync"){const m=Tc();u=m.__watcherHandles||(m.__watcherHandles=[])}else if(!c){const m=()=>{};return m.stop=ct,m.resume=ct,m.pause=ct,m}}const a=xe;l.call=(m,y,_)=>Qe(m,a,y,_);let f=!1;o==="post"?l.scheduler=m=>{De(m,a&&a.suspense)}:o!=="sync"&&(f=!0,l.scheduler=(m,y)=>{y?m():Ir(m)}),l.augmentJob=m=>{t&&(m.flags|=4),f&&(m.flags|=2,a&&(m.id=a.uid,m.i=a))};const p=Sc(e,t,l);return on&&(u?u.push(p):c&&p()),p}function Ic(e,t,n){const s=this.proxy,r=de(e)?e.includes(".")?ji(s,e):()=>s[e]:e.bind(s,s);let o;K(t)?o=t:(o=t.handler,n=t);const i=zn(this),l=Ni(r,o.bind(s),n);return i(),l}function ji(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;re.__isTeleport,kt=e=>e&&(e.disabled||e.disabled===""),Mc=e=>e&&(e.defer||e.defer===""),Xr=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Zr=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,ir=(e,t)=>{const n=e&&e.to;return de(n)?t?t(n):null:n},Nc={name:"Teleport",__isTeleport:!0,process(e,t,n,s,r,o,i,l,c,u){const{mc:a,pc:f,pbc:p,o:{insert:m,querySelector:y,createText:_,createComment:v,parentNode:S}}=u,w=kt(t.props);let{dynamicChildren:P}=t;const I=(L,U,k)=>{L.shapeFlag&16&&a(L.children,U,k,r,o,i,l,c)},D=(L=t)=>{const U=kt(L.props),k=L.target=ir(L.props,y),X=lr(k,L,_,m);k&&(i!=="svg"&&Xr(k)?i="svg":i!=="mathml"&&Zr(k)&&(i="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(k),U||(I(L,k,X),yn(L,!1)))},oe=L=>{const U=()=>{if(Rt.get(L)===U){if(Rt.delete(L),kt(L.props)){const k=S(L.el)||n;I(L,k,L.anchor),yn(L,!0)}D(L)}};Rt.set(L,U),De(U,o)};if(e==null){const L=t.el=_(""),U=t.anchor=_("");if(m(L,n,s),m(U,n,s),Mc(t.props)||o&&o.pendingBranch){oe(t);return}w&&(I(t,n,U),yn(t,!0)),D()}else{t.el=e.el;const L=t.anchor=e.anchor,U=Rt.get(e);if(U){U.flags|=8,Rt.delete(e),oe(t);return}t.targetStart=e.targetStart;const k=t.target=e.target,X=t.targetAnchor=e.targetAnchor,he=kt(e.props),Ee=he?n:k,V=he?L:X;if(i==="svg"||Xr(k)?i="svg":(i==="mathml"||Zr(k))&&(i="mathml"),P?(p(e.dynamicChildren,P,Ee,r,o,i,l),Vr(e,t,!0)):c||f(e,t,Ee,V,r,o,i,l,!1),w)he?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Wn(t,n,L,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const _e=ir(t.props,y);_e&&(t.target=_e,Wn(t,_e,null,u,0))}else he&&Wn(t,k,X,u,1);yn(t,w)}},remove(e,t,n,{um:s,o:{remove:r}},o){const{shapeFlag:i,children:l,anchor:c,targetStart:u,targetAnchor:a,target:f,props:p}=e,m=kt(p),y=o||!m,_=Rt.get(e);if(_&&(_.flags|=8,Rt.delete(e)),f&&(r(u),r(a)),o&&r(c),!_&&(m||f)&&i&16)for(let v=0;v1){for(const n of e)if(n.type!==ft){t=n;break}}return t}function Li(e){if(!xs(e))return Rs(e.type)&&e.children?Dc(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&K(n.default))return n.default()}}function Mr(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Mr(Rs(n.type)&&Li(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function un(e,t){return K(e)?Se({name:e.name},t,{setup:e}):e}function Nr(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function eo(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const ls=new WeakMap;function Rn(e,t,n,s,r=!1){if(B(e)){e.forEach((_,v)=>Rn(_,t&&(B(t)?t[v]:t),n,s,r));return}if(nn(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&Rn(e,t,n,s.component.subTree);return}const o=s.shapeFlag&4?Ts(s.component):s.el,i=r?null:o,{i:l,r:c}=e,u=t&&t.r,a=l.refs===le?l.refs={}:l.refs,f=l.setupState,p=Y(f),m=f===le?ei:_=>eo(a,_)?!1:te(p,_),y=(_,v)=>!(v&&eo(a,v));if(u!=null&&u!==c){if(to(t),de(u))a[u]=null,m(u)&&(f[u]=null);else if(ge(u)){const _=t;y(u,_.k)&&(u.value=null),_.k&&(a[_.k]=null)}}if(K(c))Un(c,l,12,[i,a]);else{const _=de(c),v=ge(c);if(_||v){const S=()=>{if(e.f){const w=_?m(c)?f[c]:a[c]:y()||!e.k?c.value:a[e.k];if(r)B(w)&&wr(w,o);else if(B(w))w.includes(o)||w.push(o);else if(_)a[c]=[o],m(c)&&(f[c]=a[c]);else{const P=[o];y(c,e.k)&&(c.value=P),e.k&&(a[e.k]=P)}}else _?(a[c]=i,m(c)&&(f[c]=i)):v&&(y(c,e.k)&&(c.value=i),e.k&&(a[e.k]=i))};if(i){const w=()=>{S(),ls.delete(e)};w.id=-1,ls.set(e,w),De(w,n)}else to(e),S()}}}function to(e){const t=ls.get(e);t&&(t.flags|=8,ls.delete(e))}const no=e=>e.nodeType===8;ws().requestIdleCallback;ws().cancelIdleCallback;function Lc(e,t){if(no(e)&&e.data==="["){let n=1,s=e.nextSibling;for(;s;){if(s.nodeType===1){if(t(s)===!1)break}else if(no(s))if(s.data==="]"){if(--n===0)break}else s.data==="["&&n++;s=s.nextSibling}}else t(e)}const nn=e=>!!e.type.__asyncLoader;function td(e){K(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:r=200,hydrate:o,timeout:i,suspensible:l=!0,onError:c}=e;let u=null,a,f=0;const p=()=>(f++,u=null,m()),m=()=>{let y;return u||(y=u=t().catch(_=>{if(_=_ instanceof Error?_:new Error(String(_)),c)return new Promise((v,S)=>{c(_,()=>v(p()),()=>S(_),f+1)});throw _}).then(_=>y!==u&&u?u:(_&&(_.__esModule||_[Symbol.toStringTag]==="Module")&&(_=_.default),a=_,_)))};return un({name:"AsyncComponentWrapper",__asyncLoader:m,__asyncHydrate(y,_,v){const S=y.isConnected;let w=!1;(_.bu||(_.bu=[])).push(()=>w=!0);const P=()=>{w||!y.parentNode||S&&!y.isConnected||v()},I=o?()=>{const D=o(P,oe=>Lc(y,oe));D&&(_.bum||(_.bum=[])).push(D)}:P;a?I():m().then(()=>!_.isUnmounted&&I())},get __asyncResolved(){return a},setup(){const y=xe;if(Nr(y),a)return()=>Jn(a,y);const _=D=>{u=null,qn(D,y,13,!s)};if(l&&y.suspense||on)return m().then(D=>()=>Jn(D,y)).catch(D=>(_(D),()=>s?fe(s,{error:D}):null));const v=we(!1),S=we(),w=we(!!r);let P,I;return jr(()=>{P!=null&&clearTimeout(P),I!=null&&clearTimeout(I)}),r&&(I=setTimeout(()=>{y.isUnmounted||(w.value=!1)},r)),i!=null&&(P=setTimeout(()=>{if(!y.isUnmounted&&!v.value&&!S.value){const D=new Error(`Async component timed out after ${i}ms.`);_(D),S.value=D}},i)),m().then(()=>{y.isUnmounted||(v.value=!0,y.parent&&xs(y.parent.vnode)&&y.parent.update())}).catch(D=>{if(y.isUnmounted){u=null;return}_(D),S.value=D}),()=>{if(v.value&&a)return Jn(a,y);if(S.value&&s)return fe(s,{error:S.value});if(n&&!w.value)return Jn(n,y)}}})}function Jn(e,t){const{ref:n,props:s,children:r,ce:o}=t.vnode,i=fe(e,s,r);return i.ref=n,i.ce=o,delete t.vnode.ce,i}const xs=e=>e.type.__isKeepAlive;function Vc(e,t){Vi(e,"a",t)}function kc(e,t){Vi(e,"da",t)}function Vi(e,t,n=xe){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Cs(t,s,n),n){let r=n.parent;for(;r&&r.parent;)xs(r.parent.vnode)&&Fc(s,t,n,r),r=r.parent}}function Fc(e,t,n,s){const r=Cs(t,e,s,!0);jr(()=>{wr(s[t],r)},n)}function Cs(e,t,n=xe,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{wt();const l=zn(n),c=Qe(t,n,e,i);return l(),Et(),c});return s?r.unshift(o):r.push(o),o}}const St=e=>(t,n=xe)=>{(!on||e==="sp")&&Cs(e,(...s)=>t(...s),n)},Hc=St("bm"),Bc=St("m"),Uc=St("bu"),qc=St("u"),zc=St("bum"),jr=St("um"),$c=St("sp"),Kc=St("rtg"),Gc=St("rtc");function Wc(e,t=xe){Cs("ec",e,t)}const Jc="components";function ki(e,t){return Yc(Jc,e,!0,t)||e}const Qc=Symbol.for("v-ndc");function Yc(e,t,n=!0,s=!1){const r=Ce||xe;if(r){const o=r.type;{const l=Da(o,!1);if(l&&(l===t||l===ke(t)||l===vs(ke(t))))return o}const i=so(r[e]||o[e],t)||so(r.appContext[e],t);return!i&&s?o:i}}function so(e,t){return e&&(e[t]||e[ke(t)]||e[vs(ke(t))])}function ro(e,t,n,s){let r;const o=n,i=B(e);if(i||de(e)){const l=i&&at(e);let c=!1,u=!1;l&&(c=!Ue(e),u=ut(e),e=Es(e)),r=new Array(e.length);for(let a=0,f=e.length;at(l,c,void 0,o));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,u=l.length;c0;return t!=="default"&&(u.name=t),We(),Dn(Fe,null,[fe("slot",u,s)],a?-2:64)}let i=e[t];i&&i._c&&(i._d=!1);const l=yt.length;We();let c;try{const u=i&&Fi(i(n)),a=n.key||o||u&&u.key;c=Dn(Fe,{key:(a&&!qe(a)?a:`_${t}`)+(!u&&s?"_fb":"")},u||(s?s():[]),u&&e._===1?64:-2)}catch(u){for(let a=yt.length;a>l;a--)kr();throw u}finally{i&&i._c&&(i._d=!0)}return c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),c}function Fi(e){return e.some(t=>Ln(t)?!(t.type===ft||t.type===Fe&&!Fi(t.children)):!0)?e:null}const cr=e=>e?ol(e)?Ts(e):cr(e.parent):null,xn=Se(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>cr(e.parent),$root:e=>cr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Bi(e),$forceUpdate:e=>e.f||(e.f=()=>{Ir(e.update)}),$nextTick:e=>e.n||(e.n=As.bind(e.proxy)),$watch:e=>Ic.bind(e)}),Bs=(e,t)=>e!==le&&!e.__isScriptSetup&&te(e,t),Zc={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:o,accessCache:i,type:l,appContext:c}=e;if(t[0]!=="$"){const p=i[t];if(p!==void 0)switch(p){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(Bs(s,t))return i[t]=1,s[t];if(r!==le&&te(r,t))return i[t]=2,r[t];if(te(o,t))return i[t]=3,o[t];if(n!==le&&te(n,t))return i[t]=4,n[t];ar&&(i[t]=0)}}const u=xn[t];let a,f;if(u)return t==="$attrs"&&Me(e.attrs,"get",""),u(e);if((a=l.__cssModules)&&(a=a[t]))return a;if(n!==le&&te(n,t))return i[t]=4,n[t];if(f=c.config.globalProperties,te(f,t))return f[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return Bs(r,t)?(r[t]=n,!0):s!==le&&te(s,t)?(s[t]=n,!0):te(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,props:o,type:i}},l){let c;return!!(n[l]||e!==le&&l[0]!=="$"&&te(e,l)||Bs(t,l)||te(o,l)||te(s,l)||te(xn,l)||te(r.config.globalProperties,l)||(c=i.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:te(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function oo(e){return B(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let ar=!0;function ea(e){const t=Bi(e),n=e.proxy,s=e.ctx;ar=!1,t.beforeCreate&&io(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:i,watch:l,provide:c,inject:u,created:a,beforeMount:f,mounted:p,beforeUpdate:m,updated:y,activated:_,deactivated:v,beforeDestroy:S,beforeUnmount:w,destroyed:P,unmounted:I,render:D,renderTracked:oe,renderTriggered:L,errorCaptured:U,serverPrefetch:k,expose:X,inheritAttrs:he,components:Ee,directives:V,filters:_e}=t;if(u&&ta(u,s,null),i)for(const $ in i){const G=i[$];K(G)&&(s[$]=G.bind(n))}if(r){const $=r.call(n,n);se($)&&(e.data=Bn($))}if(ar=!0,o)for(const $ in o){const G=o[$],ae=K(G)?G.bind(n,n):K(G.get)?G.get.bind(n,n):ct,Oe=!K(G)&&K(G.set)?G.set.bind(n):ct,Xe=W({get:ae,set:Oe});Object.defineProperty(s,$,{enumerable:!0,configurable:!0,get:()=>Xe.value,set:Ne=>Xe.value=Ne})}if(l)for(const $ in l)Hi(l[$],s,n,$);if(c){const $=K(c)?c.call(n):c;Reflect.ownKeys($).forEach(G=>{Zn(G,$[G])})}a&&io(a,e,"c");function Z($,G){B(G)?G.forEach(ae=>$(ae.bind(n))):G&&$(G.bind(n))}if(Z(Hc,f),Z(Bc,p),Z(Uc,m),Z(qc,y),Z(Vc,_),Z(kc,v),Z(Wc,U),Z(Gc,oe),Z(Kc,L),Z(zc,w),Z(jr,I),Z($c,k),B(X))if(X.length){const $=e.exposed||(e.exposed={});X.forEach(G=>{Object.defineProperty($,G,{get:()=>n[G],set:ae=>n[G]=ae,enumerable:!0})})}else e.exposed||(e.exposed={});D&&e.render===ct&&(e.render=D),he!=null&&(e.inheritAttrs=he),Ee&&(e.components=Ee),V&&(e.directives=V),k&&Nr(e)}function ta(e,t,n=ct){B(e)&&(e=ur(e));for(const s in e){const r=e[s];let o;se(r)?"default"in r?o=Ke(r.from||s,r.default,!0):o=Ke(r.from||s):o=Ke(r),ge(o)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[s]=o}}function io(e,t,n){Qe(B(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Hi(e,t,n,s){let r=s.includes(".")?ji(n,s):()=>n[s];if(de(e)){const o=t[e];K(o)&&tn(r,o)}else if(K(e))tn(r,e.bind(n));else if(se(e))if(B(e))e.forEach(o=>Hi(o,t,n,s));else{const o=K(e.handler)?e.handler.bind(n):t[e.handler];K(o)&&tn(r,o,e)}}function Bi(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(u=>cs(c,u,i,!0)),cs(c,t,i)),se(t)&&o.set(t,c),c}function cs(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&cs(e,o,n,!0),r&&r.forEach(i=>cs(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=na[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const na={data:lo,props:co,emits:co,methods:vn,computed:vn,beforeCreate:je,created:je,beforeMount:je,mounted:je,beforeUpdate:je,updated:je,beforeDestroy:je,beforeUnmount:je,destroyed:je,unmounted:je,activated:je,deactivated:je,errorCaptured:je,serverPrefetch:je,components:vn,directives:vn,watch:ra,provide:lo,inject:sa};function lo(e,t){return t?e?function(){return Se(K(e)?e.call(this,this):e,K(t)?t.call(this,this):t)}:t:e}function sa(e,t){return vn(ur(e),ur(t))}function ur(e){if(B(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ke(t)}Modifiers`]||e[`${zt(t)}Modifiers`];function ca(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||le;let r=n;const o=t.startsWith("update:"),i=o&&la(s,t.slice(7));i&&(i.trim&&(r=n.map(a=>de(a)?a.trim():a)),i.number&&(r=r.map(bs)));let l,c=s[l=Ds(t)]||s[l=Ds(ke(t))];!c&&o&&(c=s[l=Ds(zt(t))]),c&&Qe(c,e,6,r);const u=s[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Qe(u,e,6,r)}}const aa=new WeakMap;function qi(e,t,n=!1){const s=n?aa:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let i={},l=!1;if(!K(e)){const c=u=>{const a=qi(u,t,!0);a&&(l=!0,Se(i,a))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(se(e)&&s.set(e,null),null):(B(o)?o.forEach(c=>i[c]=null):Se(i,o),se(e)&&s.set(e,i),i)}function Os(e,t){return!e||!ms(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),te(e,t[0].toLowerCase()+t.slice(1))||te(e,zt(t))||te(e,t))}function ao(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[o],slots:i,attrs:l,emit:c,render:u,renderCache:a,props:f,data:p,setupState:m,ctx:y,inheritAttrs:_}=e,v=is(e);let S,w;try{if(n.shapeFlag&4){const I=r||s,D=I;S=ot(u.call(D,I,a,f,m,p,y)),w=l}else{const I=t;S=ot(I.length>1?I(f,{attrs:l,slots:i,emit:c}):I(f,null)),w=t.props?l:ua(l)}}catch(I){yt.length=0,qn(I,e,1),S=fe(ft)}let P=S;if(w&&_!==!1){const I=Object.keys(w),{shapeFlag:D}=P;I.length&&D&7&&(o&&I.some(gs)&&(w=fa(w,o)),P=rn(P,w,!1,!0))}if(n.dirs&&(P=rn(P,null,!1,!0),P.dirs=P.dirs?P.dirs.concat(n.dirs):n.dirs),n.transition){const I=Rs(P.type)&&Li(P)||P;Mr(I,n.transition)}return S=P,is(v),S}const ua=e=>{let t;for(const n in e)(n==="class"||n==="style"||ms(n))&&((t||(t={}))[n]=e[n]);return t},fa=(e,t)=>{const n={};for(const s in e)(!gs(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function da(e,t,n){const{props:s,children:r,component:o}=e,{props:i,children:l,patchFlag:c}=t,u=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?uo(s,i,u):!!i;if(c&8){const a=t.dynamicProps;for(let f=0;fObject.create($i),Gi=e=>Object.getPrototypeOf(e)===$i;function pa(e,t,n,s=!1){const r={},o=Ki();e.propsDefaults=Object.create(null),Wi(e,t,r,o);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);n?e.props=s?r:Ri(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function ma(e,t,n,s){const{props:r,attrs:o,vnode:{patchFlag:i}}=e,l=Y(r),[c]=e.propsOptions;let u=!1;if((s||i>0)&&!(i&16)){if(i&8){const a=e.vnode.dynamicProps;for(let f=0;f{c=!0;const[p,m]=Ji(f,t,!0);Se(i,p),m&&l.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!o&&!c)return se(e)&&s.set(e,Ft),Ft;if(B(o))for(let a=0;ae==="_"||e==="_ctx"||e==="$stable",Lr=e=>B(e)?e.map(ot):[ot(e)],_a=(e,t,n)=>{if(t._n)return t;const s=An((...r)=>Lr(t(...r)),n);return s._c=!1,s},Qi=(e,t,n)=>{const s=e._ctx;for(const r in e){if(Dr(r))continue;const o=e[r];if(K(o))t[r]=_a(r,o,s);else if(o!=null){const i=Lr(o);t[r]=()=>i}}},Yi=(e,t)=>{const n=Lr(t);e.slots.default=()=>n},Xi=(e,t,n)=>{for(const s in t)(n||!Dr(s))&&(e[s]=t[s])},ya=(e,t,n)=>{const s=e.slots=Ki();if(e.vnode.shapeFlag&32){const r=t._;r?(Xi(s,t,n),n&&ri(s,"_",r,!0)):Qi(t,s)}else t&&Yi(e,t)},va=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,i=le;if(s.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:Xi(r,t,n):(o=!t.$stable,Qi(t,r)),i=t}else t&&(Yi(e,t),i={default:1});if(o)for(const l in r)!Dr(l)&&i[l]==null&&delete r[l]},De=Aa;function ba(e){return wa(e)}function wa(e,t){const n=ws();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:i,createText:l,createComment:c,setText:u,setElementText:a,parentNode:f,nextSibling:p,setScopeId:m=ct,insertStaticContent:y}=e,_=(d,h,g,E=null,R=null,b=null,T=void 0,O=null,C=!!h.dynamicChildren)=>{if(d===h)return;d&&!pn(d,h)&&(E=A(d),Ne(d,R,b,!0),d=null),h.patchFlag===-2&&(C=!1,h.dynamicChildren=null),h.dynamicChildren&&d&&d.dynamicChildren&&d.dynamicChildren.hasOnce&&(h.dynamicChildren===Ft&&(h.dynamicChildren=[]),h.dynamicChildren.hasOnce=!0);const{type:x,ref:q,shapeFlag:N}=h;switch(x){case Ps:v(d,h,g,E);break;case ft:S(d,h,g,E);break;case qs:d==null&&w(h,g,E,T);break;case Fe:Ee(d,h,g,E,R,b,T,O,C);break;default:N&1?D(d,h,g,E,R,b,T,O,C):N&6?V(d,h,g,E,R,b,T,O,C):(N&64||N&128)&&x.process(d,h,g,E,R,b,T,O,C,F)}q!=null&&R?Rn(q,d&&d.ref,b,h||d,!h):q==null&&d&&d.ref!=null&&Rn(d.ref,null,b,d,!0)},v=(d,h,g,E)=>{if(d==null)s(h.el=l(h.children),g,E);else{const R=h.el=d.el;h.children!==d.children&&u(R,h.children)}},S=(d,h,g,E)=>{d==null?s(h.el=c(h.children||""),g,E):h.el=d.el},w=(d,h,g,E)=>{[d.el,d.anchor]=y(d.children,h,g,E,d.el,d.anchor)},P=({el:d,anchor:h},g,E)=>{let R;for(;d&&d!==h;)R=p(d),s(d,g,E),d=R;s(h,g,E)},I=({el:d,anchor:h})=>{let g;for(;d&&d!==h;)g=p(d),r(d),d=g;r(h)},D=(d,h,g,E,R,b,T,O,C)=>{if(h.type==="svg"?T="svg":h.type==="math"&&(T="mathml"),d==null)oe(h,g,E,R,b,T,O,C);else{const x=d.el&&d.el._isVueCE?d.el:null;try{x&&x._beginPatch(),k(d,h,R,b,T,O,C)}finally{x&&x._endPatch()}}},oe=(d,h,g,E,R,b,T,O)=>{let C,x;const{props:q,shapeFlag:N,transition:H,dirs:z}=d;if(C=d.el=i(d.type,b,q&&q.is,q),N&8?a(C,d.children):N&16&&U(d.children,C,null,E,R,Us(d,b),T,O),z&&jt(d,null,E,"created"),L(C,d,d.scopeId,T,E),q){for(const ie in q)ie!=="value"&&!wn(ie)&&o(C,ie,null,q[ie],b,E);"value"in q&&o(C,"value",null,q.value,b),(x=q.onVnodeBeforeMount)&&nt(x,E,d)}z&&jt(d,null,E,"beforeMount");const Q=Ea(R,H);Q&&H.beforeEnter(C),s(C,h,g),((x=q&&q.onVnodeMounted)||Q||z)&&De(()=>{x&&nt(x,E,d),Q&&H.enter(C),z&&jt(d,null,E,"mounted")},R)},L=(d,h,g,E,R)=>{if(g&&m(d,g),E)for(let b=0;b{for(let x=C;x{const O=h.el=d.el;let{patchFlag:C,dynamicChildren:x,dirs:q}=h;C|=d.patchFlag&16;const N=d.props||le,H=h.props||le;let z;if(g&&Dt(g,!1),(z=H.onVnodeBeforeUpdate)&&nt(z,g,h,d),q&&jt(h,d,g,"beforeUpdate"),g&&Dt(g,!0),x&&(!d.dynamicChildren||d.dynamicChildren.length!==x.length)&&(C=0,T=!1,x=null),(N.innerHTML&&H.innerHTML==null||N.textContent&&H.textContent==null)&&a(O,""),x?X(d.dynamicChildren,x,O,g,E,Us(h,R),b):T||G(d,h,O,null,g,E,Us(h,R),b,!1),C>0){if(C&16)he(O,N,H,g,R);else if(C&2&&N.class!==H.class&&o(O,"class",null,H.class,R),C&4&&o(O,"style",N.style,H.style,R),C&8){const Q=h.dynamicProps;for(let ie=0;ie{z&&nt(z,g,h,d),q&&jt(h,d,g,"updated")},E)},X=(d,h,g,E,R,b,T)=>{for(let O=0;O{if(h!==g){if(h!==le)for(const b in h)!wn(b)&&!(b in g)&&o(d,b,h[b],null,R,E);for(const b in g){if(wn(b))continue;const T=g[b],O=h[b];T!==O&&b!=="value"&&o(d,b,O,T,R,E)}"value"in g&&o(d,"value",h.value,g.value,R)}},Ee=(d,h,g,E,R,b,T,O,C)=>{const x=h.el=d?d.el:l(""),q=h.anchor=d?d.anchor:l("");let{patchFlag:N,dynamicChildren:H,slotScopeIds:z}=h;z&&(O=O?O.concat(z):z),d==null?(s(x,g,E),s(q,g,E),U(h.children||[],g,q,R,b,T,O,C)):N>0&&N&64&&H&&d.dynamicChildren&&d.dynamicChildren.length===H.length?(X(d.dynamicChildren,H,g,R,b,T,O),(h.key!=null||R&&h===R.subTree)&&Vr(d,h,!0)):G(d,h,g,q,R,b,T,O,C)},V=(d,h,g,E,R,b,T,O,C)=>{h.slotScopeIds=O,d==null?h.shapeFlag&512?R.ctx.activate(h,g,E,T,C):_e(h,g,E,R,b,T,C):pe(d,h,C)},_e=(d,h,g,E,R,b,T)=>{const O=d.component=Ta(d,E,R);if(xs(d)&&(O.ctx.renderer=F),Ia(O,!1,T),O.asyncDep){if(R&&R.registerDep(O,Z,T),!d.el){const C=O.subTree=fe(ft);S(null,C,h,g),d.placeholder=C.el}}else Z(O,d,h,g,R,b,T)},pe=(d,h,g)=>{const E=h.component=d.component;if(da(d,h,g))if(E.asyncDep&&!E.asyncResolved){h.el=d.el,$(E,h,g);return}else E.next=h,E.update();else h.el=d.el,E.vnode=h},Z=(d,h,g,E,R,b,T)=>{const O=()=>{if(d.isMounted){let{next:N,bu:H,u:z,parent:Q,vnode:ie}=d;{const et=Zi(d);if(et){N&&(N.el=ie.el,$(d,N,T)),et.asyncDep.then(()=>{De(()=>{d.isUnmounted||x()},R)});return}}let re=N,ye;Dt(d,!1),N?(N.el=ie.el,$(d,N,T)):N=ie,H&&Xn(H),(ye=N.props&&N.props.onVnodeBeforeUpdate)&&nt(ye,Q,N,ie),Dt(d,!0);const Ae=ao(d),Ze=d.subTree;d.subTree=Ae,_(Ze,Ae,f(Ze.el),A(Ze),d,R,b),N.el=Ae.el,re===null&&ha(d,Ae.el),z&&De(z,R),(ye=N.props&&N.props.onVnodeUpdated)&&De(()=>nt(ye,Q,N,ie),R)}else{let N;const{el:H,props:z}=h,{bm:Q,m:ie,parent:re,root:ye,type:Ae}=d,Ze=nn(h);Dt(d,!1),Q&&Xn(Q),!Ze&&(N=z&&z.onVnodeBeforeMount)&&nt(N,re,h),Dt(d,!0);{ye.ce&&ye.ce._hasShadowRoot()&&ye.ce._injectChildStyle(Ae,d.parent?d.parent.type:void 0);const et=d.subTree=ao(d);_(null,et,g,E,d,R,b),h.el=et.el}if(ie&&De(ie,R),!Ze&&(N=z&&z.onVnodeMounted)){const et=h;De(()=>nt(N,re,et),R)}(h.shapeFlag&256||re&&nn(re.vnode)&&re.vnode.shapeFlag&256)&&d.a&&De(d.a,R),d.isMounted=!0,h=g=E=null}};d.scope.on();const C=d.effect=new fi(O);d.scope.off();const x=d.update=C.run.bind(C),q=d.job=C.runIfDirty.bind(C);q.i=d,q.id=d.uid,C.scheduler=()=>Ir(q),Dt(d,!0),x()},$=(d,h,g)=>{h.component=d;const E=d.vnode.props;d.vnode=h,d.next=null,ma(d,h.props,E,g),va(d,h.children,g),wt(),Yr(d),Et()},G=(d,h,g,E,R,b,T,O,C=!1)=>{const x=d&&d.children,q=d?d.shapeFlag:0,N=h.children,{patchFlag:H,shapeFlag:z}=h;if(H>0){if(H&128){Oe(x,N,g,E,R,b,T,O,C);return}else if(H&256){ae(x,N,g,E,R,b,T,O,C);return}}z&8?(q&16&&ze(x,R,b),N!==x&&a(g,N)):q&16?z&16?Oe(x,N,g,E,R,b,T,O,C):ze(x,R,b,!0):(q&8&&a(g,""),z&16&&U(N,g,E,R,b,T,O,C))},ae=(d,h,g,E,R,b,T,O,C)=>{d=d||Ft,h=h||Ft;const x=d.length,q=h.length,N=Math.min(x,q);let H;for(H=0;Hq?ze(d,R,b,!0,!1,N):U(h,g,E,R,b,T,O,C,N)},Oe=(d,h,g,E,R,b,T,O,C)=>{let x=0;const q=h.length;let N=d.length-1,H=q-1;for(;x<=N&&x<=H;){const z=d[x],Q=h[x]=C?mt(h[x]):ot(h[x]);if(pn(z,Q))_(z,Q,g,null,R,b,T,O,C);else break;x++}for(;x<=N&&x<=H;){const z=d[N],Q=h[H]=C?mt(h[H]):ot(h[H]);if(pn(z,Q))_(z,Q,g,null,R,b,T,O,C);else break;N--,H--}if(x>N){if(x<=H){const z=H+1,Q=zH)for(;x<=N;)Ne(d[x],R,b,!0),x++;else{const z=x,Q=x,ie=new Map;for(x=Q;x<=H;x++){const He=h[x]=C?mt(h[x]):ot(h[x]);He.key!=null&&ie.set(He.key,x)}let re,ye=0;const Ae=H-Q+1;let Ze=!1,et=0;const dn=new Array(Ae);for(x=0;x=Ae){Ne(He,R,b,!0);continue}let tt;if(He.key!=null)tt=ie.get(He.key);else for(re=Q;re<=H;re++)if(dn[re-Q]===0&&pn(He,h[re])){tt=re;break}tt===void 0?Ne(He,R,b,!0):(dn[tt-Q]=x+1,tt>=et?et=tt:Ze=!0,_(He,h[tt],g,null,R,b,T,O,C),ye++)}const Ur=Ze?Sa(dn):Ft;for(re=Ur.length-1,x=Ae-1;x>=0;x--){const He=Q+x,tt=h[He],qr=h[He+1],zr=He+1{const{el:b,type:T,transition:O,children:C,shapeFlag:x}=d;if(x&6){Xe(d.component.subTree,h,g,E);return}if(x&128){d.suspense.move(h,g,E);return}if(x&64){T.move(d,h,g,F);return}if(T===Fe){s(b,h,g);for(let N=0;NO.enter(b),R));else{const{leave:N,delayLeave:H,afterLeave:z}=O,Q=()=>{d.ctx.isUnmounted?r(b):s(b,h,g)},ie=()=>{const re=b._isLeaving||!!b[Hs];b._isLeaving&&b[Hs](!0),O.persisted&&!re?Q():N(b,()=>{Q(),z&&z()})};H?H(b,Q,ie):ie()}else s(b,h,g)},Ne=(d,h,g,E=!1,R=!1)=>{const{type:b,props:T,ref:O,children:C,dynamicChildren:x,shapeFlag:q,patchFlag:N,dirs:H,cacheIndex:z,memo:Q}=d;if((N===-2||x&&x.hasOnce)&&(R=!1),O!=null&&(wt(),Rn(O,null,g,d,!0),Et()),z!=null&&(!d.ctx||d.ctx===h)&&(h.renderCache[z]=void 0),q&256){h.ctx.deactivate(d);return}const ie=q&1&&H,re=!nn(d);let ye;if(re&&(ye=T&&T.onVnodeBeforeUnmount)&&nt(ye,h,d),q&6)Nt(d.component,g,E);else{if(q&128){d.suspense.unmount(g,E);return}ie&&jt(d,null,h,"beforeUnmount"),q&64?d.type.remove(d,h,g,F,E):x&&!x.hasOnce&&(b!==Fe||N>0&&N&64)?ze(x,h,g,!1,!0):(b===Fe&&N&384||!R&&q&16)&&ze(C,h,g),E&&$t(d)}const Ae=Q!=null&&z==null;(re&&(ye=T&&T.onVnodeUnmounted)||ie||Ae)&&De(()=>{ye&&nt(ye,h,d),ie&&jt(d,null,h,"unmounted"),Ae&&(d.el=null)},g)},$t=d=>{const{type:h,el:g,anchor:E,transition:R}=d;if(h===Fe){Kt(g,E);return}if(h===qs){I(d),R&&!R.persisted&&R.afterLeave&&R.afterLeave();return}const b=()=>{r(g),R&&!R.persisted&&R.afterLeave&&R.afterLeave()};if(d.shapeFlag&1&&R&&!R.persisted){const{leave:T,delayLeave:O}=R,C=()=>T(g,b);O?O(d.el,b,C):C()}else b()},Kt=(d,h)=>{let g;for(;d!==h;)g=p(d),r(d),d=g;r(h)},Nt=(d,h,g)=>{const{bum:E,scope:R,job:b,subTree:T,um:O,m:C,a:x}=d;ho(C),ho(x),E&&Xn(E),R.stop(),b?(b.flags|=8,Ne(T,d,h,g)):d.vnode.el&&T&&(T.transition=d.vnode.transition,Ne(T,d,h,g)),O&&De(O,h),De(()=>{d.isUnmounted=!0},h)},ze=(d,h,g,E=!1,R=!1,b=0)=>{for(let T=b;T{if(d.shapeFlag&6)return A(d.component.subTree);if(d.shapeFlag&128)return d.suspense.next();const h=p(d.anchor||d.el),g=h&&h[Di];return g?p(g):h};let j=!1;const M=(d,h,g)=>{let E;d==null?h._vnode&&(Ne(h._vnode,null,null,!0),E=h._vnode.component):_(h._vnode||null,d,h,null,null,null,g),h._vnode=d,j||(j=!0,Yr(E),Ti(),j=!1)},F={p:_,um:Ne,m:Xe,r:$t,mt:_e,mc:U,pc:G,pbc:X,n:A,o:e};return{render:M,hydrate:void 0,createApp:ia(M)}}function Us({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Dt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Ea(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Vr(e,t,n=!1){const s=e.children,r=t.children;if(B(s)&&B(r))for(let o=0;o>1,e[n[l]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function Zi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Zi(t)}function ho(e){if(e)for(let t=0;te.__isSuspense;function Aa(e,t){t&&t.pendingBranch?B(e)?t.effects.push(...e):t.effects.push(e):xc(e)}const Fe=Symbol.for("v-fgt"),Ps=Symbol.for("v-txt"),ft=Symbol.for("v-cmt"),qs=Symbol.for("v-stc"),yt=[];let Be=null;function We(e=!1){yt.push(Be=e?null:[])}function kr(){yt.pop(),Be=yt[yt.length-1]||null}let jn=1;function as(e,t=!1){jn+=e,e<0&&Be&&t&&(Be.hasOnce=!0)}function nl(e){return e.dynamicChildren=jn>0?Be||Ft:null,kr(),jn>0&&Be&&Be.push(e),e}function Xt(e,t,n,s,r,o){return nl(Pe(e,t,n,s,r,o,!0))}function Dn(e,t,n,s,r){return nl(fe(e,t,n,s,r,!0))}function Ln(e){return e?e.__v_isVNode===!0:!1}function pn(e,t){return e.type===t.type&&e.key===t.key}const sl=({key:e})=>e??null,es=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?de(e)||ge(e)||K(e)?{i:Ce,r:e,k:t,f:!!n}:e:null);function Pe(e,t=null,n=null,s=0,r=null,o=e===Fe?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&sl(t),ref:t&&es(t),scopeId:Mi,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Ce};return l?(us(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=de(n)?8:16),jn>0&&!i&&Be&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&Be.push(c),c}const fe=Ra;function Ra(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===Qc)&&(e=ft),Ln(e)){const l=rn(e,t,!0);return n&&us(l,n),jn>0&&!o&&Be&&(l.shapeFlag&6?Be[Be.indexOf(e)]=l:Be.push(l)),l.patchFlag=-2,l}if(La(e)&&(e=e.__vccOpts),t){t=xa(t);let{class:l,style:c}=t;l&&!de(l)&&(t.class=Tn(l)),se(c)&&(Ss(c)&&!B(c)&&(c=Se({},c)),t.style=Er(c))}const i=de(e)?1:tl(e)?128:Rs(e)?64:se(e)?4:K(e)?2:0;return Pe(e,t,n,s,r,i,o,!0)}function xa(e){return e?Ss(e)||Gi(e)?Se({},e):e:null}function rn(e,t,n=!1,s=!1){const{props:r,ref:o,patchFlag:i,children:l,transition:c}=e,u=t?Ca(r||{},t):r,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&sl(u),ref:t&&t.ref?n&&o?B(o)?o.concat(es(t)):[o,es(t)]:es(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Fe?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&rn(e.ssContent),ssFallback:e.ssFallback&&rn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce,cacheIndex:e.cacheIndex};return c&&s&&Mr(a,c.clone(a)),a}function dr(e=" ",t=0){return fe(Ps,null,e,t)}function po(e="",t=!1){return t?(We(),Dn(ft,null,e)):fe(ft,null,e)}function ot(e){return e==null||typeof e=="boolean"?fe(ft):B(e)?fe(Fe,null,e.slice()):Ln(e)?mt(e):fe(Ps,null,String(e))}function mt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:rn(e)}function us(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(B(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),us(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!Gi(t)?t._ctx=Ce:r===3&&Ce&&(Ce.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(K(t)){if(s&65){us(e,{default:t});return}t={default:t,_ctx:Ce},n=32}else t=String(t),s&64?(n=16,t=[dr(t)]):n=8;e.children=t,e.shapeFlag|=n}function Ca(...e){const t={};for(let n=0;nxe||Ce;let fs,Vn;{const e=ws(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),o=>{r.length>1?r.forEach(i=>i(o)):r[0](o)}};fs=t("__VUE_INSTANCE_SETTERS__",n=>xe=n),Vn=t("__VUE_SSR_SETTERS__",n=>on=n)}const zn=e=>{const t=xe;return fs(e),e.scope.on(),()=>{e.scope.off(),fs(t)}},mo=()=>{xe&&xe.scope.off(),fs(null)};function ol(e){return e.vnode.shapeFlag&4}let on=!1;function Ia(e,t=!1,n=!1){t&&Vn(t);const{props:s,children:r}=e.vnode,o=ol(e);pa(e,s,o,t),ya(e,r,n||t);const i=o?Ma(e,t):void 0;return t&&Vn(!1),i}function Ma(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Zc);const{setup:s}=n;if(s){wt();const r=e.setupContext=s.length>1?ja(e):null,o=zn(e),i=Un(s,e,0,[e.props,r]),l=ti(i);if(Et(),o(),(l||e.sp)&&!nn(e)&&Nr(e),l){if(i.then(mo,mo),t)return i.then(c=>{Vn(!0);try{go(e,c,t)}finally{Vn(!1)}}).catch(c=>{qn(c,e,0)});e.asyncDep=i}else go(e,i)}else il(e)}function go(e,t,n){K(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:se(t)&&(e.setupState=Ci(t)),il(e)}function il(e,t,n){const s=e.type;e.render||(e.render=s.render||ct);{const r=zn(e);wt();try{ea(e)}finally{Et(),r()}}}const Na={get(e,t){return Me(e,"get",""),e[t]}};function ja(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Na),slots:e.slots,emit:e.emit,expose:t}}function Ts(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ci(Tr(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in xn)return xn[n](e)},has(t,n){return n in t||n in xn}})):e.proxy}function Da(e,t=!0){return K(e)?e.displayName||e.name:e.name||t&&e.__name}function La(e){return K(e)&&"__vccOpts"in e}const W=(e,t)=>wc(e,t,on);function ll(e,t,n){try{as(-1);const s=arguments.length;return s===2?se(t)&&!B(t)?Ln(t)?fe(e,null,[t]):fe(e,t):fe(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Ln(n)&&(n=[n]),fe(e,t,n))}finally{as(1)}}const Va="3.5.43";let hr;const _o=typeof window<"u"&&window.trustedTypes;if(_o)try{hr=_o.createPolicy("vue",{createHTML:e=>e})}catch{}const cl=hr?e=>hr.createHTML(e):e=>e,ka="http://www.w3.org/2000/svg",Fa="http://www.w3.org/1998/Math/MathML",pt=typeof document<"u"?document:null,yo=pt&&pt.createElement("template"),Ha={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?pt.createElementNS(ka,e):t==="mathml"?pt.createElementNS(Fa,e):n?pt.createElement(e,{is:n}):pt.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>pt.createTextNode(e),createComment:e=>pt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>pt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{yo.innerHTML=cl(s==="svg"?`${e}`:s==="mathml"?`${e}`:e);const l=yo.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ba=Symbol("_vtc");function Ua(e,t,n){const s=e[Ba];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const ds=Symbol("_vod"),al=Symbol("_vsh"),qa={name:"show",beforeMount(e,{value:t},{transition:n}){e[ds]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):mn(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),mn(e,!0),s.enter(e)):s.leave(e,()=>{mn(e,!1)}):mn(e,t))},beforeUnmount(e,{value:t}){mn(e,t)}};function mn(e,t){e.style.display=t?e[ds]:"none",e[al]=!t}const za=Symbol(""),$a=/(?:^|;)\s*display\s*:/;function Ka(e,t,n){const s=e.style,r=de(n);let o=!1;if(n&&!r){if(t)if(de(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&bn(s,l,"")}else for(const i in t)n[i]==null&&bn(s,i,"");for(const i in n){i==="display"&&(o=!0);const l=n[i];l!=null?Wa(e,i,!de(t)&&t?t[i]:void 0,l)||bn(s,i,l):bn(s,i,"")}}else if(r){if(t!==n){const i=s[za];i&&(n+=";"+i),s.cssText=n,o=$a.test(n)}}else t&&e.removeAttribute("style");ds in e&&(e[ds]=o?s.display:"",e[al]&&(s.display="none"))}const Qn=/\s*!important$/;function bn(e,t,n){if(B(n))n.forEach(s=>bn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))Qn.test(n)?e.setProperty(t,n.replace(Qn,""),"important"):e.setProperty(t,n);else{const s=Ga(e,t);Qn.test(n)?e.setProperty(zt(s),n.replace(Qn,""),"important"):e[s]=n}}const vo=["Webkit","Moz","ms"],zs={};function Ga(e,t){const n=zs[t];if(n)return n;let s=ke(t);if(s!=="filter"&&s in e)return zs[t]=s;s=vs(s);for(let r=0;r$s||(eu.then(()=>$s=0),$s=Date.now());function nu(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const r=n.value;if(B(r)){const o=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{o.call(s),s._stopped=!0};const i=r.slice(),l=[s];for(let c=0;ce.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,su=(e,t,n,s,r,o)=>{const i=r==="svg";t==="class"?Ua(e,s,i):t==="style"?Ka(e,n,s):ms(t)?gs(t)||Qa(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):ru(e,t,s,i))?(Eo(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&wo(e,t,s,i,o,t!=="value")):e._isVueCE&&(ou(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!de(s)))?Eo(e,ke(t),s,o,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),wo(e,t,s,i))};function ru(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ao(t)&&K(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Ao(t)&&de(n)?!1:t in e}function ou(e,t){const n=e._def.props;if(!n)return!1;const s=ke(t);return Array.isArray(n)?n.some(r=>ke(r)===s):Object.keys(n).some(r=>ke(r)===s)}const ln=e=>{const t=e.props["onUpdate:modelValue"]||!1;return B(t)?n=>Xn(t,n):t};function iu(e){e.target.composing=!0}function Ro(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const lt=Symbol("_assign"),Yn=Symbol("_initialValue");function Ks(e,t,n){return t&&(e=e.trim()),n&&(e=bs(e)),e}const nd={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e.parentNode&&(e.type==="text"?e[Yn]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[Yn]=e.defaultValue.replace(/\r\n?/g,` -`))),e[lt]=ln(r);const o=s||r.props&&r.props.type==="number";Tt(e,t?"change":"input",i=>{i.target.composing||e[lt](Ks(e.value,n,o))}),(n||o)&&Tt(e,"change",()=>{e.value=Ks(e.value,n,o)}),t||(Tt(e,"compositionstart",iu),Tt(e,"compositionend",Ro),Tt(e,"change",Ro))},mounted(e,{value:t,modifiers:{trim:n,number:s}}){const r=t??"",o=e[Yn];delete e[Yn],o!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==o?e[lt](Ks(e.value,n,s)):e.value=r},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:o}},i){if(e[lt]=ln(i),e.composing)return;const l=(o||e.type==="number")&&!/^0\d/.test(e.value)?bs(e.value):e.value,c=t??"";if(l===c)return;const u=e.getRootNode();(u instanceof Document||u instanceof ShadowRoot)&&u.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c)}},sd={deep:!0,created(e,t,n){e[lt]=ln(n),Tt(e,"change",()=>{const s=e._modelValue,r=kn(e),o=e.checked,i=e[lt];if(B(s)){const l=Sr(s,r),c=l!==-1;if(o&&!c)i(s.concat(r));else if(!o&&c){const u=[...s];u.splice(l,1),i(u)}}else if(vt(s)){const l=new Set(s);o?l.add(r):l.delete(r),i(l)}else i(ul(e,o))})},mounted:xo,beforeUpdate(e,t,n){e[lt]=ln(n),xo(e,t,n)}};function xo(e,{value:t,oldValue:n},s){e._modelValue=t;let r;if(B(t))r=Sr(t,s.props.value)>-1;else if(vt(t))r=t.has(s.props.value);else{if(t===n)return;r=bt(t,ul(e,!0))}e.checked!==r&&(e.checked=r)}const rd={deep:!0,created(e,{value:t,modifiers:{number:n}},s){e._modelValue=t,Tt(e,"change",()=>{const r=Array.prototype.filter.call(e.options,c=>c.selected).map(c=>n?bs(kn(c)):kn(c)),o=e.multiple,i=o?vt(e._modelValue)?new Set(r):r:r[0],l=e._pendingValue=[o,o?B(i)?r.slice():r:i];try{e[lt](i)}finally{As(()=>{e._pendingValue===l&&(e._pendingValue=void 0)})}}),e[lt]=ln(s)},mounted(e,{value:t}){Co(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[lt]=ln(n)},updated(e,{value:t}){const n=e._pendingValue;e._pendingValue=void 0,(!n||n[0]!==e.multiple||!lu(t,n[1],n[0]))&&Co(e,t)}};function lu(e,t,n){if(!n||B(e))return bt(e,t);if(vt(e)){if(e.size!==t.length)return!1;for(const s of t)if(!e.has(s))return!1;return!0}return!1}function Co(e,t){const n=e.multiple,s=B(t);if(!(n&&!s&&!vt(t))){for(let r=0,o=e.options.length;rString(u)===String(l)):i.selected=Sr(t,l)>-1}else i.selected=t.has(l);else if(bt(kn(i),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function kn(e){return"_value"in e?e._value:e.value}function ul(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const cu=["ctrl","shift","alt","meta"],au={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>cu.some(n=>e[`${n}Key`]&&!t.includes(n))},od=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=((r,...o)=>{for(let i=0;i{const t=fu().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=pu(s);if(!r)return;const o=t._component;!K(o)&&!o.render&&!o.template&&(o.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const i=n(r,!1,hu(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),i},t});function hu(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function pu(e){return de(e)?document.querySelector(e):e}let fl;const Is=e=>fl=e,dl=Symbol();function pr(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Cn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Cn||(Cn={}));function mu(){const e=ai(!0),t=e.run(()=>we({}));let n=[],s=[];const r=Tr({install(o){Is(r),r._a=o,o.provide(dl,r),o.config.globalProperties.$pinia=r,s.forEach(i=>n.push(i)),s=[]},use(o){return this._a?n.push(o):s.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return r}const hl=()=>{};function Po(e,t,n,s=hl){e.add(t);const r=()=>{e.delete(t)&&s()};return!n&&ui()&&Ql(r),r}function Jt(e,...t){e.forEach(n=>{n(...t)})}const gu=e=>e(),To=Symbol(),Gs=Symbol();function mr(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,s)=>e.set(s,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const s=t[n],r=e[n];pr(r)&&pr(s)&&e.hasOwnProperty(n)&&!ge(s)&&!at(s)?e[n]=mr(r,s):e[n]=s}return e}const _u=Symbol();function yu(e){return!pr(e)||!Object.prototype.hasOwnProperty.call(e,_u)}const{assign:xt}=Object;function vu(e){return!!(ge(e)&&e.effect)}function bu(e,t,n,s){const{state:r,actions:o,getters:i}=t,l=n.state.value[e];let c;function u(){l||(n.state.value[e]=r?r():{});const a=_c(n.state.value[e]);return xt(a,o,Object.keys(i||{}).reduce((f,p)=>(f[p]=Tr(W(()=>{Is(n);const m=n._s.get(e);return i[p].call(m,m)})),f),{}))}return c=pl(e,u,t,n,s,!0),c}function pl(e,t,n={},s,r,o){let i;const l=xt({actions:{}},n),c={deep:!0};let u,a,f=new Set,p=new Set,m;const y=s.state.value[e];!o&&!y&&(s.state.value[e]={});let _;function v(U){let k;u=a=!1,typeof U=="function"?(U(s.state.value[e]),k={type:Cn.patchFunction,storeId:e,events:m}):(mr(s.state.value[e],U),k={type:Cn.patchObject,payload:U,storeId:e,events:m});const X=_=Symbol();As().then(()=>{_===X&&(u=!0)}),a=!0,Jt(f,k,s.state.value[e])}const S=o?function(){const{state:k}=n,X=k?k():{};this.$patch(he=>{xt(he,X)})}:hl;function w(){i.stop(),f.clear(),p.clear(),s._s.delete(e)}const P=(U,k="")=>{if(To in U)return U[Gs]=k,U;const X=function(){Is(s);const he=Array.from(arguments),Ee=new Set,V=new Set;function _e($){Ee.add($)}function pe($){V.add($)}Jt(p,{args:he,name:X[Gs],store:D,after:_e,onError:pe});let Z;try{Z=U.apply(this&&this.$id===e?this:D,he)}catch($){throw Jt(V,$),$}return Z instanceof Promise?Z.then($=>(Jt(Ee,$),$)).catch($=>(Jt(V,$),Promise.reject($))):(Jt(Ee,Z),Z)};return X[To]=!0,X[Gs]=k,X},I={_p:s,$id:e,$onAction:Po.bind(null,p),$patch:v,$reset:S,$subscribe(U,k={}){const X=Po(f,U,k.detached,()=>he()),he=i.run(()=>tn(()=>s.state.value[e],Ee=>{(k.flush==="sync"?a:u)&&U({storeId:e,type:Cn.direct,events:m},Ee)},xt({},c,k)));return X},$dispose:w},D=Bn(I);s._s.set(e,D);const L=(s._a&&s._a.runWithContext||gu)(()=>s._e.run(()=>(i=ai()).run(()=>t({action:P}))));for(const U in L){const k=L[U];if(ge(k)&&!vu(k)||at(k))o||(y&&yu(k)&&(ge(k)?k.value=y[U]:mr(k,y[U])),s.state.value[e][U]=k);else if(typeof k=="function"){const X=P(k,U);L[U]=X,l.actions[U]=k}}return xt(D,L),xt(Y(D),L),Object.defineProperty(D,"$state",{get:()=>s.state.value[e],set:U=>{v(k=>{xt(k,U)})}}),s._p.forEach(U=>{xt(D,i.run(()=>U({store:D,app:s._a,pinia:s,options:l})))}),y&&o&&n.hydrate&&n.hydrate(D.$state,y),u=!0,a=!0,D}function fn(e,t,n){let s;const r=typeof t=="function";s=r?n:t;function o(i,l){const c=Oc();return i=i||(c?Ke(dl,null):null),i&&Is(i),i=fl,i._s.has(e)||(r?pl(e,t,s,i):bu(e,s,i)),i._s.get(e)}return o.$id=e,o}const id=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ld=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),cd=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),ad=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));const Zt=typeof document<"u";function ml(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function wu(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&ml(e.default)}const ee=Object.assign;function Ws(e,t){const n={};for(const s in t){const r=t[s];n[s]=Ye(r)?r.map(e):e(r)}return n}const On=()=>{},Ye=Array.isArray;function Io(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const gl=/#/g,Eu=/&/g,Su=/\//g,Au=/=/g,Ru=/\?/g,_l=/\+/g,xu=/%5B/g,Cu=/%5D/g,yl=/%5E/g,Ou=/%60/g,vl=/%7B/g,Pu=/%7C/g,bl=/%7D/g,Tu=/%20/g;function Fr(e){return e==null?"":encodeURI(""+e).replace(Pu,"|").replace(xu,"[").replace(Cu,"]")}function Iu(e){return Fr(e).replace(vl,"{").replace(bl,"}").replace(yl,"^")}function gr(e){return Fr(e).replace(_l,"%2B").replace(Tu,"+").replace(gl,"%23").replace(Eu,"%26").replace(Ou,"`").replace(vl,"{").replace(bl,"}").replace(yl,"^")}function Mu(e){return gr(e).replace(Au,"%3D")}function Nu(e){return Fr(e).replace(gl,"%23").replace(Ru,"%3F")}function ju(e){return Nu(e).replace(Su,"%2F")}function Fn(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Du=/\/$/,Lu=e=>e.replace(Du,"");function Js(e,t,n="/"){let s,r={},o="",i="";const l=t.indexOf("#");let c=t.indexOf("?");return c=l>=0&&c>l?-1:c,c>=0&&(s=t.slice(0,c),o=t.slice(c,l>0?l:t.length),r=e(o.slice(1))),l>=0&&(s=s||t.slice(0,l),i=t.slice(l,t.length)),s=Hu(s??t,n),{fullPath:s+o+i,path:s,query:r,hash:Fn(i)}}function Vu(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Mo(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function ku(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&cn(t.matched[s],n.matched[r])&&wl(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function cn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function wl(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Fu(e[n],t[n]))return!1;return!0}function Fu(e,t){return Ye(e)?No(e,t):Ye(t)?No(t,e):e?.valueOf()===t?.valueOf()}function No(e,t){return Ye(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function Hu(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),r=s[s.length-1];(r===".."||r===".")&&s.push("");let o=n.length-1,i,l;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+s.slice(i).join("/")}const At={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let _r=(function(e){return e.pop="pop",e.push="push",e})({}),Qs=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function Bu(e){if(!e)if(Zt){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Lu(e)}const Uu=/^[^#]+#/;function qu(e,t){return e.replace(Uu,"#")+t}function zu(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const Ms=()=>({left:window.scrollX,top:window.scrollY});function $u(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=zu(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function jo(e,t){return(history.state?history.state.position-t:-1)+e}const yr=new Map;function Ku(e,t){yr.set(e,t)}function Gu(e){const t=yr.get(e);return yr.delete(e),t}function Wu(e){return typeof e=="string"||e&&typeof e=="object"}function El(e){return typeof e=="string"||typeof e=="symbol"}let me=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const Sl=Symbol("");me.MATCHER_NOT_FOUND+"",me.NAVIGATION_GUARD_REDIRECT+"",me.NAVIGATION_ABORTED+"",me.NAVIGATION_CANCELLED+"",me.NAVIGATION_DUPLICATED+"";function an(e,t){return ee(new Error,{type:e,[Sl]:!0},t)}function ht(e,t){return e instanceof Error&&Sl in e&&(t==null||!!(e.type&t))}const Ju=["params","query","hash"];function Qu(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of Ju)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function Yu(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;sr&&gr(r)):[s&&gr(s)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function Xu(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=Ye(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return t}const Zu=Symbol(""),Lo=Symbol(""),Ns=Symbol(""),Hr=Symbol(""),vr=Symbol("");function gn(){let e=[];function t(s){return e.push(s),()=>{const r=e.indexOf(s);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Pt(e,t,n,s,r,o=i=>i()){const i=s&&(s.enterCallbacks[r]=s.enterCallbacks[r]||[]);return()=>new Promise((l,c)=>{const u=p=>{p===!1?c(an(me.NAVIGATION_ABORTED,{from:n,to:t})):p instanceof Error?c(p):Wu(p)?c(an(me.NAVIGATION_GUARD_REDIRECT,{from:t,to:p})):(i&&s.enterCallbacks[r]===i&&typeof p=="function"&&i.push(p),l())},a=o(()=>e.call(s&&s.instances[r],t,n,u));let f=Promise.resolve(a);e.length<3&&(f=f.then(u)),f.catch(p=>c(p))})}function Ys(e,t,n,s,r=o=>o()){const o=[];for(const i of e)for(const l in i.components){let c=i.components[l];if(!(t!=="beforeRouteEnter"&&!i.instances[l]))if(ml(c)){const u=(c.__vccOpts||c)[t];u&&o.push(Pt(u,n,s,i,l,r))}else{let u=c();o.push(()=>u.then(a=>{if(!a)throw new Error(`Couldn't resolve component "${l}" at "${i.path}"`);const f=wu(a)?a.default:a;i.mods[l]=a,i.components[l]=f;const p=(f.__vccOpts||f)[t];return p&&Pt(p,n,s,i,l,r)()}))}}return o}function ef(e,t){const n=[],s=[],r=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;icn(u,l))?s.push(l):n.push(l));const c=e.matched[i];c&&(t.matched.find(u=>cn(u,c))||r.push(c))}return[n,s,r]}let tf=()=>location.protocol+"//"+location.host;function Al(e,t){const{pathname:n,search:s,hash:r}=t,o=e.indexOf("#");if(o>-1){let i=r.includes(e.slice(o))?e.slice(o).length:1,l=r.slice(i);return l[0]!=="/"&&(l="/"+l),Mo(l,"")}return Mo(n,e)+s+r}function nf(e,t,n,s){let r=[],o=[],i=null;const l=({state:p})=>{const m=Al(e,location),y=n.value,_=t.value;let v=0;if(p){if(n.value=m,t.value=p,i&&i===y){i=null;return}v=_?p.position-_.position:0}else s(m);r.forEach(S=>{S(n.value,y,{delta:v,type:_r.pop,direction:v?v>0?Qs.forward:Qs.back:Qs.unknown})})};function c(){i=n.value}function u(p){r.push(p);const m=()=>{const y=r.indexOf(p);y>-1&&r.splice(y,1)};return o.push(m),m}function a(){if(document.visibilityState==="hidden"){const{history:p}=window;if(!p.state)return;p.replaceState(ee({},p.state,{scroll:Ms()}),"")}}function f(){for(const p of o)p();o=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",a),document.removeEventListener("visibilitychange",a)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",a),document.addEventListener("visibilitychange",a),{pauseListeners:c,listen:u,destroy:f}}function Vo(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?Ms():null}}function sf(e){const{history:t,location:n}=window,s={value:Al(e,n)},r={value:t.state};r.value||o(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(c,u,a){const f=e.indexOf("#"),p=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+c:tf()+e+c;try{t[a?"replaceState":"pushState"](u,"",p),r.value=u}catch(m){console.error(m),n[a?"replace":"assign"](p)}}function i(c,u){o(c,ee({},t.state,Vo(r.value.back,c,r.value.forward,!0),u,{position:r.value.position}),!0),s.value=c}function l(c,u){const a=ee({},r.value,t.state,{forward:c,scroll:Ms()});o(a.current,a,!0),o(c,ee({},Vo(s.value,c,null),{position:a.position+1},u),!1),s.value=c}return{location:s,state:r,push:l,replace:i}}function rf(e){e=Bu(e);const t=sf(e),n=nf(e,t.state,t.location,t.replace);function s(o,i=!0){i||n.pauseListeners(),history.go(o)}const r=ee({location:"",base:e,go:s,createHref:qu.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}let Ht=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var ve=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(ve||{});const of={type:Ht.Static,value:""},lf=/[a-zA-Z0-9_]/;function cf(e){if(!e)return[[]];if(e==="/")return[[of]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${u}": ${m}`)}let n=ve.Static,s=n;const r=[];let o;function i(){o&&r.push(o),o=[]}let l=0,c,u="",a="";function f(){u&&(n===ve.Static?o.push({type:Ht.Static,value:u}):n===ve.Param||n===ve.ParamRegExp||n===ve.ParamRegExpEnd?(o.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),o.push({type:Ht.Param,value:u,regexp:a,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),u="")}function p(){u+=c}for(;lt.length?t.length===1&&t[0]===Le.Static+Le.Segment?1:-1:0}function Rl(e,t){let n=0;const s=e.score,r=t.score;for(;n0&&t[t.length-1]<0}const hf={strict:!1,end:!0,sensitive:!1};function pf(e,t,n){const s=ff(cf(e.path),n),r=ee(s,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function mf(e,t){const n=[],s=new Map;t=Io(hf,t);function r(f){return s.get(f)}function o(f,p,m){const y=!m,_=Bo(f);_.aliasOf=m&&m.record;const v=Io(t,f),S=[_];if("alias"in f){const I=typeof f.alias=="string"?[f.alias]:f.alias;for(const D of I)S.push(Bo(ee({},_,{components:m?m.record.components:_.components,path:D,aliasOf:m?m.record:_})))}let w,P;for(const I of S){const{path:D}=I;if(p&&D[0]!=="/"){const oe=p.record.path,L=oe[oe.length-1]==="/"?"":"/";I.path=p.record.path+(D&&L+D)}if(w=pf(I,p,v),m?m.alias.push(w):(P=P||w,P!==w&&P.alias.push(w),y&&f.name&&!Uo(w)&&i(f.name)),xl(w)&&c(w),_.children){const oe=_.children;for(let L=0;L{i(P)}:On}function i(f){if(El(f)){const p=s.get(f);p&&(s.delete(f),n.splice(n.indexOf(p),1),p.children.forEach(i),p.alias.forEach(i))}else{const p=n.indexOf(f);p>-1&&(n.splice(p,1),f.record.name&&s.delete(f.record.name),f.children.forEach(i),f.alias.forEach(i))}}function l(){return n}function c(f){const p=yf(f,n);n.splice(p,0,f),f.record.name&&!Uo(f)&&s.set(f.record.name,f)}function u(f,p){let m,y={},_,v;if("name"in f&&f.name){if(m=s.get(f.name),!m)throw an(me.MATCHER_NOT_FOUND,{location:f});v=m.record.name,y=ee(Ho(p.params,m.keys.filter(P=>!P.optional).concat(m.parent?m.parent.keys.filter(P=>P.optional):[]).map(P=>P.name)),f.params&&Ho(f.params,m.keys.map(P=>P.name))),_=m.stringify(y)}else if(f.path!=null)_=f.path,m=n.find(P=>P.re.test(_)),m&&(y=m.parse(_),v=m.record.name);else{if(m=p.name?s.get(p.name):n.find(P=>P.re.test(p.path)),!m)throw an(me.MATCHER_NOT_FOUND,{location:f,currentLocation:p});v=m.record.name,y=ee({},p.params,f.params),_=m.stringify(y)}const S=[];let w=m;for(;w;)S.unshift(w.record),w=w.parent;return{name:v,path:_,params:y,matched:S,meta:_f(S)}}e.forEach(f=>o(f));function a(){n.length=0,s.clear()}return{addRoute:o,resolve:u,removeRoute:i,clearRoutes:a,getRoutes:l,getRecordMatcher:r}}function Ho(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function Bo(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:gf(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function gf(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function Uo(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function _f(e){return e.reduce((t,n)=>ee(t,n.meta),{})}function yf(e,t){let n=0,s=t.length;for(;n!==s;){const o=n+s>>1;Rl(e,t[o])<0?s=o:n=o+1}const r=vf(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function vf(e){let t=e;for(;t=t.parent;)if(xl(t)&&Rl(e,t)===0)return t}function xl({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function qo(e){const t=Ke(Ns),n=Ke(Hr),s=W(()=>{const c=Ie(e.to);return t.resolve(c)}),r=W(()=>{const{matched:c}=s.value,{length:u}=c,a=c[u-1],f=n.matched;if(!a||!f.length)return-1;const p=f.findIndex(cn.bind(null,a));if(p>-1)return p;const m=zo(c[u-2]);return u>1&&zo(a)===m&&f[f.length-1].path!==m?f.findIndex(cn.bind(null,c[u-2])):p}),o=W(()=>r.value>-1&&Af(n.params,s.value.params)),i=W(()=>r.value>-1&&r.value===n.matched.length-1&&wl(n.params,s.value.params));function l(c={}){if(Sf(c)){const u=t[Ie(e.replace)?"replace":"push"](Ie(e.to)).catch(On);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:s,href:W(()=>s.value.href),isActive:o,isExactActive:i,navigate:l}}function bf(e){return e.length===1?e[0]:e}const wf=un({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:qo,setup(e,{slots:t}){const n=Bn(qo(e)),{options:s}=Ke(Ns),r=W(()=>({[$o(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[$o(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&bf(t.default(n));return e.custom?o:ll("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},o)}}}),Ef=wf;function Sf(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Af(e,t){for(const n in t){const s=t[n],r=e[n];if(typeof s=="string"){if(s!==r)return!1}else if(!Ye(r)||r.length!==s.length||s.some((o,i)=>o.valueOf()!==r[i].valueOf()))return!1}return!0}function zo(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const $o=(e,t,n)=>e??t??n,Rf=un({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=Ke(vr),r=W(()=>e.route||s.value),o=Ke(Lo,0),i=W(()=>{let u=Ie(o);const{matched:a}=r.value;let f;for(;(f=a[u])&&!f.components;)u++;return u}),l=W(()=>r.value.matched[i.value]);Zn(Lo,W(()=>i.value+1)),Zn(Zu,l),Zn(vr,r);const c=we();return tn(()=>[c.value,l.value,e.name],([u,a,f],[p,m,y])=>{a&&(a.instances[f]=u,m&&m!==a&&u&&u===p&&(a.leaveGuards.size||(a.leaveGuards=m.leaveGuards),a.updateGuards.size||(a.updateGuards=m.updateGuards))),u&&a&&(!m||!cn(a,m)||!p)&&(a.enterCallbacks[f]||[]).forEach(_=>_(u))},{flush:"post"}),()=>{const u=r.value,a=e.name,f=l.value,p=f&&f.components[a];if(!p)return Ko(n.default,{Component:p,route:u});const m=f.props[a],y=m?m===!0?u.params:typeof m=="function"?m(u):m:null,v=ll(p,ee({},y,t,{onVnodeUnmounted:S=>{S.component.isUnmounted&&(f.instances[a]=null)},ref:c}));return Ko(n.default,{Component:v,route:u})||v}}});function Ko(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const xf=Rf;function Cf(e){const t=mf(e.routes,e),n=e.parseQuery||Yu,s=e.stringifyQuery||Do,r=e.history,o=gn(),i=gn(),l=gn(),c=ss(At);let u=At;Zt&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const a=Ws.bind(null,A=>""+A),f=Ws.bind(null,ju),p=Ws.bind(null,Fn);function m(A,j){let M,F;return El(A)?(M=t.getRecordMatcher(A),F=j):F=A,t.addRoute(F,M)}function y(A){const j=t.getRecordMatcher(A);j&&t.removeRoute(j)}function _(){return t.getRoutes().map(A=>A.record)}function v(A){return!!t.getRecordMatcher(A)}function S(A,j){if(j=ee({},j||c.value),typeof A=="string"){const g=Js(n,A,j.path),E=t.resolve({path:g.path},j),R=r.createHref(g.fullPath);return ee(g,E,{params:p(E.params),hash:Fn(g.hash),redirectedFrom:void 0,href:R})}let M;if(A.path!=null)M=ee({},A,{path:Js(n,A.path,j.path).path});else{const g=ee({},A.params);for(const E in g)g[E]==null&&delete g[E];M=ee({},A,{params:f(g)}),j.params=f(j.params)}const F=t.resolve(M,j),J=A.hash||"";F.params=a(p(F.params));const d=Vu(s,ee({},A,{hash:Iu(J),path:F.path})),h=r.createHref(d);return ee({fullPath:d,hash:J,query:s===Do?Xu(A.query):A.query||{}},F,{redirectedFrom:void 0,href:h})}function w(A){return typeof A=="string"?Js(n,A,c.value.path):ee({},A)}function P(A,j){if(u!==A)return an(me.NAVIGATION_CANCELLED,{from:j,to:A})}function I(A){return L(A)}function D(A){return I(ee(w(A),{replace:!0}))}function oe(A,j){const M=A.matched[A.matched.length-1];if(M&&M.redirect){const{redirect:F}=M;let J=typeof F=="function"?F(A,j):F;return typeof J=="string"&&(J=J.includes("?")||J.includes("#")?J=w(J):{path:J},J.params={}),ee({query:A.query,hash:A.hash,params:J.path!=null?{}:A.params},J)}}function L(A,j){const M=u=S(A),F=c.value,J=A.state,d=A.force,h=A.replace===!0,g=oe(M,F);if(g)return L(ee(w(g),{state:typeof g=="object"?ee({},J,g.state):J,force:d,replace:h}),j||M);const E=M;E.redirectedFrom=j;let R;return!d&&ku(s,F,M)&&(R=an(me.NAVIGATION_DUPLICATED,{to:E,from:F}),Xe(F,F,!0,!1)),(R?Promise.resolve(R):X(E,F)).catch(b=>ht(b)?ht(b,me.NAVIGATION_GUARD_REDIRECT)?b:Oe(b):G(b,E,F)).then(b=>{if(b){if(ht(b,me.NAVIGATION_GUARD_REDIRECT))return L(ee({replace:h},w(b.to),{state:typeof b.to=="object"?ee({},J,b.to.state):J,force:d}),j||E)}else b=Ee(E,F,!0,h,J);return he(E,F,b),b})}function U(A,j){const M=P(A,j);return M?Promise.reject(M):Promise.resolve()}function k(A){const j=Kt.values().next().value;return j&&typeof j.runWithContext=="function"?j.runWithContext(A):A()}function X(A,j){let M;const[F,J,d]=ef(A,j);M=Ys(F.reverse(),"beforeRouteLeave",A,j);for(const g of F)g.leaveGuards.forEach(E=>{M.push(Pt(E,A,j))});const h=U.bind(null,A,j);return M.push(h),ze(M).then(()=>{M=[];for(const g of o.list())M.push(Pt(g,A,j));return M.push(h),ze(M)}).then(()=>{M=Ys(J,"beforeRouteUpdate",A,j);for(const g of J)g.updateGuards.forEach(E=>{M.push(Pt(E,A,j))});return M.push(h),ze(M)}).then(()=>{M=[];for(const g of d)if(g.beforeEnter)if(Ye(g.beforeEnter))for(const E of g.beforeEnter)M.push(Pt(E,A,j));else M.push(Pt(g.beforeEnter,A,j));return M.push(h),ze(M)}).then(()=>(A.matched.forEach(g=>g.enterCallbacks={}),M=Ys(d,"beforeRouteEnter",A,j,k),M.push(h),ze(M))).then(()=>{M=[];for(const g of i.list())M.push(Pt(g,A,j));return M.push(h),ze(M)}).catch(g=>ht(g,me.NAVIGATION_CANCELLED)?g:Promise.reject(g))}function he(A,j,M){l.list().forEach(F=>k(()=>F(A,j,M)))}function Ee(A,j,M,F,J){const d=P(A,j);if(d)return d;const h=j===At,g=Zt?history.state:{};M&&(F||h?r.replace(A.fullPath,ee({scroll:h&&g&&g.scroll},J)):r.push(A.fullPath,J)),c.value=A,Xe(A,j,M,h),Oe()}let V;function _e(){V||(V=r.listen((A,j,M)=>{if(!Nt.listening)return;const F=S(A),J=oe(F,Nt.currentRoute.value);if(J){L(ee(J,{replace:!0,force:!0}),F).catch(On);return}u=F;const d=c.value;Zt&&Ku(jo(d.fullPath,M.delta),Ms()),X(F,d).catch(h=>ht(h,me.NAVIGATION_ABORTED|me.NAVIGATION_CANCELLED)?h:ht(h,me.NAVIGATION_GUARD_REDIRECT)?(L(ee(w(h.to),{force:!0}),F).then(g=>{ht(g,me.NAVIGATION_ABORTED|me.NAVIGATION_DUPLICATED)&&!M.delta&&M.type===_r.pop&&r.go(-1,!1)}).catch(On),Promise.reject()):(M.delta&&r.go(-M.delta,!1),G(h,F,d))).then(h=>{h=h||Ee(F,d,!1),h&&(M.delta&&!ht(h,me.NAVIGATION_CANCELLED)?r.go(-M.delta,!1):M.type===_r.pop&&ht(h,me.NAVIGATION_ABORTED|me.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),he(F,d,h)}).catch(On)}))}let pe=gn(),Z=gn(),$;function G(A,j,M){Oe(A);const F=Z.list();return F.length?F.forEach(J=>J(A,j,M)):console.error(A),Promise.reject(A)}function ae(){return $&&c.value!==At?Promise.resolve():new Promise((A,j)=>{pe.add([A,j])})}function Oe(A){return $||($=!A,_e(),pe.list().forEach(([j,M])=>A?M(A):j()),pe.reset()),A}function Xe(A,j,M,F){const{scrollBehavior:J}=e;if(!Zt||!J)return Promise.resolve();const d=!M&&Gu(jo(A.fullPath,0))||(F||!M)&&history.state&&history.state.scroll||null;return As().then(()=>J(A,j,d)).then(h=>h&&$u(h)).catch(h=>G(h,A,j))}const Ne=A=>r.go(A);let $t;const Kt=new Set,Nt={currentRoute:c,listening:!0,addRoute:m,removeRoute:y,clearRoutes:t.clearRoutes,hasRoute:v,getRoutes:_,resolve:S,options:e,push:I,replace:D,go:Ne,back:()=>Ne(-1),forward:()=>Ne(1),beforeEach:o.add,beforeResolve:i.add,afterEach:l.add,onError:Z.add,isReady:ae,install(A){A.component("RouterLink",Ef),A.component("RouterView",xf),A.config.globalProperties.$router=Nt,Object.defineProperty(A.config.globalProperties,"$route",{enumerable:!0,get:()=>Ie(c)}),Zt&&!$t&&c.value===At&&($t=!0,I(r.location).catch(F=>{}));const j={};for(const F in At)Object.defineProperty(j,F,{get:()=>c.value[F],enumerable:!0});A.provide(Ns,Nt),A.provide(Hr,Ri(j)),A.provide(vr,c);const M=A.unmount;Kt.add(A),A.unmount=function(){Kt.delete(A),Kt.size<1&&(u=At,V&&V(),V=null,c.value=At,$t=!1,$=!1),M()}}};function ze(A){return A.reduce((j,M)=>j.then(()=>k(M)),Promise.resolve())}return Nt}function ud(){return Ke(Ns)}function Cl(e){return Ke(Hr)}const Of={viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},Pf=["d"],Go=un({__name:"Icon",props:{name:{}},setup(e){const t=e,n={home:"M3 11l9-8 9 8M5 10v10h5v-6h4v6h5V10",calendar:"M4 6h16v14H4zM4 10h16M8 3v5M16 3v5",book:"M5 4h10a3 3 0 013 3v13H8a3 3 0 01-3-3zM5 17a3 3 0 013-3h10",quiz:"M12 21a9 9 0 100-18 9 9 0 000 18zM9.5 9.5a2.5 2.5 0 114 2c-.9.6-1.5 1-1.5 2M12 17h.01",more:"M5 12h.01M12 12h.01M19 12h.01",flag:"M5 21V4M5 4h11l-2 4 2 4H5",grad:"M2 9l10-5 10 5-10 5zM6 11.5V16c0 1.5 3 3 6 3s6-1.5 6-3v-4.5",file:"M7 3h7l5 5v13H7zM14 3v5h5M10 13h6M10 17h6",slides:"M3 4h18v12H3zM12 16v4M8 20h8",user:"M12 12a4 4 0 100-8 4 4 0 000 8zM4 21c0-4 4-6 8-6s8 2 8 6",out:"M10 4H5v16h5M15 8l4 4-4 4M19 12H9",chevron:"M9 6l6 6-6 6","arrow-left":"M19 12H5M11 6l-6 6 6 6","arrow-right":"M5 12h14M13 6l6 6-6 6"};return(s,r)=>(We(),Xt("svg",Of,[Pe("path",{d:n[t.name]??""},null,8,Pf)]))}});class ts extends Error{constructor(n,s,r={}){super(s);Gt(this,"status");Gt(this,"errors");this.name="ApiError",this.status=n,this.errors=r}}const Xs="bm.token";class Tf{constructor(t,n){Gt(this,"local");Gt(this,"session");Gt(this,"memory",null);this.local=t,this.session=n}read(t){try{return t?.getItem(Xs)??null}catch{return null}}get(){return this.read(this.local)??this.read(this.session)??this.memory}get remembered(){return this.read(this.local)!==null}set(t,n){this.clear();try{(n?this.local:this.session)?.setItem(Xs,t)}catch{}this.get()===null&&(this.memory=t)}replace(t){this.set(t,this.remembered)}clear(){this.memory=null;for(const t of[this.local,this.session])try{t?.removeItem(Xs)}catch{}}}function If(e){const t=e.fetch??((...m)=>fetch(...m)),{tokens:n}=e;let s=null;function r(m,y){if(!y)return m;const _=new URLSearchParams;for(const[S,w]of Object.entries(y))w!=null&&w!==""&&_.set(S,String(w));const v=_.toString();return v?`${m}?${v}`:m}async function o(m,y){const _={Accept:"application/json"},v=n.get();y.auth!==!1&&v&&(_.Authorization=`Bearer ${v}`);let S;return y.body!==void 0&&(_["Content-Type"]="application/json",S=JSON.stringify(y.body)),t(r(m,y.query),{method:y.method??"GET",headers:_,body:S})}function i(){return s||(s=(async()=>{try{const m=await o("/_user/api/v1/refresh",{method:"POST"});if(!m.ok)return!1;const y=await m.json(),_=y.token??y.data?.token;return _?(n.replace(_),!0):!1}catch{return!1}finally{queueMicrotask(()=>{s=null})}})()),s}async function l(m){const y=await m.text();if(!y)return null;try{return JSON.parse(y)}catch{return null}}function c(m,y){const _=y??{},v=typeof _.error=="string"&&_.error||typeof _.message=="string"&&_.message||(m.status>=500?"Błąd serwera. Spróbuj ponownie za chwilę.":`Błąd ${m.status}`);return new ts(m.status,v,_.errors??{})}async function u(m,y){let _;const v=n.get();try{_=await o(m,y)}catch{throw new ts(0,"Brak połączenia z serwerem.")}if(_.status===401&&y.auth!==!1&&v){const S=n.get();if(S!==null&&S!==v?!0:await i())try{_=await o(m,y)}catch{throw new ts(0,"Brak połączenia z serwerem.")}_.status===401&&(n.clear(),e.onUnauthorized?.())}return _}async function a(m,y={}){const _=await u(m,y),v=await l(_);if(!_.ok)throw c(_,v);return v}async function f(m,y={}){const _=await u(m,y);if(!_.ok){const v=await l(_);throw c(_,v)}return _.blob()}async function p(m,y={}){const _=await a(m,y);return _&&typeof _=="object"&&"data"in _?_.data:_}return{request:p,raw:a,blob:f}}function Wo(e){try{return e()}catch{return null}}const Ct=new Tf(Wo(()=>window.localStorage),Wo(()=>window.sessionStorage));let Ol=()=>{};function Mf(e){Ol=e}const ne=If({tokens:Ct,onUnauthorized:()=>Ol()}),$e="/_user/api/v1",Lt={login:e=>ne.request(`${$e}/login`,{method:"POST",body:e,auth:!1}),register:e=>ne.request(`${$e}/register`,{method:"POST",body:e,auth:!1}),fetch:()=>ne.request(`${$e}/fetch`),logout:()=>ne.request(`${$e}/logout`,{method:"POST"}),forgotPassword:e=>ne.request(`${$e}/forgot-password`,{method:"POST",body:{email:e},auth:!1}),resetPassword:e=>ne.request(`${$e}/reset-password`,{method:"POST",body:e,auth:!1}),update:e=>ne.request(`${$e}/update`,{method:"POST",body:e}),changePassword:e=>ne.request(`${$e}/change-password`,{method:"POST",body:e}),oauthProviders:()=>ne.request(`${$e}/oauth-providers`,{auth:!1}),oauthComplete:e=>ne.request(`${$e}/oauth-complete?code=${encodeURIComponent(e)}`,{auth:!1}),oauthRegisterComplete:e=>ne.request(`${$e}/oauth-register-complete`,{method:"POST",body:e,auth:!1}),oauthLinkTicket:()=>ne.request(`${$e}/oauth-link-ticket`,{method:"POST"})},Nf="modulepreload",jf=function(e){return"/"+e},Jo={},ue=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){let c=function(u){return Promise.all(u.map(a=>Promise.resolve(a).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),l=i?.nonce||i?.getAttribute("nonce");r=c(n.map(u=>{if(u=jf(u),u in Jo)return;Jo[u]=!0;const a=u.endsWith(".css"),f=a?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${f}`))return;const p=document.createElement("link");if(p.rel=a?"stylesheet":Nf,a||(p.as="script"),p.crossOrigin="",p.href=u,l&&p.setAttribute("nonce",l),document.head.appendChild(p),a)return new Promise((m,y)=>{p.addEventListener("load",m),p.addEventListener("error",()=>y(new Error(`Unable to preload CSS for ${u}`)))})}))}function o(i){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=i,window.dispatchEvent(l),!l.defaultPrevented)throw i}return r.then(i=>{for(const l of i||[])l.status==="rejected"&&o(l.reason);return t().catch(o)})},hs="bm.lastPilot";function js(){try{return window.localStorage}catch{return null}}function Pl(e){return typeof e=="string"&&e.trim()!==""&&e.length<=255&&!e.includes("/")}function fd(e,t=js()){if(!(!t||!Pl(e)))try{t.setItem(hs,e)}catch{}}function Df(e=js()){if(!e)return null;try{const t=e.getItem(hs);return Pl(t)?t:null}catch{return null}}function dd(e,t=js()){if(t)try{t.getItem(hs)===e&&t.removeItem(hs)}catch{}}function Lf(e=js()){const t=Df(e);return t?{name:"presentation-remote",params:{slug:t}}:{name:"my-presentations"}}const Bt=Cf({history:rf("/"),scrollBehavior:(e,t,n)=>e.meta.bare?!1:n??(e.hash?{el:e.hash,top:12}:e.path===t.path?void 0:{top:0}),routes:[{path:"/logowanie",name:"login",component:()=>ue(()=>import("./LoginView-DIA9DBI0.js"),__vite__mapDeps([0,1,2])),meta:{public:!0,guest:!0,title:"Logowanie"}},{path:"/rejestracja",name:"register",component:()=>ue(()=>import("./RegisterView-lhSRmx1q.js"),__vite__mapDeps([3,1])),meta:{public:!0,guest:!0,title:"Rejestracja"}},{path:"/przypomnij-haslo",name:"forgot",component:()=>ue(()=>import("./ForgotView-D20j7bAj.js"),__vite__mapDeps([4,1])),meta:{public:!0,title:"Przypomnienie hasła"}},{path:"/auth/oauth/callback",name:"oauth-callback",component:()=>ue(()=>import("./OAuthCallbackView-BkDBQb9b.js"),__vite__mapDeps([5,1,2])),meta:{public:!0,title:"Logowanie"}},{path:"/auth/oauth/rejestracja",name:"oauth-register",component:()=>ue(()=>import("./OAuthRegisterView-BcOTJs_M.js"),__vite__mapDeps([6,1])),meta:{public:!0,title:"Rejestracja"}},{path:"/reset-password",alias:"/reset-hasla",name:"reset",component:()=>ue(()=>import("./ResetView-C4utVpaV.js"),__vite__mapDeps([7,1])),meta:{public:!0,title:"Nowe hasło"}},{path:"/",name:"dashboard",component:()=>ue(()=>import("./DashboardView-78HUVahK.js"),__vite__mapDeps([8,9,10,11,12])),meta:{title:"Pulpit"}},{path:"/plan",name:"schedule",component:()=>ue(()=>import("./ScheduleView-bL2PUDX5.js"),__vite__mapDeps([13,9,10,11,12])),meta:{title:"Plan zajęć"}},{path:"/terminarz",name:"deadlines",component:()=>ue(()=>import("./DeadlinesView-Vbq9k0Gu.js"),__vite__mapDeps([14,9,10,11,12])),meta:{title:"Terminarz"}},{path:"/przedmioty",name:"courses",component:()=>ue(()=>import("./CoursesView-DqecOhmq.js"),__vite__mapDeps([15,9,10,11,12])),meta:{title:"Przedmioty"}},{path:"/przedmioty/:id(\\d+)",name:"course",component:()=>ue(()=>import("./CourseView-WRUNe9gZ.js"),__vite__mapDeps([16,9,10,17,12])),props:!0,meta:{title:"Przedmiot"}},{path:"/lektury",name:"readings",component:()=>ue(()=>import("./ReadingsView-BNCRraaT.js"),__vite__mapDeps([18,9,10,11,12,17])),meta:{title:"Lektury"}},{path:"/materialy",name:"materials",component:()=>ue(()=>import("./MaterialsView-DsBSXr8F.js"),__vite__mapDeps([19,9,12])),meta:{title:"Materiały"}},{path:"/materialy/:id(\\d+)",name:"material",component:()=>ue(()=>import("./MaterialView-DzPYlaMy.js"),__vite__mapDeps([20,9,10,12])),props:!0,meta:{title:"Materiał"}},{path:"/sylabusy",name:"syllabi",component:()=>ue(()=>import("./SyllabiView-BIqZ2Wb2.js"),__vite__mapDeps([21,9])),meta:{title:"Sylabusy"}},{path:"/quiz",redirect:"/quizy/powtorka-1-zjazd"},{path:"/quizy",name:"quizzes",component:()=>ue(()=>import("./QuizzesView-DeKcmh2I.js"),__vite__mapDeps([22,9,10,23,12])),meta:{title:"Quizy"}},{path:"/quizy/:slug",name:"quiz",component:()=>ue(()=>import("./QuizView-FDtinUZQ.js"),__vite__mapDeps([24,9,10,23,12])),props:!0,meta:{title:"Quiz"}},{path:"/wiecej",name:"more",component:()=>ue(()=>import("./MoreView-gh18oZnn.js"),__vite__mapDeps([25,9])),meta:{title:"Więcej"}},{path:"/profil",name:"profile",component:()=>ue(()=>import("./ProfileView-xiCAAcL3.js"),__vite__mapDeps([26,9,1,2])),meta:{title:"Profil"}},{path:"/moje-prezentacje",name:"my-presentations",component:()=>ue(()=>import("./MyPresentationsView-CSLrDLBr.js"),__vite__mapDeps([27,9,10,28,12])),meta:{title:"Moje prezentacje"}},{path:"/moje-prezentacje/:slug",name:"presentation-speaker",component:()=>ue(()=>import("./PresentationSpeakerView-pigZ-SyA.js"),__vite__mapDeps([29,28,30,31,32,33,34])),props:!0,meta:{bare:!0,title:"Prezentacja"}},{path:"/moje-prezentacje/:slug/pilot",name:"presentation-remote",component:()=>ue(()=>import("./PresentationRemoteView-oNdFMrn-.js"),__vite__mapDeps([35,28,33,36,37,32])),props:!0,meta:{bare:!0,title:"Pilot"}},{path:"/pilot",name:"pilot",redirect:()=>Lf()},{path:"/prezentacje/:slugHash",name:"presentation-public",component:()=>ue(()=>import("./PresentationPublicView-B31TiTsT.js"),__vite__mapDeps([38,28,30,31,32,39])),props:!0,meta:{public:!0,bare:!0,title:"Prezentacja"}},{path:"/:rest(.*)*",name:"notfound",component:()=>ue(()=>import("./NotFoundView-odJEBny0.js"),__vite__mapDeps([40,36])),meta:{title:"Nie znaleziono"}}]});Bt.beforeEach(async e=>{const t=Nl();return t.ready||await t.restore(e),!e.meta.public&&!t.loggedIn?{name:"login",query:e.fullPath==="/"?{}:{redirect:e.fullPath}}:e.meta.guest&&t.loggedIn?{name:"dashboard"}:!0});Bt.afterEach(e=>{const t=e.meta.title;document.title=t?`${t} · BM II°`:"BM II°"});const Re="/_bm/api/v1",Te={dashboard:()=>ne.request(`${Re}/dashboard`),courses:e=>ne.request(`${Re}/courses`,{query:{semester:e}}),course:e=>ne.request(`${Re}/courses/${e}`),schedule:(e,t)=>ne.request(`${Re}/schedule`,{query:{from:e,to:t}}),meetings:()=>ne.request(`${Re}/meetings`),deadlines:(e,t)=>ne.request(`${Re}/deadlines`,{query:{from:e,to:t}}),readings:e=>ne.request(`${Re}/readings`,{query:{course:e}}),markRead:e=>ne.request(`${Re}/readings/${e}/progress`,{method:"PUT"}),unmarkRead:e=>ne.request(`${Re}/readings/${e}/progress`,{method:"DELETE"}),markOwned:e=>ne.request(`${Re}/readings/${e}/owned`,{method:"PUT"}),unmarkOwned:e=>ne.request(`${Re}/readings/${e}/owned`,{method:"DELETE"}),materials:(e={})=>ne.raw(`${Re}/materials`,{query:{...e}}),material:e=>ne.request(`${Re}/materials/${e}`),calendarFeed:()=>ne.request(`${Re}/calendar-feed`),saveCalendarFeed:e=>ne.request(`${Re}/calendar-feed`,{method:"PUT",body:e}),rotateCalendarFeed:()=>ne.request(`${Re}/calendar-feed/rotate`,{method:"POST"}),deleteCalendarFeed:()=>ne.request(`${Re}/calendar-feed`,{method:"DELETE"})},Vf={"historia-koncepcje":"Historia / koncepcje wojny i pokoju",specjalnosc:"Specjalność"};function hd(e){return Vf[e]??e}function Br(e){const t=new Map;for(const n of e){if(!n.elective_group)continue;const s=t.get(n.elective_group)??[];s.includes(n.name)||s.push(n.name),t.set(n.elective_group,s)}return[...t].map(([n,s])=>({code:n,options:s}))}function kf(e,t){const n={};for(const s of Br(e)){const r=t[s.code];r&&s.options.includes(r)&&(n[s.code]=r)}return n}function Ff(e,t){if(!e.elective_group)return!1;const n=t[e.elective_group];return n!==void 0&&n!==e.name}function Tl(e,t,n=!1){const s=new Set;if(n)return s;for(const r of e)Ff(r,t)&&s.add(r.id);return s}function Zs(e,t){return t.size===0?e:e.filter(n=>n.course_id===null||!t.has(n.course_id))}function Hf(e,t){return Br(e).filter(n=>n.options.length>1&&!t[n.code])}function pd(e,t){return!!e.elective_group&&!t[e.elective_group]}const Qo="bm.showAllElectives";function Yo(e){try{return localStorage.getItem(e)}catch{return null}}function Xo(e,t){try{localStorage.setItem(e,t)}catch{}}const Pn=fn("electives",()=>{const e=we({}),t=we(Yo(Qo)==="1"),n=we(null),s=()=>n.value===null?null:`bm.electives.${n.value}`,r=()=>{const f=s();f&&Xo(f,JSON.stringify(e.value))};function o(f){n.value=f;try{const p=JSON.parse(Yo(`bm.electives.${f}`)??"{}");e.value=p&&typeof p=="object"?p:{}}catch{e.value={}}}const i=W(()=>Object.keys(e.value).length>0);function l(f,p){const m={...e.value};p===null?delete m[f]:m[f]=p,e.value=m,r()}function c(f){t.value=f,Xo(Qo,f?"1":"0")}function u(f){const p=kf(f,e.value);Object.keys(p).length!==Object.keys(e.value).length&&(e.value=p,r())}function a(){e.value={},n.value=null}return{choices:e,showAll:t,userId:n,hasChoices:i,load:o,choose:l,setShowAll:c,prune:u,reset:a}}),ps=fn("toast",()=>{const e=we("");let t;function n(r,o=4e3){e.value=r,clearTimeout(t),t=setTimeout(()=>e.value="",o)}function s(){e.value=""}return{message:e,show:n,clear:s}});function sn(e){return e instanceof ts?e.message:"Nie udało się wczytać danych."}function Qt(e){const t=ss(null),n=we(!1),s=we("");let r=null;function o(l=!1){return r||(t.value!==null&&!l?Promise.resolve():(n.value=!0,s.value="",r=e().then(c=>{t.value=c}).catch(c=>{s.value=sn(c)}).finally(()=>{n.value=!1,r=null}),r))}function i(){t.value=null,s.value="",n.value=!1,r=null}return{data:t,loading:n,error:s,load:o,reset:i}}const Zo="2000-01-01",Il=fn("bm",()=>{const e=Qt(()=>Te.courses()),t=Qt(()=>Te.meetings()),n=Qt(()=>Te.schedule(Zo)),s=Qt(()=>Te.deadlines(Zo)),r=Qt(()=>Te.readings()),o=Qt(()=>Te.dashboard()),i=W(()=>e.data.value),l=W(()=>t.data.value),c=W(()=>o.data.value),u=Pn(),a=W(()=>Br(i.value??[])),f=W(()=>Hf(i.value??[],u.choices)),p=W(()=>Tl(i.value??[],u.choices,u.showAll)),m=W(()=>Zs(n.data.value??[],p.value)),y=W(()=>Zs(s.data.value??[],p.value)),_=W(()=>Zs(r.data.value??[],p.value)),v=W(()=>r.data.value??[]),S=W(()=>(i.value??[]).filter(V=>!p.value.has(V.id))),w=W(()=>{const V=_.value,_e=V.filter(pe=>pe.is_required);return{total:V.length,read:V.filter(pe=>pe.read_at).length,requiredTotal:_e.length,requiredRead:_e.filter(pe=>pe.read_at).length}}),P=W(()=>new Map((i.value??[]).map(V=>[V.id,V])));async function I(V=!1){await e.load(V),e.data.value&&u.prune(e.data.value)}async function D(V,_e){const pe=r.data.value,Z=pe?.find(ae=>ae.id===V);if(!pe||!Z)return;const $=Z.read_at,G=ae=>{r.data.value=pe.map(Oe=>Oe.id===V?{...Oe,read_at:ae}:Oe)};G(_e?new Date().toISOString():null);try{const ae=_e?await Te.markRead(V):await Te.unmarkRead(V);G(ae.read_at)}catch(ae){G($),ps().show(`Nie udało się zapisać zmiany. ${sn(ae)}`)}}async function oe(V,_e){const pe=r.data.value,Z=pe?.find(ae=>ae.id===V);if(!pe||!Z)return;const $=Z.owned_at,G=ae=>{r.data.value=pe.map(Oe=>Oe.id===V?{...Oe,owned_at:ae}:Oe)};G(_e?new Date().toISOString():null);try{const ae=_e?await Te.markOwned(V):await Te.unmarkOwned(V);G(ae.owned_at)}catch(ae){G($),ps().show(`Nie udało się zapisać zmiany. ${sn(ae)}`)}}const L=[e,t,n,s,r,o],U=W(()=>L.some(V=>V.loading.value)),k=W(()=>L.find(V=>V.error.value)?.error.value??""),X=W(()=>({courses:e.data.value!==null,meetings:t.data.value!==null,schedule:n.data.value!==null,deadlines:s.data.value!==null,readings:r.data.value!==null,dashboard:o.data.value!==null}));function he(){for(const V of L)V.error.value&&V.load(!0)}function Ee(){for(const V of L)V.reset()}return{courses:i,electiveGroups:a,pendingElectives:f,hidden:p,meetings:l,dashboard:c,schedule:m,deadlines:y,readings:_,allReadings:v,visibleCourses:S,readingStats:w,courseById:P,loading:U,error:k,loaded:X,retry:he,loadCourses:I,loadMeetings:(V=!1)=>t.load(V),loadSchedule:(V=!1)=>n.load(V),loadDeadlines:(V=!1)=>s.load(V),loadReadings:(V=!1)=>r.load(V),loadDashboard:(V=!1)=>o.load(V),toggleReading:D,toggleOwned:oe,reset:Ee}});function Bf(e,t){return[...Tl(e,t,!1)].sort((n,s)=>n-s)}function Uf(e,t){if(e.length!==t.length)return!1;const n=[...e].sort((r,o)=>r-o),s=[...t].sort((r,o)=>r-o);return n.every((r,o)=>r===s[o])}async function md(e){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(e),!0}catch{}try{const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="fixed",t.style.top="-1000px",document.body.appendChild(t),t.select();const n=document.execCommand("copy");return document.body.removeChild(t),n}catch{return!1}}const Ml=fn("calendarFeed",()=>{const e=we(void 0),t=we(!1),n=we(!1),s=we(""),r=Il(),o=Pn();let i=Promise.resolve();function l(S){const w=i.then(S,S);return i=w.catch(()=>{}),w}async function c(S=!1){if(!(e.value!==void 0&&!S)){t.value=!0,s.value="";try{e.value=await Te.calendarFeed()}catch(w){s.value=sn(w)}finally{t.value=!1}}}async function u(){await r.loadCourses();const S=r.courses;return S?Bf(S,o.choices):null}async function a(S){n.value=!0,s.value="";try{await l(S)}catch(w){s.value=sn(w)}finally{n.value=!1}}function f(){return a(async()=>{const S=await u();e.value=await Te.saveCalendarFeed(S?{excluded_course_ids:S}:{})})}function p(S){return a(async()=>{e.value=await Te.saveCalendarFeed(S)})}function m(){return a(async()=>{e.value=await Te.rotateCalendarFeed()})}function y(){return a(async()=>{await Te.deleteCalendarFeed(),e.value=null})}function _(){return l(async()=>{e.value===void 0&&await c();const S=e.value;if(!S)return;const w=await u();if(!(!w||Uf(w,S.excluded_course_ids)))try{e.value=await Te.saveCalendarFeed({excluded_course_ids:w})}catch(P){ps().show(`Nie udało się zaktualizować kalendarza. ${sn(P)}`)}})}tn(()=>o.choices,()=>{o.userId!==null&&_()});function v(){e.value=void 0,s.value="",t.value=!1,n.value=!1}return{feed:e,loading:t,busy:n,error:s,load:c,create:f,save:p,rotate:m,remove:y,sync:_,reset:v}});let er=null;const Nl=fn("auth",()=>{const e=we(null),t=we(Ct.get()),n=we(!1),s=W(()=>t.value!==null),r=W(()=>{const v=e.value;return v?[v.name,v.surname].filter(Boolean).join(" ")||v.email:""});function o(v,S,w){Ct.set(v,w),t.value=Ct.get(),S&&(e.value=S,Pn().load(S.id))}function i(){Ct.clear(),t.value=null,e.value=null,Il().reset(),Pn().reset(),Ml().reset()}async function l(v){v&&(er={public:v.meta.public===!0,fullPath:v.fullPath});try{if(Ct.get())try{const S=await Lt.fetch();e.value=S.user,t.value=Ct.get(),Pn().load(S.user.id)}catch{Ct.get()||i()}n.value=!0}finally{er=null}}async function c(v,S,w){const P=await Lt.login({email:v,password:S});o(P.token,P.user,w)}async function u(v,S){const w=await Lt.register(v);return w.token?(o(w.token,w.user,S),{signedIn:!0,message:""}):{signedIn:!1,message:w.message??""}}function a(v){return o(v.token,v.user,!0),{action:v.action,returnTo:v.return_to}}async function f(v){return a(await Lt.oauthComplete(v))}async function p(v){return a(await Lt.oauthRegisterComplete(v))}async function m(){try{await Lt.logout()}catch{}i(),await Bt.push({name:"login"})}async function y(v){const S=await Lt.update(v);e.value=S.user}function _(){const v=er??{public:Bt.currentRoute.value.meta.public===!0,fullPath:Bt.currentRoute.value.fullPath},S=s.value||e.value!==null;i(),S&&!v.public&&Bt.push({name:"login",query:{redirect:v.fullPath,expired:"1"}})}return Mf(_),{user:e,token:t,ready:n,loggedIn:s,displayName:r,restore:l,login:c,register:u,completeOAuth:f,completeOAuthRegistration:p,logout:m,updateProfile:y}});let tr=!1;const jl=fn("pwa",()=>{const e=we(!1),t=ss(null),n=ss(null);let s=!1;const r=W(()=>!e.value&&t.value!==null),o=W(()=>n.value!==null);function i(){s||typeof window>"u"||(s=!0,e.value=window.matchMedia?.("(display-mode: standalone)").matches===!0||navigator.standalone===!0,window.addEventListener("beforeinstallprompt",f=>{f.preventDefault(),t.value=f}),window.addEventListener("appinstalled",()=>{e.value=!0,t.value=null}),"serviceWorker"in navigator&&(document.readyState==="complete"?l():window.addEventListener("load",l,{once:!0})))}async function l(){const f=navigator.serviceWorker;f.addEventListener("controllerchange",()=>{tr&&(tr=!1,window.location.reload())});try{const p=await f.register("/sw.js",{scope:"/",updateViaCache:"none"});p.waiting&&f.controller&&(n.value=p.waiting),p.addEventListener("updatefound",()=>{const m=p.installing;m&&m.addEventListener("statechange",()=>{m.state==="installed"&&f.controller&&(n.value=m)})}),document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&p.update().catch(()=>{})})}catch{}}async function c(){const f=t.value;if(f){t.value=null;try{await f.prompt(),(await f.userChoice).outcome==="accepted"&&(e.value=!0)}catch{}}}function u(){const f=n.value;f&&(tr=!0,f.postMessage({type:"SKIP_WAITING"}))}function a(){n.value=null}return{installed:e,deferred:t,waiting:n,canInstall:r,updateReady:o,start:i,install:c,applyUpdate:u,dismissUpdate:a}}),qf={class:"shell"},zf={class:"sidebar"},$f={"aria-label":"Główna nawigacja"},Kf={class:"who"},Gf={class:"muted"},Wf={class:"main",id:"main"},Jf={class:"tabbar","aria-label":"Nawigacja"},Qf={key:0,class:"update-bar",role:"status","aria-live":"polite"},Yf=un({__name:"AppShell",setup(e){const t=Nl(),n=ps(),s=jl(),r=Cl();Ml();const o=[{to:"/",label:"Pulpit",icon:"home",match:["dashboard"]},{to:"/plan",label:"Plan zajęć",icon:"calendar",match:["schedule"]},{to:"/terminarz",label:"Terminarz",icon:"flag",match:["deadlines"]},{to:"/przedmioty",label:"Przedmioty",icon:"grad",match:["courses","course"]},{to:"/lektury",label:"Lektury",icon:"book",match:["readings"]},{to:"/materialy",label:"Materiały",icon:"file",match:["materials","material"]},{to:"/sylabusy",label:"Sylabusy",icon:"file",match:["syllabi"]},{to:"/quizy",label:"Quizy",icon:"quiz",match:["quizzes","quiz"]},{to:"/moje-prezentacje",label:"Moje prezentacje",icon:"slides",match:["my-presentations"]},{to:"/profil",label:"Profil",icon:"user",match:["profile"]}],i=[{to:"/",label:"Pulpit",icon:"home",match:["dashboard"]},{to:"/plan",label:"Plan",icon:"calendar",match:["schedule"]},{to:"/lektury",label:"Lektury",icon:"book",match:["readings"]},{to:"/quizy",label:"Quizy",icon:"quiz",match:["quizzes","quiz"]},{to:"/wiecej",label:"Więcej",icon:"more",match:["more","deadlines","courses","course","materials","material","syllabi","my-presentations","profile"]}],l=W(()=>String(r.name??"")),c=u=>u.includes(l.value);return(u,a)=>{const f=ki("router-link");return We(),Xt("div",qf,[Pe("aside",zf,[fe(f,{to:"/",class:"brand"},{default:An(()=>[...a[4]||(a[4]=[Pe("span",{class:"eyebrow"},"UWr · ISMiB",-1),Pe("b",null,"BM II°",-1)])]),_:1}),Pe("nav",$f,[(We(),Xt(Fe,null,ro(o,p=>fe(f,{key:p.to,to:p.to,class:Tn({active:c(p.match)}),"aria-current":c(p.match)?"page":void 0},{default:An(()=>[fe(Go,{name:p.icon},null,8,["name"]),dr(_n(p.label),1)]),_:2},1032,["to","class","aria-current"])),64))]),Pe("div",Kf,[Pe("span",Gf,_n(Ie(t).displayName),1),Ie(s).canInstall?(We(),Xt("button",{key:0,class:"btn small",type:"button",onClick:a[0]||(a[0]=p=>Ie(s).install())},"Zainstaluj aplikację")):po("",!0),Pe("button",{class:"btn small ghost",type:"button",onClick:a[1]||(a[1]=p=>Ie(t).logout())},"Wyloguj")])]),Pe("main",Wf,[Xc(u.$slots,"default")]),Pe("nav",Jf,[(We(),Xt(Fe,null,ro(i,p=>fe(f,{key:p.to,to:p.to,class:Tn({active:c(p.match)}),"aria-current":c(p.match)?"page":void 0},{default:An(()=>[fe(Go,{name:p.icon},null,8,["name"]),dr(_n(p.label),1)]),_:2},1032,["to","class","aria-current"])),64))]),Cc(Pe("div",{class:"toast",role:"status","aria-live":"polite"},_n(Ie(n).message),513),[[qa,Ie(n).message]]),Ie(s).updateReady?(We(),Xt("div",Qf,[a[5]||(a[5]=Pe("span",null,"Dostępna jest nowa wersja aplikacji.",-1)),Pe("button",{class:"btn small",type:"button",onClick:a[2]||(a[2]=p=>Ie(s).applyUpdate())},"Odśwież"),Pe("button",{class:"btn small ghost",type:"button",onClick:a[3]||(a[3]=p=>Ie(s).dismissUpdate())},"Później")])):po("",!0)])}}}),Xf=un({__name:"App",setup(e){const t=Cl(),n=W(()=>t.meta.public===!0||t.meta.bare===!0);return(s,r)=>{const o=ki("router-view");return n.value?(We(),Dn(o,{key:0})):(We(),Dn(Yf,{key:1},{default:An(()=>[fe(o)]),_:1}))}}}),Dl=mu();du(Xf).use(Dl).use(Bt).mount("#app");jl(Dl).start();export{Ct as $,ts as A,ro as B,Er as C,tn as D,Pn as E,Fe as F,pd as G,Te as H,sn as I,rd as J,Bn as K,zc as L,As as M,ne as N,jl as O,Df as P,Ml as Q,md as R,hd as S,Xc as T,jr as U,fd as V,dd as W,td as X,ue as Y,ed as Z,Go as _,Lt as a,qa as a0,id as a1,ld as a2,cd as a3,ad as a4,Pe as b,Xt as c,un as d,Ie as e,po as f,sd as g,od as h,fe as i,An as j,Cl as k,ki as l,ud as m,We as n,Bc as o,dr as p,ps as q,we as r,Dn as s,_n as t,Nl as u,nd as v,Cc as w,W as x,Il as y,Tn as z}; diff --git a/public/assets/index-BxuLaZe9.js b/public/assets/index-BxuLaZe9.js new file mode 100644 index 0000000..287513c --- /dev/null +++ b/public/assets/index-BxuLaZe9.js @@ -0,0 +1,5 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/LoginView-D6k636L5.js","assets/forms-Bd757Xmp.js","assets/oauth-zzthF4BZ.js","assets/RegisterView-CeAW-9ny.js","assets/ForgotView-BsFAZNMc.js","assets/OAuthCallbackView-bbZkPXN1.js","assets/OAuthRegisterView-BTIFwH1i.js","assets/ResetView-BvwkxYVA.js","assets/DashboardView--YjuMg1O.js","assets/PageHead.vue_vue_type_script_setup_true_lang-BvljxRM_.js","assets/LoadState.vue_vue_type_script_setup_true_lang-CZ3UpUyg.js","assets/ElectiveBar.vue_vue_type_script_setup_true_lang-BLN4Nv_F.js","assets/markdown-C6lfQdWc.js","assets/ScheduleView-B0J6x8_m.js","assets/scrollToHash-QnVc4MI-.js","assets/DeadlinesView-Ce4aNthG.js","assets/CoursesView-BS-GiROB.js","assets/CourseView-vpw6HNN6.js","assets/ReadingItem.vue_vue_type_script_setup_true_lang-Ca2rv9LR.js","assets/ReadingsView-wzprEHgG.js","assets/MaterialsView-BeOYfsO4.js","assets/MaterialView-D9oKrB12.js","assets/SyllabiView-LMQ1EEWf.js","assets/QuizzesView-D5m5l8D_.js","assets/quizzes-BK-v4h9-.js","assets/QuizView-B2lxCtn-.js","assets/MoreView-B_R4VRmO.js","assets/ProfileView-CfK0n4NA.js","assets/MyPresentationsView-B2-iuRVj.js","assets/presentations-B9A2ga-H.js","assets/PresentationSpeakerView-BRBQT0kX.js","assets/DeckViewer.vue_vue_type_style_index_0_lang-BNXzqXdd.js","assets/DeckViewer-CkU9_t5d.css","assets/700-D54I7Duj.css","assets/remote-BmhCoAgl.js","assets/PresentationSpeakerView-BSvpqjSO.css","assets/PresentationRemoteView-Ds5HWpgq.js","assets/_plugin-vue_export-helper-DlAUqK2U.js","assets/PresentationRemoteView-DVUglyxS.css","assets/PresentationPublicView-OxrAHE3z.js","assets/PresentationPublicView-BfVrlmS5.css","assets/NotFoundView-Cfgu1NYz.js"])))=>i.map(i=>d[i]); +var Gc=Object.defineProperty;var Wc=(e,t,n)=>t in e?Gc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var bn=(e,t,n)=>Wc(e,typeof t!="symbol"?t+"":t,n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function n(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function s(r){if(r.ep)return;r.ep=!0;const i=n(r);fetch(r.href,i)}})();function bi(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const we={},un=[],xt=()=>{},yl=()=>!1,Xs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),er=e=>e.startsWith("onUpdate:"),$e=Object.assign,wi=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Jc=Object.prototype.hasOwnProperty,me=(e,t)=>Jc.call(e,t),J=Array.isArray,Xt=e=>gs(e)==="[object Map]",Vt=e=>gs(e)==="[object Set]",to=e=>gs(e)==="[object Date]",ee=e=>typeof e=="function",xe=e=>typeof e=="string",lt=e=>typeof e=="symbol",ye=e=>e!==null&&typeof e=="object",vl=e=>(ye(e)||ee(e))&&ee(e.then)&&ee(e.catch),_l=Object.prototype.toString,gs=e=>_l.call(e),Yc=e=>gs(e).slice(8,-1),bl=e=>gs(e)==="[object Object]",tr=e=>xe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Yn=bi(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),nr=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},Qc=/-\w/g,et=nr(e=>e.replace(Qc,t=>t.slice(1).toUpperCase())),Zc=/\B([A-Z])/g,nn=nr(e=>e.replace(Zc,"-$1").toLowerCase()),sr=nr(e=>e.charAt(0).toUpperCase()+e.slice(1)),Cr=nr(e=>e?`on${sr(e)}`:""),Rt=(e,t)=>!Object.is(e,t),js=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},rr=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let no;const ir=()=>no||(no=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ei(e){if(J(e)){const t={};for(let n=0;nn.startsWith("/*")?"":n).split(Xc).forEach(n=>{if(n){const s=n.split(eu);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Tn(e){let t="";if(xe(e))t=e;else if(J(e))for(let n=0;nFt(n,t))}const Sl=e=>!!(e&&e.__v_isRef===!0),Kt=e=>xe(e)?e:e==null?"":J(e)||ye(e)&&(e.toString===_l||!ee(e.toString))?Sl(e)?Kt(e.value):JSON.stringify(e,Rl,2):String(e),Rl=(e,t)=>Sl(t)?Rl(e,t.value):Xt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[Or(s,i)+" =>"]=r,n),{})}:Vt(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Or(n))}:lt(t)?Or(t):ye(t)&&!J(t)&&!bl(t)?String(t):t,Or=(e,t="")=>{var n;return lt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let De;class Al{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&De&&(De.active?(this.parent=De,this.index=(De.scopes||(De.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const s=this.scopes.slice();for(t=0,n=s.length;t0&&--this._on===0){if(De===this)De=this.prevScope;else{let t=De;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n0)return;if(Zn){let t=Zn;for(Zn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Qn;){let t=Qn;for(Qn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Ml(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Il(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),xi(s),au(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function Qr(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Nl(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Nl(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===is)||(e.globalVersion=is,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Qr(e))))return;e.flags|=2;const t=e.dep,n=Ee,s=pt;Ee=e,pt=!0;try{Ml(e);const r=e.fn(e._value);(t.version===0||Rt(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Ee=n,pt=s,Il(e),e.flags&=-3}}function xi(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)xi(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function au(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let pt=!0;const Ll=[];function Bt(){Ll.push(pt),pt=!1}function Ut(){const e=Ll.pop();pt=e===void 0?!0:e}function io(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Ee;Ee=void 0;try{t()}finally{Ee=n}}}let is=0;class cu{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Ti{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Ee||!pt||Ee===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Ee)n=this.activeLink=new cu(Ee,this),Ee.deps?(n.prevDep=Ee.depsTail,Ee.depsTail.nextDep=n,Ee.depsTail=n):Ee.deps=Ee.depsTail=n,kl(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=Ee.depsTail,n.nextDep=void 0,Ee.depsTail.nextDep=n,Ee.depsTail=n,Ee.deps===n&&(Ee.deps=s)}return n}trigger(t){this.version++,is++,this.notify(t)}notify(t){Ri();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Ai()}}}function kl(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)kl(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Bs=new WeakMap,hn=Symbol(""),Zr=Symbol(""),os=Symbol("");function Ge(e,t,n){if(pt&&Ee){let s=Bs.get(e);s||Bs.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new Ti),r.map=s,r.key=n),r.track()}}function Dt(e,t,n,s,r,i){const o=Bs.get(e);if(!o){is++;return}const l=a=>{a&&a.trigger()};if(Ri(),t==="clear")o.forEach(l);else{const a=J(e),c=a&&tr(n);if(a&&n==="length"){const u=Number(s);o.forEach((f,p)=>{(p==="length"||p===os||!lt(p)&&p>=u)&&l(f)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),c&&l(o.get(os)),t){case"add":a?c&&l(o.get("length")):(l(o.get(hn)),Xt(e)&&l(o.get(Zr)));break;case"delete":a||(l(o.get(hn)),Xt(e)&&l(o.get(Zr)));break;case"set":Xt(e)&&l(o.get(hn));break}}Ai()}function uu(e,t){const n=Bs.get(e);return n&&n.get(t)}function wn(e){const t=ue(e);return t===e||(Ge(t,"iterate",os),ot(e))?t:Pt(e)?Tt(e)?t.map(n=>tn(dt(n))):t.map(tn):t.map(dt)}function or(e){return Ge(e=ue(e),"iterate",os),e}function Et(e,t){return Pt(e)?tn(Tt(e)?dt(t):t):dt(t)}const fu={__proto__:null,[Symbol.iterator](){return Ir(this,Symbol.iterator,e=>Et(this,e))},concat(...e){return wn(this).concat(...e.map(t=>J(t)?wn(t):t))},entries(){return Ir(this,"entries",e=>(e[1]=Et(this,e[1]),e))},every(e,t){return Ot(this,"every",e,t,void 0,arguments)},filter(e,t){return Ot(this,"filter",e,t,n=>n.map(s=>Et(this,s)),arguments)},find(e,t){return Ot(this,"find",e,t,n=>Et(this,n),arguments)},findIndex(e,t){return Ot(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ot(this,"findLast",e,t,n=>Et(this,n),arguments)},findLastIndex(e,t){return Ot(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ot(this,"forEach",e,t,void 0,arguments)},includes(...e){return Nr(this,"includes",e)},indexOf(...e){return Nr(this,"indexOf",e)},join(e){return wn(this).join(e)},lastIndexOf(...e){return Nr(this,"lastIndexOf",e)},map(e,t){return Ot(this,"map",e,t,void 0,arguments)},pop(){return Fn(this,"pop")},push(...e){return Fn(this,"push",e)},reduce(e,...t){return oo(this,"reduce",e,t)},reduceRight(e,...t){return oo(this,"reduceRight",e,t)},shift(){return Fn(this,"shift")},some(e,t){return Ot(this,"some",e,t,void 0,arguments)},splice(...e){return Fn(this,"splice",e)},toReversed(){return wn(this).toReversed()},toSorted(e){return wn(this).toSorted(e)},toSpliced(...e){return wn(this).toSpliced(...e)},unshift(...e){return Fn(this,"unshift",e)},values(){return Ir(this,"values",e=>Et(this,e))}};function Ir(e,t,n){const s=or(e),r=s[t]();return s!==e&&!ot(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=n(i.value)),i}),r}const du=Array.prototype;function Ot(e,t,n,s,r,i){const o=or(e),l=o!==e&&!ot(e),a=o[t];if(a!==du[t]){const f=a.apply(e,i);return l?dt(f):f}let c=n;o!==e&&(l?c=function(f,p){return n.call(this,Et(e,f),p,e)}:n.length>2&&(c=function(f,p){return n.call(this,f,p,e)}));const u=a.call(o,c,s);return l&&r?r(u):u}function oo(e,t,n,s){const r=or(e),i=r!==e&&!ot(e);let o=n,l=!1;r!==e&&(i?(l=s.length===0,o=function(c,u,f){return l&&(l=!1,c=Et(e,c)),n.call(this,c,Et(e,u),f,e)}):n.length>3&&(o=function(c,u,f){return n.call(this,c,u,f,e)}));const a=r[t](o,...s);return l?Et(e,a):a}function Nr(e,t,n){const s=ue(e);Ge(s,"iterate",os);const r=s[t](...n);return(r===-1||r===!1)&&lr(n[0])?(n[0]=ue(n[0]),s[t](...n)):r}function Fn(e,t,n=[]){Bt(),Ri();const s=ue(e)[t].apply(e,n);return Ai(),Ut(),s}const hu=bi("__proto__,__v_isRef,__isVue"),Dl=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(lt));function pu(e){lt(e)||(e=String(e));const t=ue(this);return Ge(t,"has",e),t.hasOwnProperty(e)}class jl{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?Ru:Fl:i?Vl:$l).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=J(t);if(!r){let a;if(o&&(a=fu[n]))return a;if(n==="hasOwnProperty")return pu}const l=Reflect.get(t,n,Me(t)?t:s);if((lt(n)?Dl.has(n):hu(n))||(r||Ge(t,"get",n),i))return l;if(Me(l)){const a=o&&tr(n)?l:l.value;return r&&ye(a)?ei(a):a}return ye(l)?r?ei(l):ys(l):l}}class zl extends jl{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];const o=J(t)&&tr(n);if(!this._isShallow){const c=Pt(i);if(!ot(s)&&!Pt(s)&&(i=ue(i),s=ue(s)),!o&&Me(i)&&!Me(s))return c||(i.value=s),!0}const l=o?Number(n)e,Ts=e=>Reflect.getPrototypeOf(e);function _u(e,t,n){return function(...s){const r=this.__v_raw,i=ue(r),o=Xt(i),l=e==="entries"||e===Symbol.iterator&&o,a=e==="keys"&&o,c=r[e](...s),u=n?Xr:t?tn:dt;return!t&&Ge(i,"iterate",a?Zr:hn),$e(Object.create(c),{next(){const{value:f,done:p}=c.next();return p?{value:f,done:p}:{value:l?[u(f[0]),u(f[1])]:u(f),done:p}}})}}function Ps(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function bu(e,t){const n={get(r){const i=this.__v_raw,o=ue(i),l=ue(r);e||(Rt(r,l)&&Ge(o,"get",r),Ge(o,"get",l));const{has:a}=Ts(o),c=t?Xr:e?tn:dt;if(a.call(o,r))return c(i.get(r));if(a.call(o,l))return c(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&Ge(ue(r),"iterate",hn),r.size},has(r){const i=this.__v_raw,o=ue(i),l=ue(r);return e||(Rt(r,l)&&Ge(o,"has",r),Ge(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,a=ue(l),c=t?Xr:e?tn:dt;return!e&&Ge(a,"iterate",hn),l.forEach((u,f)=>r.call(i,c(u),c(f),o))}};return $e(n,e?{add:Ps("add"),set:Ps("set"),delete:Ps("delete"),clear:Ps("clear")}:{add(r){const i=ue(this),o=Ts(i),l=ue(r),a=!t&&!ot(r)&&!Pt(r)?l:r;return o.has.call(i,a)||Rt(r,a)&&o.has.call(i,r)||Rt(l,a)&&o.has.call(i,l)||(i.add(a),Dt(i,"add",a,a)),this},set(r,i){!t&&!ot(i)&&!Pt(i)&&(i=ue(i));const o=ue(this),{has:l,get:a}=Ts(o);let c=l.call(o,r);c||(r=ue(r),c=l.call(o,r));const u=a.call(o,r);return o.set(r,i),c?Rt(i,u)&&Dt(o,"set",r,i):Dt(o,"add",r,i),this},delete(r){const i=ue(this),{has:o,get:l}=Ts(i);let a=o.call(i,r);a||(r=ue(r),a=o.call(i,r)),l&&l.call(i,r);const c=i.delete(r);return a&&Dt(i,"delete",r,void 0),c},clear(){const r=ue(this),i=r.size!==0,o=r.clear();return i&&Dt(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=_u(r,e,t)}),n}function Pi(e,t){const n=bu(e,t);return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(me(n,r)&&r in s?n:s,r,i)}const wu={get:Pi(!1,!1)},Eu={get:Pi(!1,!0)},Su={get:Pi(!0,!1)};const $l=new WeakMap,Vl=new WeakMap,Fl=new WeakMap,Ru=new WeakMap;function Au(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ys(e){return Pt(e)?e:Ci(e,!1,gu,wu,$l)}function Bl(e){return Ci(e,!1,vu,Eu,Vl)}function ei(e){return Ci(e,!0,yu,Su,Fl)}function Ci(e,t,n,s,r){if(!ye(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const i=r.get(e);if(i)return i;const o=Au(Yc(e));if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function Tt(e){return Pt(e)?Tt(e.__v_raw):!!(e&&e.__v_isReactive)}function Pt(e){return!!(e&&e.__v_isReadonly)}function ot(e){return!!(e&&e.__v_isShallow)}function lr(e){return e?!!e.__v_raw:!1}function ue(e){const t=e&&e.__v_raw;return t?ue(t):e}function Oi(e){return!me(e,"__v_skip")&&Object.isExtensible(e)&&wl(e,"__v_skip",!0),e}const dt=e=>ye(e)?ys(e):e,tn=e=>ye(e)?ei(e):e;function Me(e){return e?e.__v_isRef===!0:!1}function ne(e){return Ul(e,!1)}function Mn(e){return Ul(e,!0)}function Ul(e,t){return Me(e)?e:new xu(e,t)}class xu{constructor(t,n){this.dep=new Ti,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ue(t),this._value=n?t:dt(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||ot(t)||Pt(t);t=s?t:ue(t),Rt(t,n)&&(this._rawValue=t,this._value=s?t:dt(t),this.dep.trigger())}}function Ie(e){return Me(e)?e.value:e}function Rm(e){return ee(e)?e():Ie(e)}const Tu={get:(e,t,n)=>t==="__v_raw"?e:Ie(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return Me(r)&&!Me(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function ql(e){return Tt(e)?e:new Proxy(e,Tu)}function Pu(e){const t=J(e)?new Array(e.length):{};for(const n in e)t[n]=Ou(e,n);return t}class Cu{constructor(t,n,s){this._object=t,this._defaultValue=s,this.__v_isRef=!0,this._value=void 0,this._key=lt(n)?n:String(n),this._raw=ue(t);let r=!0,i=t;if(!J(t)||lt(this._key)||!tr(this._key))do r=!lr(i)||ot(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let t=this._object[this._key];return this._shallow&&(t=Ie(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Me(this._raw[this._key])){const n=this._object[this._key];if(Me(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return uu(this._raw,this._key)}}function Ou(e,t,n){return new Cu(e,t,n)}class Mu{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Ti(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=is-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&Ee!==this)return Ol(this,!0),!0}get value(){const t=this.dep.track();return Nl(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Iu(e,t,n=!1){let s,r;return ee(e)?s=e:(s=e.get,r=e.set),new Mu(s,r,n)}const Cs={},Us=new WeakMap;let an;function Nu(e,t=!1,n=an){if(n){let s=Us.get(n);s||Us.set(n,s=[]),s.push(e)}}function Lu(e,t,n=we){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:a}=n,c=k=>r?k:ot(k)||r===!1||r===0?jt(k,1):jt(k);let u,f,p,g,_=!1,b=!1;if(Me(e)?(f=()=>e.value,_=ot(e)):Tt(e)?(f=()=>c(e),_=!0):J(e)?(b=!0,_=e.some(k=>Tt(k)||ot(k)),f=()=>e.map(k=>{if(Me(k))return k.value;if(Tt(k))return c(k);if(ee(k))return a?a(k,2):k()})):ee(e)?t?f=a?()=>a(e,2):e:f=()=>{if(p){Bt();try{p()}finally{Ut()}}const k=an;an=u;try{return a?a(e,3,[g]):e(g)}finally{an=k}}:f=xt,t&&r){const k=f,F=r===!0?1/0:r;f=()=>jt(k(),F)}const E=Tl(),w=()=>{u.stop(),E&&E.active&&wi(E.effects,u)};if(i&&t){const k=t;t=(...F)=>{const le=k(...F);return w(),le}}let x=b?new Array(e.length).fill(Cs):Cs;const L=k=>{if(!(!(u.flags&1)||!u.dirty&&!k))if(t){const F=u.run();if(k||r||_||(b?F.some((le,V)=>Rt(le,x[V])):Rt(F,x))){p&&p();const le=an;an=u;try{const V=[F,x===Cs?void 0:b&&x[0]===Cs?[]:x,g];x=F,a?a(t,3,V):t(...V)}finally{an=le}}}else u.run()};return l&&l(L),u=new Pl(f),u.scheduler=o?()=>o(L,!1):L,g=k=>Nu(k,!1,u),p=u.onStop=()=>{const k=Us.get(u);if(k){if(a)a(k,4);else for(const F of k)F();Us.delete(u)}},t?s?L(!0):x=u.run():o?o(L.bind(null,!0),!0):u.run(),w.pause=u.pause.bind(u),w.resume=u.resume.bind(u),w.stop=w,w}function jt(e,t=1/0,n){if(t<=0||!ye(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Me(e))jt(e.value,t,n);else if(J(e))for(let s=0;s{jt(s,t,n)});else if(bl(e)){for(const s in e)jt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&jt(e[s],t,n)}return e}function vs(e,t,n,s){try{return s?e(...s):e()}catch(r){_s(r,t,n)}}function mt(e,t,n,s){if(ee(e)){const r=vs(e,t,n,s);return r&&vl(r)&&r.catch(i=>{_s(i,t,n)}),r}if(J(e)){const r=[];for(let i=0;i>>1,r=Ze[s],i=ls(r);i=ls(n)?Ze.push(e):Ze.splice(Du(t),0,e),e.flags|=1,Kl()}}function Kl(){qs||(qs=Hl.then(Wl))}function ju(e){if(!J(e))Jt&&e.id===-1?Jt.splice(Rn+1,0,e):e.flags&1||(Pn.push(e),e.flags|=1);else for(let t=0;tls(n)-ls(s));if(Pn.length=0,Jt){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function Wl(e){try{for(wt=0;wt{s._d&&Ws(-1);const i=Hs(t),o=$t.length;let l;try{l=e(...r)}finally{for(let a=$t.length;a>o;a--)zi();Hs(i),s._d&&Ws(1)}return l};return s._n=!0,s._c=!0,s._d=!0,s}function zu(e,t){if(Be===null)return e;const n=pr(Be),s=e.dirs||(e.dirs=[]);for(let r=0;r1)return n&&ee(t)?t.call(s&&s.proxy):t}}function $u(){return!!($i()||mn)}const Vu=Symbol.for("v-scx"),Fu=()=>ft(Vu);function pn(e,t,n){return Yl(e,t,n)}function Yl(e,t,n=we){const{immediate:s,deep:r,flush:i,once:o}=n,l=$e({},n),a=t&&s||!t&&i!=="post";let c;if(Nn){if(i==="sync"){const g=Fu();c=g.__watcherHandles||(g.__watcherHandles=[])}else if(!a){const g=()=>{};return g.stop=xt,g.resume=xt,g.pause=xt,g}}const u=Fe;l.call=(g,_,b)=>mt(g,u,_,b);let f=!1;i==="post"?l.scheduler=g=>{Ye(g,u&&u.suspense)}:i!=="sync"&&(f=!0,l.scheduler=(g,_)=>{_?g():Mi(g)}),l.augmentJob=g=>{t&&(g.flags|=4),f&&(g.flags|=2,u&&(g.id=u.uid,g.i=u))};const p=Lu(e,t,l);return Nn&&(c?c.push(p):a&&p()),p}function Bu(e,t,n){const s=this.proxy,r=xe(e)?e.includes(".")?Ql(s,e):()=>s[e]:e.bind(s,s);let i;ee(t)?i=t:(i=t.handler,n=t);const o=bs(this),l=Yl(r,i.bind(s),n);return o(),l}function Ql(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;re.__isTeleport,cn=e=>e&&(e.disabled||e.disabled===""),Uu=e=>e&&(e.defer||e.defer===""),ao=e=>typeof SVGElement<"u"&&e instanceof SVGElement,co=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,ti=(e,t)=>{const n=e&&e.to;return xe(n)?t?t(n):null:n},qu={name:"Teleport",__isTeleport:!0,process(e,t,n,s,r,i,o,l,a,c){const{mc:u,pc:f,pbc:p,o:{insert:g,querySelector:_,createText:b,createComment:E,parentNode:w}}=c,x=cn(t.props);let{dynamicChildren:L}=t;const k=(V,q,U)=>{V.shapeFlag&16&&u(V.children,q,U,r,i,o,l,a)},F=(V=t)=>{const q=cn(V.props),U=V.target=ti(V.props,_),ie=ni(U,V,b,g);U&&(o!=="svg"&&ao(U)?o="svg":o!=="mathml"&&co(U)&&(o="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(U),q||(k(V,U,ie),Gn(V,!1)))},le=V=>{const q=()=>{if(Gt.get(V)===q){if(Gt.delete(V),cn(V.props)){const U=w(V.el)||n;k(V,U,V.anchor),Gn(V,!0)}F(V)}};Gt.set(V,q),Ye(q,i)};if(e==null){const V=t.el=b(""),q=t.anchor=b("");if(g(V,n,s),g(q,n,s),Uu(t.props)||i&&i.pendingBranch){le(t);return}x&&(k(t,n,q),Gn(t,!0)),F()}else{t.el=e.el;const V=t.anchor=e.anchor,q=Gt.get(e);if(q){q.flags|=8,Gt.delete(e),le(t);return}t.targetStart=e.targetStart;const U=t.target=e.target,ie=t.targetAnchor=e.targetAnchor,I=cn(e.props),Se=I?n:U,B=I?V:ie;if(o==="svg"||ao(U)?o="svg":(o==="mathml"||co(U))&&(o="mathml"),L?(p(e.dynamicChildren,L,Se,r,i,o,l),ji(e,t,!0)):a||f(e,t,Se,B,r,i,o,l,!1),x)I?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Os(t,n,V,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const ve=ti(t.props,_);ve&&(t.target=ve,Os(t,ve,null,c,0))}else I&&Os(t,U,ie,c,1);Gn(t,x)}},remove(e,t,n,{um:s,o:{remove:r}},i){const{shapeFlag:o,children:l,anchor:a,targetStart:c,targetAnchor:u,target:f,props:p}=e,g=cn(p),_=i||!g,b=Gt.get(e);if(b&&(b.flags|=8,Gt.delete(e)),f&&(r(c),r(u)),i&&r(a),!b&&(g||f)&&o&16)for(let E=0;E1){for(const n of e)if(n.type!==Ct){t=n;break}}return t}function Xl(e){if(!ur(e))return cr(e.type)&&e.children?Ku(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ee(n.default))return n.default()}}function Ii(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Ii(cr(n.type)&&Xl(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function jn(e,t){return ee(e)?$e({name:e.name},t,{setup:e}):e}function xm(){const e=$i();return e?(e.appContext.config.idPrefix||"v")+"-"+e.ids[0]+e.ids[1]++:""}function Ni(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function uo(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Ks=new WeakMap;function es(e,t,n,s,r=!1){if(J(e)){e.forEach((b,E)=>es(b,t&&(J(t)?t[E]:t),n,s,r));return}if(Cn(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&es(e,t,n,s.component.subTree);return}const i=s.shapeFlag&4?pr(s.component):s.el,o=r?null:i,{i:l,r:a}=e,c=t&&t.r,u=l.refs===we?l.refs={}:l.refs,f=l.setupState,p=ue(f),g=f===we?yl:b=>uo(u,b)?!1:me(p,b),_=(b,E)=>!(E&&uo(u,E));if(c!=null&&c!==a){if(fo(t),xe(c))u[c]=null,g(c)&&(f[c]=null);else if(Me(c)){const b=t;_(c,b.k)&&(c.value=null),b.k&&(u[b.k]=null)}}if(ee(a))vs(a,l,12,[o,u]);else{const b=xe(a),E=Me(a);if(b||E){const w=()=>{if(e.f){const x=b?g(a)?f[a]:u[a]:_()||!e.k?a.value:u[e.k];if(r)J(x)&&wi(x,i);else if(J(x))x.includes(i)||x.push(i);else if(b)u[a]=[i],g(a)&&(f[a]=u[a]);else{const L=[i];_(a,e.k)&&(a.value=L),e.k&&(u[e.k]=L)}}else b?(u[a]=o,g(a)&&(f[a]=o)):E&&(_(a,e.k)&&(a.value=o),e.k&&(u[e.k]=o))};if(o){const x=()=>{w(),Ks.delete(e)};x.id=-1,Ks.set(e,x),Ye(x,n)}else fo(e),w()}}}function fo(e){const t=Ks.get(e);t&&(t.flags|=8,Ks.delete(e))}const ho=e=>e.nodeType===8;ir().requestIdleCallback;ir().cancelIdleCallback;function Gu(e,t){if(ho(e)&&e.data==="["){let n=1,s=e.nextSibling;for(;s;){if(s.nodeType===1){if(t(s)===!1)break}else if(ho(s))if(s.data==="]"){if(--n===0)break}else s.data==="["&&n++;s=s.nextSibling}}else t(e)}const Cn=e=>!!e.type.__asyncLoader;function Tm(e){ee(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:r=200,hydrate:i,timeout:o,suspensible:l=!0,onError:a}=e;let c=null,u,f=0;const p=()=>(f++,c=null,g()),g=()=>{let _;return c||(_=c=t().catch(b=>{if(b=b instanceof Error?b:new Error(String(b)),a)return new Promise((E,w)=>{a(b,()=>E(p()),()=>w(b),f+1)});throw b}).then(b=>_!==c&&c?c:(b&&(b.__esModule||b[Symbol.toStringTag]==="Module")&&(b=b.default),u=b,b)))};return jn({name:"AsyncComponentWrapper",__asyncLoader:g,__asyncHydrate(_,b,E){const w=_.isConnected;let x=!1;(b.bu||(b.bu=[])).push(()=>x=!0);const L=()=>{x||!_.parentNode||w&&!_.isConnected||E()},k=i?()=>{const F=i(L,le=>Gu(_,le));F&&(b.bum||(b.bum=[])).push(F)}:L;u?k():g().then(()=>!b.isUnmounted&&k())},get __asyncResolved(){return u},setup(){const _=Fe;if(Ni(_),u)return()=>Ms(u,_);const b=F=>{c=null,_s(F,_,13,!s)};if(l&&_.suspense||Nn)return g().then(F=>()=>Ms(F,_)).catch(F=>(b(F),()=>s?Ae(s,{error:F}):null));const E=ne(!1),w=ne(),x=ne(!!r);let L,k;return Li(()=>{L!=null&&clearTimeout(L),k!=null&&clearTimeout(k)}),r&&(k=setTimeout(()=>{_.isUnmounted||(x.value=!1)},r)),o!=null&&(L=setTimeout(()=>{if(!_.isUnmounted&&!E.value&&!w.value){const F=new Error(`Async component timed out after ${o}ms.`);b(F),w.value=F}},o)),g().then(()=>{_.isUnmounted||(E.value=!0,_.parent&&ur(_.parent.vnode)&&_.parent.update())}).catch(F=>{if(_.isUnmounted){c=null;return}b(F),w.value=F}),()=>{if(E.value&&u)return Ms(u,_);if(w.value&&s)return Ae(s,{error:w.value});if(n&&!x.value)return Ms(n,_)}}})}function Ms(e,t){const{ref:n,props:s,children:r,ce:i}=t.vnode,o=Ae(e,s,r);return o.ref=n,o.ce=i,delete t.vnode.ce,o}const ur=e=>e.type.__isKeepAlive;function Wu(e,t){ea(e,"a",t)}function Ju(e,t){ea(e,"da",t)}function ea(e,t,n=Fe){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(fr(t,s,n),n){let r=n.parent;for(;r&&r.parent;)ur(r.parent.vnode)&&Yu(s,t,n,r),r=r.parent}}function Yu(e,t,n,s){const r=fr(t,e,s,!0);Li(()=>{wi(s[t],r)},n)}function fr(e,t,n=Fe,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{Bt();const l=bs(n),a=mt(t,n,e,o);return l(),Ut(),a});return s?r.unshift(i):r.push(i),i}}const qt=e=>(t,n=Fe)=>{(!Nn||e==="sp")&&fr(e,(...s)=>t(...s),n)},Qu=qt("bm"),Zu=qt("m"),Xu=qt("bu"),ef=qt("u"),tf=qt("bum"),Li=qt("um"),nf=qt("sp"),sf=qt("rtg"),rf=qt("rtc");function of(e,t=Fe){fr("ec",e,t)}const lf="components";function ta(e,t){return cf(lf,e,!0,t)||e}const af=Symbol.for("v-ndc");function cf(e,t,n=!0,s=!1){const r=Be||Fe;if(r){const i=r.type;{const l=Gf(i,!1);if(l&&(l===t||l===et(t)||l===sr(et(t))))return i}const o=po(r[e]||i[e],t)||po(r.appContext[e],t);return!o&&s?i:o}}function po(e,t){return e&&(e[t]||e[et(t)]||e[sr(et(t))])}function mo(e,t,n,s){let r;const i=n,o=J(e);if(o||xe(e)){const l=o&&Tt(e);let a=!1,c=!1;l&&(a=!ot(e),c=Pt(e),e=or(e)),r=new Array(e.length);for(let u=0,f=e.length;ut(l,a,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let a=0,c=l.length;a0;return t!=="default"&&(c.name=t),tt(),cs(nt,null,[Ae("slot",c,s)],u?-2:64)}let o=e[t];o&&o._c&&(o._d=!1);const l=$t.length;tt();let a;try{const c=o&&na(o(n)),u=n.key||i||c&&c.key;a=cs(nt,{key:(u&&!lt(u)?u:`_${t}`)+(!c&&s?"_fb":"")},c||(s?s():[]),c&&e._===1?64:-2)}catch(c){for(let u=$t.length;u>l;u--)zi();throw c}finally{o&&o._c&&(o._d=!0)}return a.scopeId&&(a.slotScopeIds=[a.scopeId+"-s"]),a}function na(e){return e.some(t=>us(t)?!(t.type===Ct||t.type===nt&&!na(t.children)):!0)?e:null}const si=e=>e?wa(e)?pr(e):si(e.parent):null,ts=$e(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>si(e.parent),$root:e=>si(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ra(e),$forceUpdate:e=>e.f||(e.f=()=>{Mi(e.update)}),$nextTick:e=>e.n||(e.n=ar.bind(e.proxy)),$watch:e=>Bu.bind(e)}),kr=(e,t)=>e!==we&&!e.__isScriptSetup&&me(e,t),ff={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:a}=e;if(t[0]!=="$"){const p=o[t];if(p!==void 0)switch(p){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(kr(s,t))return o[t]=1,s[t];if(r!==we&&me(r,t))return o[t]=2,r[t];if(me(i,t))return o[t]=3,i[t];if(n!==we&&me(n,t))return o[t]=4,n[t];ri&&(o[t]=0)}}const c=ts[t];let u,f;if(c)return t==="$attrs"&&Ge(e.attrs,"get",""),c(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(n!==we&&me(n,t))return o[t]=4,n[t];if(f=a.config.globalProperties,me(f,t))return f[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return kr(r,t)?(r[t]=n,!0):s!==we&&me(s,t)?(s[t]=n,!0):me(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,props:i,type:o}},l){let a;return!!(n[l]||e!==we&&l[0]!=="$"&&me(e,l)||kr(t,l)||me(i,l)||me(s,l)||me(ts,l)||me(r.config.globalProperties,l)||(a=o.__cssModules)&&a[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:me(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function go(e){return J(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let ri=!0;function df(e){const t=ra(e),n=e.proxy,s=e.ctx;ri=!1,t.beforeCreate&&yo(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:a,inject:c,created:u,beforeMount:f,mounted:p,beforeUpdate:g,updated:_,activated:b,deactivated:E,beforeDestroy:w,beforeUnmount:x,destroyed:L,unmounted:k,render:F,renderTracked:le,renderTriggered:V,errorCaptured:q,serverPrefetch:U,expose:ie,inheritAttrs:I,components:Se,directives:B,filters:ve}=t;if(c&&hf(c,s,null),o)for(const Y in o){const te=o[Y];ee(te)&&(s[Y]=te.bind(n))}if(r){const Y=r.call(n,n);ye(Y)&&(e.data=ys(Y))}if(ri=!0,i)for(const Y in i){const te=i[Y],_e=ee(te)?te.bind(n,n):ee(te.get)?te.get.bind(n,n):xt,Te=!ee(te)&&ee(te.set)?te.set.bind(n):xt,je=X({get:_e,set:Te});Object.defineProperty(s,Y,{enumerable:!0,configurable:!0,get:()=>je.value,set:Pe=>je.value=Pe})}if(l)for(const Y in l)sa(l[Y],s,n,Y);if(a){const Y=ee(a)?a.call(n):a;Reflect.ownKeys(Y).forEach(te=>{zs(te,Y[te])})}u&&yo(u,e,"c");function oe(Y,te){J(te)?te.forEach(_e=>Y(_e.bind(n))):te&&Y(te.bind(n))}if(oe(Qu,f),oe(Zu,p),oe(Xu,g),oe(ef,_),oe(Wu,b),oe(Ju,E),oe(of,q),oe(rf,le),oe(sf,V),oe(tf,x),oe(Li,k),oe(nf,U),J(ie))if(ie.length){const Y=e.exposed||(e.exposed={});ie.forEach(te=>{Object.defineProperty(Y,te,{get:()=>n[te],set:_e=>n[te]=_e,enumerable:!0})})}else e.exposed||(e.exposed={});F&&e.render===xt&&(e.render=F),I!=null&&(e.inheritAttrs=I),Se&&(e.components=Se),B&&(e.directives=B),U&&Ni(e)}function hf(e,t,n=xt){J(e)&&(e=ii(e));for(const s in e){const r=e[s];let i;ye(r)?"default"in r?i=ft(r.from||s,r.default,!0):i=ft(r.from||s):i=ft(r),Me(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function yo(e,t,n){mt(J(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function sa(e,t,n,s){let r=s.includes(".")?Ql(n,s):()=>n[s];if(xe(e)){const i=t[e];ee(i)&&pn(r,i)}else if(ee(e))pn(r,e.bind(n));else if(ye(e))if(J(e))e.forEach(i=>sa(i,t,n,s));else{const i=ee(e.handler)?e.handler.bind(n):t[e.handler];ee(i)&&pn(r,i,e)}}function ra(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let a;return l?a=l:!r.length&&!n&&!s?a=t:(a={},r.length&&r.forEach(c=>Gs(a,c,o,!0)),Gs(a,t,o)),ye(t)&&i.set(t,a),a}function Gs(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&Gs(e,i,n,!0),r&&r.forEach(o=>Gs(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=pf[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const pf={data:vo,props:_o,emits:_o,methods:Wn,computed:Wn,beforeCreate:Je,created:Je,beforeMount:Je,mounted:Je,beforeUpdate:Je,updated:Je,beforeDestroy:Je,beforeUnmount:Je,destroyed:Je,unmounted:Je,activated:Je,deactivated:Je,errorCaptured:Je,serverPrefetch:Je,components:Wn,directives:Wn,watch:gf,provide:vo,inject:mf};function vo(e,t){return t?e?function(){return $e(ee(e)?e.call(this,this):e,ee(t)?t.call(this,this):t)}:t:e}function mf(e,t){return Wn(ii(e),ii(t))}function ii(e){if(J(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${et(t)}Modifiers`]||e[`${nn(t)}Modifiers`];function bf(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||we;let r=n;const i=t.startsWith("update:"),o=i&&_f(s,t.slice(7));o&&(o.trim&&(r=n.map(u=>xe(u)?u.trim():u)),o.number&&(r=r.map(rr)));let l,a=s[l=Cr(t)]||s[l=Cr(et(t))];!a&&i&&(a=s[l=Cr(nn(t))]),a&&mt(a,e,6,r);const c=s[l+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,mt(c,e,6,r)}}const wf=new WeakMap;function oa(e,t,n=!1){const s=n?wf:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!ee(e)){const a=c=>{const u=oa(c,t,!0);u&&(l=!0,$e(o,u))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!i&&!l?(ye(e)&&s.set(e,null),null):(J(i)?i.forEach(a=>o[a]=null):$e(o,i),ye(e)&&s.set(e,o),o)}function dr(e,t){return!e||!Xs(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),me(e,t[0].toLowerCase()+t.slice(1))||me(e,nn(t))||me(e,t))}function bo(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:a,render:c,renderCache:u,props:f,data:p,setupState:g,ctx:_,inheritAttrs:b}=e,E=Hs(e);let w,x;try{if(n.shapeFlag&4){const k=r||s,F=k;w=St(c.call(F,k,u,f,g,p,_)),x=l}else{const k=t;w=St(k.length>1?k(f,{attrs:l,slots:o,emit:a}):k(f,null)),x=t.props?l:Ef(l)}}catch(k){$t.length=0,_s(k,e,1),w=Ae(Ct)}let L=w;if(x&&b!==!1){const k=Object.keys(x),{shapeFlag:F}=L;k.length&&F&7&&(i&&k.some(er)&&(x=Sf(x,i)),L=In(L,x,!1,!0))}if(n.dirs&&(L=In(L,null,!1,!0),L.dirs=L.dirs?L.dirs.concat(n.dirs):n.dirs),n.transition){const k=cr(L.type)&&Xl(L)||L;Ii(k,n.transition)}return w=L,Hs(E),w}const Ef=e=>{let t;for(const n in e)(n==="class"||n==="style"||Xs(n))&&((t||(t={}))[n]=e[n]);return t},Sf=(e,t)=>{const n={};for(const s in e)(!er(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Rf(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:a}=t,c=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return s?wo(s,o,c):!!o;if(a&8){const u=t.dynamicProps;for(let f=0;fObject.create(aa),ua=e=>Object.getPrototypeOf(e)===aa;function xf(e,t,n,s=!1){const r={},i=ca();e.propsDefaults=Object.create(null),fa(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:Bl(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Tf(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=ue(r),[a]=e.propsOptions;let c=!1;if((s||o>0)&&!(o&16)){if(o&8){const u=e.vnode.dynamicProps;for(let f=0;f{a=!0;const[p,g]=da(f,t,!0);$e(o,p),g&&l.push(...g)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!i&&!a)return ye(e)&&s.set(e,un),un;if(J(i))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Di=e=>J(e)?e.map(St):[St(e)],Cf=(e,t,n)=>{if(t._n)return t;const s=Xn((...r)=>Di(t(...r)),n);return s._c=!1,s},ha=(e,t,n)=>{const s=e._ctx;for(const r in e){if(ki(r))continue;const i=e[r];if(ee(i))t[r]=Cf(r,i,s);else if(i!=null){const o=Di(i);t[r]=()=>o}}},pa=(e,t)=>{const n=Di(t);e.slots.default=()=>n},ma=(e,t,n)=>{for(const s in t)(n||!ki(s))&&(e[s]=t[s])},Of=(e,t,n)=>{const s=e.slots=ca();if(e.vnode.shapeFlag&32){const r=t._;r?(ma(s,t,n),n&&wl(s,"_",r,!0)):ha(t,s)}else t&&pa(e,t)},Mf=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=we;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:ma(r,t,n):(i=!t.$stable,ha(t,r)),o=t}else t&&(pa(e,t),o={default:1});if(i)for(const l in r)!ki(l)&&o[l]==null&&delete r[l]},Ye=Df;function If(e){return Nf(e)}function Nf(e,t){const n=ir();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:a,setText:c,setElementText:u,parentNode:f,nextSibling:p,setScopeId:g=xt,insertStaticContent:_}=e,b=(h,m,y,A=null,T=null,S=null,D=void 0,M=null,N=!!m.dynamicChildren)=>{if(h===m)return;h&&!Bn(h,m)&&(A=P(h),Pe(h,T,S,!0),h=null),m.patchFlag===-2&&(N=!1,m.dynamicChildren=null),m.dynamicChildren&&h&&h.dynamicChildren&&h.dynamicChildren.hasOnce&&(m.dynamicChildren===un&&(m.dynamicChildren=[]),m.dynamicChildren.hasOnce=!0);const{type:C,ref:W,shapeFlag:z}=m;switch(C){case hr:E(h,m,y,A);break;case Ct:w(h,m,y,A);break;case jr:h==null&&x(m,y,A,D);break;case nt:Se(h,m,y,A,T,S,D,M,N);break;default:z&1?F(h,m,y,A,T,S,D,M,N):z&6?B(h,m,y,A,T,S,D,M,N):(z&64||z&128)&&C.process(h,m,y,A,T,S,D,M,N,K)}W!=null&&T?es(W,h&&h.ref,S,m||h,!m):W==null&&h&&h.ref!=null&&es(h.ref,null,S,h,!0)},E=(h,m,y,A)=>{if(h==null)s(m.el=l(m.children),y,A);else{const T=m.el=h.el;m.children!==h.children&&c(T,m.children)}},w=(h,m,y,A)=>{h==null?s(m.el=a(m.children||""),y,A):m.el=h.el},x=(h,m,y,A)=>{[h.el,h.anchor]=_(h.children,m,y,A,h.el,h.anchor)},L=({el:h,anchor:m},y,A)=>{let T;for(;h&&h!==m;)T=p(h),s(h,y,A),h=T;s(m,y,A)},k=({el:h,anchor:m})=>{let y;for(;h&&h!==m;)y=p(h),r(h),h=y;r(m)},F=(h,m,y,A,T,S,D,M,N)=>{if(m.type==="svg"?D="svg":m.type==="math"&&(D="mathml"),h==null)le(m,y,A,T,S,D,M,N);else{const C=h.el&&h.el._isVueCE?h.el:null;try{C&&C._beginPatch(),U(h,m,T,S,D,M,N)}finally{C&&C._endPatch()}}},le=(h,m,y,A,T,S,D,M)=>{let N,C;const{props:W,shapeFlag:z,transition:G,dirs:Q}=h;if(N=h.el=o(h.type,S,W&&W.is,W),z&8?u(N,h.children):z&16&&q(h.children,N,null,A,T,Dr(h,S),D,M),Q&&sn(h,null,A,"created"),V(N,h,h.scopeId,D,A),W){for(const fe in W)fe!=="value"&&!Yn(fe)&&i(N,fe,null,W[fe],S,A);"value"in W&&i(N,"value",null,W.value,S),(C=W.onVnodeBeforeMount)&&bt(C,A,h)}Q&&sn(h,null,A,"beforeMount");const ae=Lf(T,G);ae&&G.beforeEnter(N),s(N,m,y),((C=W&&W.onVnodeMounted)||ae||Q)&&Ye(()=>{C&&bt(C,A,h),ae&&G.enter(N),Q&&sn(h,null,A,"mounted")},T)},V=(h,m,y,A,T)=>{if(y&&g(h,y),A)for(let S=0;S{for(let C=N;C{const M=m.el=h.el;let{patchFlag:N,dynamicChildren:C,dirs:W}=m;N|=h.patchFlag&16;const z=h.props||we,G=m.props||we;let Q;if(y&&rn(y,!1),(Q=G.onVnodeBeforeUpdate)&&bt(Q,y,m,h),W&&sn(m,h,y,"beforeUpdate"),y&&rn(y,!0),C&&(!h.dynamicChildren||h.dynamicChildren.length!==C.length)&&(N=0,D=!1,C=null),(z.innerHTML&&G.innerHTML==null||z.textContent&&G.textContent==null)&&u(M,""),C?ie(h.dynamicChildren,C,M,y,A,Dr(m,T),S):D||te(h,m,M,null,y,A,Dr(m,T),S,!1),N>0){if(N&16)I(M,z,G,y,T);else if(N&2&&z.class!==G.class&&i(M,"class",null,G.class,T),N&4&&i(M,"style",z.style,G.style,T),N&8){const ae=m.dynamicProps;for(let fe=0;fe{Q&&bt(Q,y,m,h),W&&sn(m,h,y,"updated")},A)},ie=(h,m,y,A,T,S,D)=>{for(let M=0;M{if(m!==y){if(m!==we)for(const S in m)!Yn(S)&&!(S in y)&&i(h,S,m[S],null,T,A);for(const S in y){if(Yn(S))continue;const D=y[S],M=m[S];D!==M&&S!=="value"&&i(h,S,M,D,T,A)}"value"in y&&i(h,"value",m.value,y.value,T)}},Se=(h,m,y,A,T,S,D,M,N)=>{const C=m.el=h?h.el:l(""),W=m.anchor=h?h.anchor:l("");let{patchFlag:z,dynamicChildren:G,slotScopeIds:Q}=m;Q&&(M=M?M.concat(Q):Q),h==null?(s(C,y,A),s(W,y,A),q(m.children||[],y,W,T,S,D,M,N)):z>0&&z&64&&G&&h.dynamicChildren&&h.dynamicChildren.length===G.length?(ie(h.dynamicChildren,G,y,T,S,D,M),(m.key!=null||T&&m===T.subTree)&&ji(h,m,!0)):te(h,m,y,W,T,S,D,M,N)},B=(h,m,y,A,T,S,D,M,N)=>{m.slotScopeIds=M,h==null?m.shapeFlag&512?T.ctx.activate(m,y,A,D,N):ve(m,y,A,T,S,D,N):ge(h,m,N)},ve=(h,m,y,A,T,S,D)=>{const M=h.component=Bf(h,A,T);if(ur(h)&&(M.ctx.renderer=K),Uf(M,!1,D),M.asyncDep){if(T&&T.registerDep(M,oe,D),!h.el){const N=M.subTree=Ae(Ct);w(null,N,m,y),h.placeholder=N.el}}else oe(M,h,m,y,T,S,D)},ge=(h,m,y)=>{const A=m.component=h.component;if(Rf(h,m,y))if(A.asyncDep&&!A.asyncResolved){m.el=h.el,Y(A,m,y);return}else A.next=m,A.update();else m.el=h.el,A.vnode=m},oe=(h,m,y,A,T,S,D)=>{const M=()=>{if(h.isMounted){let{next:z,bu:G,u:Q,parent:ae,vnode:fe}=h;{const ct=ga(h);if(ct){z&&(z.el=fe.el,Y(h,z,D)),ct.asyncDep.then(()=>{Ye(()=>{h.isUnmounted||C()},T)});return}}let he=z,Ce;rn(h,!1),z?(z.el=fe.el,Y(h,z,D)):z=fe,G&&js(G),(Ce=z.props&&z.props.onVnodeBeforeUpdate)&&bt(Ce,ae,z,fe),rn(h,!0);const Ne=bo(h),at=h.subTree;h.subTree=Ne,b(at,Ne,f(at.el),P(at),h,T,S),z.el=Ne.el,he===null&&Af(h,Ne.el),Q&&Ye(Q,T),(Ce=z.props&&z.props.onVnodeUpdated)&&Ye(()=>bt(Ce,ae,z,fe),T)}else{let z;const{el:G,props:Q}=m,{bm:ae,m:fe,parent:he,root:Ce,type:Ne}=h,at=Cn(m);rn(h,!1),ae&&js(ae),!at&&(z=Q&&Q.onVnodeBeforeMount)&&bt(z,he,m),rn(h,!0);{Ce.ce&&Ce.ce._hasShadowRoot()&&Ce.ce._injectChildStyle(Ne,h.parent?h.parent.type:void 0);const ct=h.subTree=bo(h);b(null,ct,y,A,h,T,S),m.el=ct.el}if(fe&&Ye(fe,T),!at&&(z=Q&&Q.onVnodeMounted)){const ct=m;Ye(()=>bt(z,he,ct),T)}(m.shapeFlag&256||he&&Cn(he.vnode)&&he.vnode.shapeFlag&256)&&h.a&&Ye(h.a,T),h.isMounted=!0,m=y=A=null}};h.scope.on();const N=h.effect=new Pl(M);h.scope.off();const C=h.update=N.run.bind(N),W=h.job=N.runIfDirty.bind(N);W.i=h,W.id=h.uid,N.scheduler=()=>Mi(W),rn(h,!0),C()},Y=(h,m,y)=>{m.component=h;const A=h.vnode.props;h.vnode=m,h.next=null,Tf(h,m.props,A,y),Mf(h,m.children,y),Bt(),lo(h),Ut()},te=(h,m,y,A,T,S,D,M,N=!1)=>{const C=h&&h.children,W=h?h.shapeFlag:0,z=m.children,{patchFlag:G,shapeFlag:Q}=m;if(G>0){if(G&128){Te(C,z,y,A,T,S,D,M,N);return}else if(G&256){_e(C,z,y,A,T,S,D,M,N);return}}Q&8?(W&16&&Ue(C,T,S),z!==C&&u(y,z)):W&16?Q&16?Te(C,z,y,A,T,S,D,M,N):Ue(C,T,S,!0):(W&8&&u(y,""),Q&16&&q(z,y,A,T,S,D,M,N))},_e=(h,m,y,A,T,S,D,M,N)=>{h=h||un,m=m||un;const C=h.length,W=m.length,z=Math.min(C,W);let G;for(G=0;GW?Ue(h,T,S,!0,!1,z):q(m,y,A,T,S,D,M,N,z)},Te=(h,m,y,A,T,S,D,M,N)=>{let C=0;const W=m.length;let z=h.length-1,G=W-1;for(;C<=z&&C<=G;){const Q=h[C],ae=m[C]=N?kt(m[C]):St(m[C]);if(Bn(Q,ae))b(Q,ae,y,null,T,S,D,M,N);else break;C++}for(;C<=z&&C<=G;){const Q=h[z],ae=m[G]=N?kt(m[G]):St(m[G]);if(Bn(Q,ae))b(Q,ae,y,null,T,S,D,M,N);else break;z--,G--}if(C>z){if(C<=G){const Q=G+1,ae=QG)for(;C<=z;)Pe(h[C],T,S,!0),C++;else{const Q=C,ae=C,fe=new Map;for(C=ae;C<=G;C++){const qe=m[C]=N?kt(m[C]):St(m[C]);qe.key!=null&&fe.set(qe.key,C)}let he,Ce=0;const Ne=G-ae+1;let at=!1,ct=0;const _t=new Array(Ne);for(C=0;C=Ne){Pe(qe,T,S,!0);continue}let We;if(qe.key!=null)We=fe.get(qe.key);else for(he=ae;he<=G;he++)if(_t[he-ae]===0&&Bn(qe,m[he])){We=he;break}We===void 0?Pe(qe,T,S,!0):(_t[We-ae]=C+1,We>=ct?ct=We:at=!0,b(qe,m[We],y,null,T,S,D,M,N),Ce++)}const ws=at?kf(_t):un;for(he=ws.length-1,C=Ne-1;C>=0;C--){const qe=ae+C,We=m[qe],vn=m[qe+1],Es=qe+1{const{el:S,type:D,transition:M,children:N,shapeFlag:C}=h;if(C&6){je(h.component.subTree,m,y,A);return}if(C&128){h.suspense.move(m,y,A);return}if(C&64){D.move(h,m,y,K);return}if(D===nt){s(S,m,y);for(let z=0;zM.enter(S),T));else{const{leave:z,delayLeave:G,afterLeave:Q}=M,ae=()=>{h.ctx.isUnmounted?r(S):s(S,m,y)},fe=()=>{const he=S._isLeaving||!!S[Lr];S._isLeaving&&S[Lr](!0),M.persisted&&!he?ae():z(S,()=>{ae(),Q&&Q()})};G?G(S,ae,fe):fe()}else s(S,m,y)},Pe=(h,m,y,A=!1,T=!1)=>{const{type:S,props:D,ref:M,children:N,dynamicChildren:C,shapeFlag:W,patchFlag:z,dirs:G,cacheIndex:Q,memo:ae}=h;if((z===-2||C&&C.hasOnce)&&(T=!1),M!=null&&(Bt(),es(M,null,y,h,!0),Ut()),Q!=null&&(!h.ctx||h.ctx===m)&&(m.renderCache[Q]=void 0),W&256){m.ctx.deactivate(h);return}const fe=W&1&&G,he=!Cn(h);let Ce;if(he&&(Ce=D&&D.onVnodeBeforeUnmount)&&bt(Ce,m,h),W&6)st(h.component,y,A);else{if(W&128){h.suspense.unmount(y,A);return}fe&&sn(h,null,m,"beforeUnmount"),W&64?h.type.remove(h,m,y,K,A):C&&!C.hasOnce&&(S!==nt||z>0&&z&64)?Ue(C,m,y,!1,!0):(S===nt&&z&384||!T&&W&16)&&Ue(N,m,y),A&&yt(h)}const Ne=ae!=null&&Q==null;(he&&(Ce=D&&D.onVnodeUnmounted)||fe||Ne)&&Ye(()=>{Ce&&bt(Ce,m,h),fe&&sn(h,null,m,"unmounted"),Ne&&(h.el=null)},y)},yt=h=>{const{type:m,el:y,anchor:A,transition:T}=h;if(m===nt){vt(y,A);return}if(m===jr){k(h),T&&!T.persisted&&T.afterLeave&&T.afterLeave();return}const S=()=>{r(y),T&&!T.persisted&&T.afterLeave&&T.afterLeave()};if(h.shapeFlag&1&&T&&!T.persisted){const{leave:D,delayLeave:M}=T,N=()=>D(y,S);M?M(h.el,S,N):N()}else S()},vt=(h,m)=>{let y;for(;h!==m;)y=p(h),r(h),h=y;r(m)},st=(h,m,y)=>{const{bum:A,scope:T,job:S,subTree:D,um:M,m:N,a:C}=h;So(N),So(C),A&&js(A),T.stop(),S?(S.flags|=8,Pe(D,h,m,y)):h.vnode.el&&D&&(D.transition=h.vnode.transition,Pe(D,h,m,y)),M&&Ye(M,m),Ye(()=>{h.isUnmounted=!0},m)},Ue=(h,m,y,A=!1,T=!1,S=0)=>{for(let D=S;D{if(h.shapeFlag&6)return P(h.component.subTree);if(h.shapeFlag&128)return h.suspense.next();const m=p(h.anchor||h.el),y=m&&m[Zl];return y?p(y):m};let $=!1;const j=(h,m,y)=>{let A;h==null?m._vnode&&(Pe(m._vnode,null,null,!0),A=m._vnode.component):b(m._vnode||null,h,m,null,null,null,y),m._vnode=h,$||($=!0,lo(A),Gl(),$=!1)},K={p:b,um:Pe,m:je,r:yt,mt:ve,mc:q,pc:te,pbc:ie,n:P,o:e};return{render:j,hydrate:void 0,createApp:vf(j)}}function Dr({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function rn({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Lf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ji(e,t,n=!1){const s=e.children,r=t.children;if(J(s)&&J(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function ga(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ga(t)}function So(e){if(e)for(let t=0;te.__isSuspense;function Df(e,t){t&&t.pendingBranch?J(e)?t.effects.push(...e):t.effects.push(e):ju(e)}const nt=Symbol.for("v-fgt"),hr=Symbol.for("v-txt"),Ct=Symbol.for("v-cmt"),jr=Symbol.for("v-stc"),$t=[];let it=null;function tt(e=!1){$t.push(it=e?null:[])}function zi(){$t.pop(),it=$t[$t.length-1]||null}let as=1;function Ws(e,t=!1){as+=e,e<0&&it&&t&&(it.hasOnce=!0)}function _a(e){return e.dynamicChildren=as>0?it||un:null,zi(),as>0&&it&&it.push(e),e}function It(e,t,n,s,r,i){return _a(ke(e,t,n,s,r,i,!0))}function cs(e,t,n,s,r){return _a(Ae(e,t,n,s,r,!0))}function us(e){return e?e.__v_isVNode===!0:!1}function Bn(e,t){return e.type===t.type&&e.key===t.key}const ba=({key:e})=>e??null,$s=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?xe(e)||Me(e)||ee(e)?{i:Be,r:e,k:t,f:!!n}:e:null);function ke(e,t=null,n=null,s=0,r=null,i=e===nt?0:1,o=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ba(t),ref:t&&$s(t),scopeId:Jl,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Be};return l?(Js(a,n),i&128&&e.normalize(a)):n&&(a.shapeFlag|=xe(n)?8:16),as>0&&!o&&it&&(a.patchFlag>0||i&6)&&a.patchFlag!==32&&it.push(a),a}const Ae=jf;function jf(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===af)&&(e=Ct),us(e)){const l=In(e,t,!0);return n&&Js(l,n),as>0&&!i&&it&&(l.shapeFlag&6?it[it.indexOf(e)]=l:it.push(l)),l.patchFlag=-2,l}if(Wf(e)&&(e=e.__vccOpts),t){t=zf(t);let{class:l,style:a}=t;l&&!xe(l)&&(t.class=Tn(l)),ye(a)&&(lr(a)&&!J(a)&&(a=$e({},a)),t.style=Ei(a))}const o=xe(e)?1:va(e)?128:cr(e)?64:ye(e)?4:ee(e)?2:0;return ke(e,t,n,s,r,o,i,!0)}function zf(e){return e?lr(e)||ua(e)?$e({},e):e:null}function In(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:a}=e,c=t?$f(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&ba(c),ref:t&&t.ref?n&&i?J(i)?i.concat($s(t)):[i,$s(t)]:$s(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==nt?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&In(e.ssContent),ssFallback:e.ssFallback&&In(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce,cacheIndex:e.cacheIndex};return a&&s&&Ii(u,a.clone(u)),u}function li(e=" ",t=0){return Ae(hr,null,e,t)}function Un(e="",t=!1){return t?(tt(),cs(Ct,null,e)):Ae(Ct,null,e)}function St(e){return e==null||typeof e=="boolean"?Ae(Ct):J(e)?Ae(nt,null,e.slice()):us(e)?kt(e):Ae(hr,null,String(e))}function kt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:In(e)}function Js(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(J(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Js(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!ua(t)?t._ctx=Be:r===3&&Be&&(Be.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(ee(t)){if(s&65){Js(e,{default:t});return}t={default:t,_ctx:Be},n=32}else t=String(t),s&64?(n=16,t=[li(t)]):n=8;e.children=t,e.shapeFlag|=n}function $f(...e){const t={};for(let n=0;nFe||Be;let Ys,fs;{const e=ir(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};Ys=t("__VUE_INSTANCE_SETTERS__",n=>Fe=n),fs=t("__VUE_SSR_SETTERS__",n=>Nn=n)}const bs=e=>{const t=Fe;return Ys(e),e.scope.on(),()=>{e.scope.off(),Ys(t)}},Ro=()=>{Fe&&Fe.scope.off(),Ys(null)};function wa(e){return e.vnode.shapeFlag&4}let Nn=!1;function Uf(e,t=!1,n=!1){t&&fs(t);const{props:s,children:r}=e.vnode,i=wa(e);xf(e,s,i,t),Of(e,r,n||t);const o=i?qf(e,t):void 0;return t&&fs(!1),o}function qf(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,ff);const{setup:s}=n;if(s){Bt();const r=e.setupContext=s.length>1?Kf(e):null,i=bs(e),o=vs(s,e,0,[e.props,r]),l=vl(o);if(Ut(),i(),(l||e.sp)&&!Cn(e)&&Ni(e),l){if(o.then(Ro,Ro),t)return o.then(a=>{fs(!0);try{Ao(e,a,t)}finally{fs(!1)}}).catch(a=>{_s(a,e,0)});e.asyncDep=o}else Ao(e,o)}else Ea(e)}function Ao(e,t,n){ee(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ye(t)&&(e.setupState=ql(t)),Ea(e)}function Ea(e,t,n){const s=e.type;e.render||(e.render=s.render||xt);{const r=bs(e);Bt();try{df(e)}finally{Ut(),r()}}}const Hf={get(e,t){return Ge(e,"get",""),e[t]}};function Kf(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Hf),slots:e.slots,emit:e.emit,expose:t}}function pr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ql(Oi(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in ts)return ts[n](e)},has(t,n){return n in t||n in ts}})):e.proxy}function Gf(e,t=!0){return ee(e)?e.displayName||e.name:e.name||t&&e.__name}function Wf(e){return ee(e)&&"__vccOpts"in e}const X=(e,t)=>Iu(e,t,Nn);function Sa(e,t,n){try{Ws(-1);const s=arguments.length;return s===2?ye(t)&&!J(t)?us(t)?Ae(e,null,[t]):Ae(e,t):Ae(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&us(n)&&(n=[n]),Ae(e,t,n))}finally{Ws(1)}}const Jf="3.5.43";let ai;const xo=typeof window<"u"&&window.trustedTypes;if(xo)try{ai=xo.createPolicy("vue",{createHTML:e=>e})}catch{}const Ra=ai?e=>ai.createHTML(e):e=>e,Yf="http://www.w3.org/2000/svg",Qf="http://www.w3.org/1998/Math/MathML",Lt=typeof document<"u"?document:null,To=Lt&&Lt.createElement("template"),Zf={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?Lt.createElementNS(Yf,e):t==="mathml"?Lt.createElementNS(Qf,e):n?Lt.createElement(e,{is:n}):Lt.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Lt.createTextNode(e),createComment:e=>Lt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Lt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{To.innerHTML=Ra(s==="svg"?`${e}`:s==="mathml"?`${e}`:e);const l=To.content;if(s==="svg"||s==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Xf=Symbol("_vtc");function ed(e,t,n){const s=e[Xf];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Qs=Symbol("_vod"),Aa=Symbol("_vsh"),td={name:"show",beforeMount(e,{value:t},{transition:n}){e[Qs]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):qn(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),qn(e,!0),s.enter(e)):s.leave(e,()=>{qn(e,!1)}):qn(e,t))},beforeUnmount(e,{value:t}){qn(e,t)}};function qn(e,t){e.style.display=t?e[Qs]:"none",e[Aa]=!t}const nd=Symbol(""),sd=/(?:^|;)\s*display\s*:/;function rd(e,t,n){const s=e.style,r=xe(n);let i=!1;if(n&&!r){if(t)if(xe(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&Jn(s,l,"")}else for(const o in t)n[o]==null&&Jn(s,o,"");for(const o in n){o==="display"&&(i=!0);const l=n[o];l!=null?od(e,o,!xe(t)&&t?t[o]:void 0,l)||Jn(s,o,l):Jn(s,o,"")}}else if(r){if(t!==n){const o=s[nd];o&&(n+=";"+o),s.cssText=n,i=sd.test(n)}}else t&&e.removeAttribute("style");Qs in e&&(e[Qs]=i?s.display:"",e[Aa]&&(s.display="none"))}const Is=/\s*!important$/;function Jn(e,t,n){if(J(n))n.forEach(s=>Jn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))Is.test(n)?e.setProperty(t,n.replace(Is,""),"important"):e.setProperty(t,n);else{const s=id(e,t);Is.test(n)?e.setProperty(nn(s),n.replace(Is,""),"important"):e[s]=n}}const Po=["Webkit","Moz","ms"],zr={};function id(e,t){const n=zr[t];if(n)return n;let s=et(t);if(s!=="filter"&&s in e)return zr[t]=s;s=sr(s);for(let r=0;r$r||(dd.then(()=>$r=0),$r=Date.now());function pd(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const r=n.value;if(J(r)){const i=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{i.call(s),s._stopped=!0};const o=r.slice(),l=[s];for(let a=0;ae.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,md=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?ed(e,s,o):t==="style"?rd(e,n,s):Xs(t)?er(t)||ad(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):gd(e,t,s,o))?(Mo(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Oo(e,t,s,o,i,t!=="value")):e._isVueCE&&(yd(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!xe(s)))?Mo(e,et(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Oo(e,t,s,o))};function gd(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&No(t)&&ee(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return No(t)&&xe(n)?!1:t in e}function yd(e,t){const n=e._def.props;if(!n)return!1;const s=et(t);return Array.isArray(n)?n.some(r=>et(r)===s):Object.keys(n).some(r=>et(r)===s)}const Ln=e=>{const t=e.props["onUpdate:modelValue"]||!1;return J(t)?n=>js(t,n):t};function vd(e){e.target.composing=!0}function Lo(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const At=Symbol("_assign"),Ns=Symbol("_initialValue");function Vr(e,t,n){return t&&(e=e.trim()),n&&(e=rr(e)),e}const Pm={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e.parentNode&&(e.type==="text"?e[Ns]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[Ns]=e.defaultValue.replace(/\r\n?/g,` +`))),e[At]=Ln(r);const i=s||r.props&&r.props.type==="number";Zt(e,t?"change":"input",o=>{o.target.composing||e[At](Vr(e.value,n,i))}),(n||i)&&Zt(e,"change",()=>{e.value=Vr(e.value,n,i)}),t||(Zt(e,"compositionstart",vd),Zt(e,"compositionend",Lo),Zt(e,"change",Lo))},mounted(e,{value:t,modifiers:{trim:n,number:s}}){const r=t??"",i=e[Ns];delete e[Ns],i!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==i?e[At](Vr(e.value,n,s)):e.value=r},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[At]=Ln(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?rr(e.value):e.value,a=t??"";if(l===a)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===a)||(e.value=a)}},Cm={deep:!0,created(e,t,n){e[At]=Ln(n),Zt(e,"change",()=>{const s=e._modelValue,r=ds(e),i=e.checked,o=e[At];if(J(s)){const l=Si(s,r),a=l!==-1;if(i&&!a)o(s.concat(r));else if(!i&&a){const c=[...s];c.splice(l,1),o(c)}}else if(Vt(s)){const l=new Set(s);i?l.add(r):l.delete(r),o(l)}else o(xa(e,i))})},mounted:ko,beforeUpdate(e,t,n){e[At]=Ln(n),ko(e,t,n)}};function ko(e,{value:t,oldValue:n},s){e._modelValue=t;let r;if(J(t))r=Si(t,s.props.value)>-1;else if(Vt(t))r=t.has(s.props.value);else{if(t===n)return;r=Ft(t,xa(e,!0))}e.checked!==r&&(e.checked=r)}const Om={deep:!0,created(e,{value:t,modifiers:{number:n}},s){e._modelValue=t,Zt(e,"change",()=>{const r=Array.prototype.filter.call(e.options,a=>a.selected).map(a=>n?rr(ds(a)):ds(a)),i=e.multiple,o=i?Vt(e._modelValue)?new Set(r):r:r[0],l=e._pendingValue=[i,i?J(o)?r.slice():r:o];try{e[At](o)}finally{ar(()=>{e._pendingValue===l&&(e._pendingValue=void 0)})}}),e[At]=Ln(s)},mounted(e,{value:t}){Do(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[At]=Ln(n)},updated(e,{value:t}){const n=e._pendingValue;e._pendingValue=void 0,(!n||n[0]!==e.multiple||!_d(t,n[1],n[0]))&&Do(e,t)}};function _d(e,t,n){if(!n||J(e))return Ft(e,t);if(Vt(e)){if(e.size!==t.length)return!1;for(const s of t)if(!e.has(s))return!1;return!0}return!1}function Do(e,t){const n=e.multiple,s=J(t);if(!(n&&!s&&!Vt(t))){for(let r=0,i=e.options.length;rString(c)===String(l)):o.selected=Si(t,l)>-1}else o.selected=t.has(l);else if(Ft(ds(o),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function ds(e){return"_value"in e?e._value:e.value}function xa(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const bd=["ctrl","shift","alt","meta"],wd={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>bd.some(n=>e[`${n}Key`]&&!t.includes(n))},Mm=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=((r,...i)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=(r=>{if(!("key"in r))return;const i=nn(r.key);if(t.some(o=>o===i||Ed[o]===i))return e(r)}))},Sd=$e({patchProp:md},Zf);let jo;function Rd(){return jo||(jo=If(Sd))}const Ad=((...e)=>{const t=Rd().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Td(s);if(!r)return;const i=t._component;!ee(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,xd(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t});function xd(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Td(e){return xe(e)?document.querySelector(e):e}let Ta;const mr=e=>Ta=e,Pa=Symbol();function ci(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var ns;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(ns||(ns={}));function Pd(){const e=xl(!0),t=e.run(()=>ne({}));let n=[],s=[];const r=Oi({install(i){mr(r),r._a=i,i.provide(Pa,r),i.config.globalProperties.$pinia=r,s.forEach(o=>n.push(o)),s=[]},use(i){return this._a?n.push(i):s.push(i),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return r}const Ca=()=>{};function zo(e,t,n,s=Ca){e.add(t);const r=()=>{e.delete(t)&&s()};return!n&&Tl()&&lu(r),r}function En(e,...t){e.forEach(n=>{n(...t)})}const Cd=e=>e(),$o=Symbol(),Fr=Symbol();function ui(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,s)=>e.set(s,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const s=t[n],r=e[n];ci(r)&&ci(s)&&e.hasOwnProperty(n)&&!Me(s)&&!Tt(s)?e[n]=ui(r,s):e[n]=s}return e}const Od=Symbol();function Md(e){return!ci(e)||!Object.prototype.hasOwnProperty.call(e,Od)}const{assign:Wt}=Object;function Id(e){return!!(Me(e)&&e.effect)}function Nd(e,t,n,s){const{state:r,actions:i,getters:o}=t,l=n.state.value[e];let a;function c(){l||(n.state.value[e]=r?r():{});const u=Pu(n.state.value[e]);return Wt(u,i,Object.keys(o||{}).reduce((f,p)=>(f[p]=Oi(X(()=>{mr(n);const g=n._s.get(e);return o[p].call(g,g)})),f),{}))}return a=Oa(e,c,t,n,s,!0),a}function Oa(e,t,n={},s,r,i){let o;const l=Wt({actions:{}},n),a={deep:!0};let c,u,f=new Set,p=new Set,g;const _=s.state.value[e];!i&&!_&&(s.state.value[e]={});let b;function E(q){let U;c=u=!1,typeof q=="function"?(q(s.state.value[e]),U={type:ns.patchFunction,storeId:e,events:g}):(ui(s.state.value[e],q),U={type:ns.patchObject,payload:q,storeId:e,events:g});const ie=b=Symbol();ar().then(()=>{b===ie&&(c=!0)}),u=!0,En(f,U,s.state.value[e])}const w=i?function(){const{state:U}=n,ie=U?U():{};this.$patch(I=>{Wt(I,ie)})}:Ca;function x(){o.stop(),f.clear(),p.clear(),s._s.delete(e)}const L=(q,U="")=>{if($o in q)return q[Fr]=U,q;const ie=function(){mr(s);const I=Array.from(arguments),Se=new Set,B=new Set;function ve(Y){Se.add(Y)}function ge(Y){B.add(Y)}En(p,{args:I,name:ie[Fr],store:F,after:ve,onError:ge});let oe;try{oe=q.apply(this&&this.$id===e?this:F,I)}catch(Y){throw En(B,Y),Y}return oe instanceof Promise?oe.then(Y=>(En(Se,Y),Y)).catch(Y=>(En(B,Y),Promise.reject(Y))):(En(Se,oe),oe)};return ie[$o]=!0,ie[Fr]=U,ie},k={_p:s,$id:e,$onAction:zo.bind(null,p),$patch:E,$reset:w,$subscribe(q,U={}){const ie=zo(f,q,U.detached,()=>I()),I=o.run(()=>pn(()=>s.state.value[e],Se=>{(U.flush==="sync"?u:c)&&q({storeId:e,type:ns.direct,events:g},Se)},Wt({},a,U)));return ie},$dispose:x},F=ys(k);s._s.set(e,F);const V=(s._a&&s._a.runWithContext||Cd)(()=>s._e.run(()=>(o=xl()).run(()=>t({action:L}))));for(const q in V){const U=V[q];if(Me(U)&&!Id(U)||Tt(U))i||(_&&Md(U)&&(Me(U)?U.value=_[q]:ui(U,_[q])),s.state.value[e][q]=U);else if(typeof U=="function"){const ie=L(U,q);V[q]=ie,l.actions[q]=U}}return Wt(F,V),Wt(ue(F),V),Object.defineProperty(F,"$state",{get:()=>s.state.value[e],set:q=>{E(U=>{Wt(U,q)})}}),s._p.forEach(q=>{Wt(F,o.run(()=>q({store:F,app:s._a,pinia:s,options:l})))}),_&&i&&n.hydrate&&n.hydrate(F.$state,_),c=!0,u=!0,F}function yn(e,t,n){let s;const r=typeof t=="function";s=r?n:t;function i(o,l){const a=$u();return o=o||(a?ft(Pa,null):null),o&&mr(o),o=Ta,o._s.has(e)||(r?Oa(e,t,s,o):Nd(e,s,o)),o._s.get(e)}return i.$id=e,i}const Nm=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Lm=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),km=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Dm=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));const An=typeof document<"u";function Ma(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Ld(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Ma(e.default)}const pe=Object.assign;function Br(e,t){const n={};for(const s in t){const r=t[s];n[s]=gt(r)?r.map(e):e(r)}return n}const ss=()=>{},gt=Array.isArray;function Vo(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const Ia=/#/g,kd=/&/g,Dd=/\//g,jd=/=/g,zd=/\?/g,Na=/\+/g,$d=/%5B/g,Vd=/%5D/g,La=/%5E/g,Fd=/%60/g,ka=/%7B/g,Bd=/%7C/g,Da=/%7D/g,Ud=/%20/g;function Vi(e){return e==null?"":encodeURI(""+e).replace(Bd,"|").replace($d,"[").replace(Vd,"]")}function qd(e){return Vi(e).replace(ka,"{").replace(Da,"}").replace(La,"^")}function fi(e){return Vi(e).replace(Na,"%2B").replace(Ud,"+").replace(Ia,"%23").replace(kd,"%26").replace(Fd,"`").replace(ka,"{").replace(Da,"}").replace(La,"^")}function Hd(e){return fi(e).replace(jd,"%3D")}function Kd(e){return Vi(e).replace(Ia,"%23").replace(zd,"%3F")}function Gd(e){return Kd(e).replace(Dd,"%2F")}function hs(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Wd=/\/$/,Jd=e=>e.replace(Wd,"");function Ur(e,t,n="/"){let s,r={},i="",o="";const l=t.indexOf("#");let a=t.indexOf("?");return a=l>=0&&a>l?-1:a,a>=0&&(s=t.slice(0,a),i=t.slice(a,l>0?l:t.length),r=e(i.slice(1))),l>=0&&(s=s||t.slice(0,l),o=t.slice(l,t.length)),s=Xd(s??t,n),{fullPath:s+i+o,path:s,query:r,hash:hs(o)}}function Yd(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Fo(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Qd(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&kn(t.matched[s],n.matched[r])&&ja(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function kn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function ja(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Zd(e[n],t[n]))return!1;return!0}function Zd(e,t){return gt(e)?Bo(e,t):gt(t)?Bo(t,e):e?.valueOf()===t?.valueOf()}function Bo(e,t){return gt(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function Xd(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),r=s[s.length-1];(r===".."||r===".")&&s.push("");let i=n.length-1,o,l;for(o=0;o1&&i--;else break;return n.slice(0,i).join("/")+"/"+s.slice(o).join("/")}const Ht={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let di=(function(e){return e.pop="pop",e.push="push",e})({}),qr=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function eh(e){if(!e)if(An){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Jd(e)}const th=/^[^#]+#/;function nh(e,t){return e.replace(th,"#")+t}function sh(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const gr=()=>({left:window.scrollX,top:window.scrollY});function rh(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=sh(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Uo(e,t){return(history.state?history.state.position-t:-1)+e}const hi=new Map;function ih(e,t){hi.set(e,t)}function oh(e){const t=hi.get(e);return hi.delete(e),t}function lh(e){return typeof e=="string"||e&&typeof e=="object"}function za(e){return typeof e=="string"||typeof e=="symbol"}let Oe=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const $a=Symbol("");Oe.MATCHER_NOT_FOUND+"",Oe.NAVIGATION_GUARD_REDIRECT+"",Oe.NAVIGATION_ABORTED+"",Oe.NAVIGATION_CANCELLED+"",Oe.NAVIGATION_DUPLICATED+"";function Dn(e,t){return pe(new Error,{type:e,[$a]:!0},t)}function Mt(e,t){return e instanceof Error&&$a in e&&(t==null||!!(e.type&t))}const ah=["params","query","hash"];function ch(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of ah)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function uh(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;sr&&fi(r)):[s&&fi(s)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function fh(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=gt(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return t}const dh=Symbol(""),Ho=Symbol(""),yr=Symbol(""),Fi=Symbol(""),pi=Symbol("");function Hn(){let e=[];function t(s){return e.push(s),()=>{const r=e.indexOf(s);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Yt(e,t,n,s,r,i=o=>o()){const o=s&&(s.enterCallbacks[r]=s.enterCallbacks[r]||[]);return()=>new Promise((l,a)=>{const c=p=>{p===!1?a(Dn(Oe.NAVIGATION_ABORTED,{from:n,to:t})):p instanceof Error?a(p):lh(p)?a(Dn(Oe.NAVIGATION_GUARD_REDIRECT,{from:t,to:p})):(o&&s.enterCallbacks[r]===o&&typeof p=="function"&&o.push(p),l())},u=i(()=>e.call(s&&s.instances[r],t,n,c));let f=Promise.resolve(u);e.length<3&&(f=f.then(c)),f.catch(p=>a(p))})}function Hr(e,t,n,s,r=i=>i()){const i=[];for(const o of e)for(const l in o.components){let a=o.components[l];if(!(t!=="beforeRouteEnter"&&!o.instances[l]))if(Ma(a)){const c=(a.__vccOpts||a)[t];c&&i.push(Yt(c,n,s,o,l,r))}else{let c=a();i.push(()=>c.then(u=>{if(!u)throw new Error(`Couldn't resolve component "${l}" at "${o.path}"`);const f=Ld(u)?u.default:u;o.mods[l]=u,o.components[l]=f;const p=(f.__vccOpts||f)[t];return p&&Yt(p,n,s,o,l,r)()}))}}return i}function hh(e,t){const n=[],s=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;okn(c,l))?s.push(l):n.push(l));const a=e.matched[o];a&&(t.matched.find(c=>kn(c,a))||r.push(a))}return[n,s,r]}let ph=()=>location.protocol+"//"+location.host;function Va(e,t){const{pathname:n,search:s,hash:r}=t,i=e.indexOf("#");if(i>-1){let o=r.includes(e.slice(i))?e.slice(i).length:1,l=r.slice(o);return l[0]!=="/"&&(l="/"+l),Fo(l,"")}return Fo(n,e)+s+r}function mh(e,t,n,s){let r=[],i=[],o=null;const l=({state:p})=>{const g=Va(e,location),_=n.value,b=t.value;let E=0;if(p){if(n.value=g,t.value=p,o&&o===_){o=null;return}E=b?p.position-b.position:0}else s(g);r.forEach(w=>{w(n.value,_,{delta:E,type:di.pop,direction:E?E>0?qr.forward:qr.back:qr.unknown})})};function a(){o=n.value}function c(p){r.push(p);const g=()=>{const _=r.indexOf(p);_>-1&&r.splice(_,1)};return i.push(g),g}function u(){if(document.visibilityState==="hidden"){const{history:p}=window;if(!p.state)return;p.replaceState(pe({},p.state,{scroll:gr()}),"")}}function f(){for(const p of i)p();i=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",u),document.removeEventListener("visibilitychange",u)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",u),document.addEventListener("visibilitychange",u),{pauseListeners:a,listen:c,destroy:f}}function Ko(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?gr():null}}function gh(e){const{history:t,location:n}=window,s={value:Va(e,n)},r={value:t.state};r.value||i(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(a,c,u){const f=e.indexOf("#"),p=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+a:ph()+e+a;try{t[u?"replaceState":"pushState"](c,"",p),r.value=c}catch(g){console.error(g),n[u?"replace":"assign"](p)}}function o(a,c){i(a,pe({},t.state,Ko(r.value.back,a,r.value.forward,!0),c,{position:r.value.position}),!0),s.value=a}function l(a,c){const u=pe({},r.value,t.state,{forward:a,scroll:gr()});i(u.current,u,!0),i(a,pe({},Ko(s.value,a,null),{position:u.position+1},c),!1),s.value=a}return{location:s,state:r,push:l,replace:o}}function yh(e){e=eh(e);const t=gh(e),n=mh(e,t.state,t.location,t.replace);function s(i,o=!0){o||n.pauseListeners(),history.go(i)}const r=pe({location:"",base:e,go:s,createHref:nh.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}let fn=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var Le=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(Le||{});const vh={type:fn.Static,value:""},_h=/[a-zA-Z0-9_]/;function bh(e){if(!e)return[[]];if(e==="/")return[[vh]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(g){throw new Error(`ERR (${n})/"${c}": ${g}`)}let n=Le.Static,s=n;const r=[];let i;function o(){i&&r.push(i),i=[]}let l=0,a,c="",u="";function f(){c&&(n===Le.Static?i.push({type:fn.Static,value:c}):n===Le.Param||n===Le.ParamRegExp||n===Le.ParamRegExpEnd?(i.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),i.push({type:fn.Param,value:c,regexp:u,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),c="")}function p(){c+=a}for(;lt.length?t.length===1&&t[0]===Qe.Static+Qe.Segment?1:-1:0}function Fa(e,t){let n=0;const s=e.score,r=t.score;for(;n0&&t[t.length-1]<0}const Ah={strict:!1,end:!0,sensitive:!1};function xh(e,t,n){const s=Sh(bh(e.path),n),r=pe(s,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Th(e,t){const n=[],s=new Map;t=Vo(Ah,t);function r(f){return s.get(f)}function i(f,p,g){const _=!g,b=Yo(f);b.aliasOf=g&&g.record;const E=Vo(t,f),w=[b];if("alias"in f){const k=typeof f.alias=="string"?[f.alias]:f.alias;for(const F of k)w.push(Yo(pe({},b,{components:g?g.record.components:b.components,path:F,aliasOf:g?g.record:b})))}let x,L;for(const k of w){const{path:F}=k;if(p&&F[0]!=="/"){const le=p.record.path,V=le[le.length-1]==="/"?"":"/";k.path=p.record.path+(F&&V+F)}if(x=xh(k,p,E),g?g.alias.push(x):(L=L||x,L!==x&&L.alias.push(x),_&&f.name&&!Qo(x)&&o(f.name)),Ba(x)&&a(x),b.children){const le=b.children;for(let V=0;V{o(L)}:ss}function o(f){if(za(f)){const p=s.get(f);p&&(s.delete(f),n.splice(n.indexOf(p),1),p.children.forEach(o),p.alias.forEach(o))}else{const p=n.indexOf(f);p>-1&&(n.splice(p,1),f.record.name&&s.delete(f.record.name),f.children.forEach(o),f.alias.forEach(o))}}function l(){return n}function a(f){const p=Oh(f,n);n.splice(p,0,f),f.record.name&&!Qo(f)&&s.set(f.record.name,f)}function c(f,p){let g,_={},b,E;if("name"in f&&f.name){if(g=s.get(f.name),!g)throw Dn(Oe.MATCHER_NOT_FOUND,{location:f});E=g.record.name,_=pe(Jo(p.params,g.keys.filter(L=>!L.optional).concat(g.parent?g.parent.keys.filter(L=>L.optional):[]).map(L=>L.name)),f.params&&Jo(f.params,g.keys.map(L=>L.name))),b=g.stringify(_)}else if(f.path!=null)b=f.path,g=n.find(L=>L.re.test(b)),g&&(_=g.parse(b),E=g.record.name);else{if(g=p.name?s.get(p.name):n.find(L=>L.re.test(p.path)),!g)throw Dn(Oe.MATCHER_NOT_FOUND,{location:f,currentLocation:p});E=g.record.name,_=pe({},p.params,f.params),b=g.stringify(_)}const w=[];let x=g;for(;x;)w.unshift(x.record),x=x.parent;return{name:E,path:b,params:_,matched:w,meta:Ch(w)}}e.forEach(f=>i(f));function u(){n.length=0,s.clear()}return{addRoute:i,resolve:c,removeRoute:o,clearRoutes:u,getRoutes:l,getRecordMatcher:r}}function Jo(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function Yo(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Ph(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Ph(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function Qo(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Ch(e){return e.reduce((t,n)=>pe(t,n.meta),{})}function Oh(e,t){let n=0,s=t.length;for(;n!==s;){const i=n+s>>1;Fa(e,t[i])<0?s=i:n=i+1}const r=Mh(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function Mh(e){let t=e;for(;t=t.parent;)if(Ba(t)&&Fa(e,t)===0)return t}function Ba({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Zo(e){const t=ft(yr),n=ft(Fi),s=X(()=>{const a=Ie(e.to);return t.resolve(a)}),r=X(()=>{const{matched:a}=s.value,{length:c}=a,u=a[c-1],f=n.matched;if(!u||!f.length)return-1;const p=f.findIndex(kn.bind(null,u));if(p>-1)return p;const g=Xo(a[c-2]);return c>1&&Xo(u)===g&&f[f.length-1].path!==g?f.findIndex(kn.bind(null,a[c-2])):p}),i=X(()=>r.value>-1&&Dh(n.params,s.value.params)),o=X(()=>r.value>-1&&r.value===n.matched.length-1&&ja(n.params,s.value.params));function l(a={}){if(kh(a)){const c=t[Ie(e.replace)?"replace":"push"](Ie(e.to)).catch(ss);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>c),c}return Promise.resolve()}return{route:s,href:X(()=>s.value.href),isActive:i,isExactActive:o,navigate:l}}function Ih(e){return e.length===1?e[0]:e}const Nh=jn({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:Zo,setup(e,{slots:t}){const n=ys(Zo(e)),{options:s}=ft(yr),r=X(()=>({[el(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[el(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&Ih(t.default(n));return e.custom?i:Sa("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},i)}}}),Lh=Nh;function kh(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Dh(e,t){for(const n in t){const s=t[n],r=e[n];if(typeof s=="string"){if(s!==r)return!1}else if(!gt(r)||r.length!==s.length||s.some((i,o)=>i.valueOf()!==r[o].valueOf()))return!1}return!0}function Xo(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const el=(e,t,n)=>e??t??n,jh=jn({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=ft(pi),r=X(()=>e.route||s.value),i=ft(Ho,0),o=X(()=>{let c=Ie(i);const{matched:u}=r.value;let f;for(;(f=u[c])&&!f.components;)c++;return c}),l=X(()=>r.value.matched[o.value]);zs(Ho,X(()=>o.value+1)),zs(dh,l),zs(pi,r);const a=ne();return pn(()=>[a.value,l.value,e.name],([c,u,f],[p,g,_])=>{u&&(u.instances[f]=c,g&&g!==u&&c&&c===p&&(u.leaveGuards.size||(u.leaveGuards=g.leaveGuards),u.updateGuards.size||(u.updateGuards=g.updateGuards))),c&&u&&(!g||!kn(u,g)||!p)&&(u.enterCallbacks[f]||[]).forEach(b=>b(c))},{flush:"post"}),()=>{const c=r.value,u=e.name,f=l.value,p=f&&f.components[u];if(!p)return tl(n.default,{Component:p,route:c});const g=f.props[u],_=g?g===!0?c.params:typeof g=="function"?g(c):g:null,E=Sa(p,pe({},_,t,{onVnodeUnmounted:w=>{w.component.isUnmounted&&(f.instances[u]=null)},ref:a}));return tl(n.default,{Component:E,route:c})||E}}});function tl(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const zh=jh;function $h(e){const t=Th(e.routes,e),n=e.parseQuery||uh,s=e.stringifyQuery||qo,r=e.history,i=Hn(),o=Hn(),l=Hn(),a=Mn(Ht);let c=Ht;An&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=Br.bind(null,P=>""+P),f=Br.bind(null,Gd),p=Br.bind(null,hs);function g(P,$){let j,K;return za(P)?(j=t.getRecordMatcher(P),K=$):K=P,t.addRoute(K,j)}function _(P){const $=t.getRecordMatcher(P);$&&t.removeRoute($)}function b(){return t.getRoutes().map(P=>P.record)}function E(P){return!!t.getRecordMatcher(P)}function w(P,$){if($=pe({},$||a.value),typeof P=="string"){const y=Ur(n,P,$.path),A=t.resolve({path:y.path},$),T=r.createHref(y.fullPath);return pe(y,A,{params:p(A.params),hash:hs(y.hash),redirectedFrom:void 0,href:T})}let j;if(P.path!=null)j=pe({},P,{path:Ur(n,P.path,$.path).path});else{const y=pe({},P.params);for(const A in y)y[A]==null&&delete y[A];j=pe({},P,{params:f(y)}),$.params=f($.params)}const K=t.resolve(j,$),re=P.hash||"";K.params=u(p(K.params));const h=Yd(s,pe({},P,{hash:qd(re),path:K.path})),m=r.createHref(h);return pe({fullPath:h,hash:re,query:s===qo?fh(P.query):P.query||{}},K,{redirectedFrom:void 0,href:m})}function x(P){return typeof P=="string"?Ur(n,P,a.value.path):pe({},P)}function L(P,$){if(c!==P)return Dn(Oe.NAVIGATION_CANCELLED,{from:$,to:P})}function k(P){return V(P)}function F(P){return k(pe(x(P),{replace:!0}))}function le(P,$){const j=P.matched[P.matched.length-1];if(j&&j.redirect){const{redirect:K}=j;let re=typeof K=="function"?K(P,$):K;return typeof re=="string"&&(re=re.includes("?")||re.includes("#")?re=x(re):{path:re},re.params={}),pe({query:P.query,hash:P.hash,params:re.path!=null?{}:P.params},re)}}function V(P,$){const j=c=w(P),K=a.value,re=P.state,h=P.force,m=P.replace===!0,y=le(j,K);if(y)return V(pe(x(y),{state:typeof y=="object"?pe({},re,y.state):re,force:h,replace:m}),$||j);const A=j;A.redirectedFrom=$;let T;return!h&&Qd(s,K,j)&&(T=Dn(Oe.NAVIGATION_DUPLICATED,{to:A,from:K}),je(K,K,!0,!1)),(T?Promise.resolve(T):ie(A,K)).catch(S=>Mt(S)?Mt(S,Oe.NAVIGATION_GUARD_REDIRECT)?S:Te(S):te(S,A,K)).then(S=>{if(S){if(Mt(S,Oe.NAVIGATION_GUARD_REDIRECT))return V(pe({replace:m},x(S.to),{state:typeof S.to=="object"?pe({},re,S.to.state):re,force:h}),$||A)}else S=Se(A,K,!0,m,re);return I(A,K,S),S})}function q(P,$){const j=L(P,$);return j?Promise.reject(j):Promise.resolve()}function U(P){const $=vt.values().next().value;return $&&typeof $.runWithContext=="function"?$.runWithContext(P):P()}function ie(P,$){let j;const[K,re,h]=hh(P,$);j=Hr(K.reverse(),"beforeRouteLeave",P,$);for(const y of K)y.leaveGuards.forEach(A=>{j.push(Yt(A,P,$))});const m=q.bind(null,P,$);return j.push(m),Ue(j).then(()=>{j=[];for(const y of i.list())j.push(Yt(y,P,$));return j.push(m),Ue(j)}).then(()=>{j=Hr(re,"beforeRouteUpdate",P,$);for(const y of re)y.updateGuards.forEach(A=>{j.push(Yt(A,P,$))});return j.push(m),Ue(j)}).then(()=>{j=[];for(const y of h)if(y.beforeEnter)if(gt(y.beforeEnter))for(const A of y.beforeEnter)j.push(Yt(A,P,$));else j.push(Yt(y.beforeEnter,P,$));return j.push(m),Ue(j)}).then(()=>(P.matched.forEach(y=>y.enterCallbacks={}),j=Hr(h,"beforeRouteEnter",P,$,U),j.push(m),Ue(j))).then(()=>{j=[];for(const y of o.list())j.push(Yt(y,P,$));return j.push(m),Ue(j)}).catch(y=>Mt(y,Oe.NAVIGATION_CANCELLED)?y:Promise.reject(y))}function I(P,$,j){l.list().forEach(K=>U(()=>K(P,$,j)))}function Se(P,$,j,K,re){const h=L(P,$);if(h)return h;const m=$===Ht,y=An?history.state:{};j&&(K||m?r.replace(P.fullPath,pe({scroll:m&&y&&y.scroll},re)):r.push(P.fullPath,re)),a.value=P,je(P,$,j,m),Te()}let B;function ve(){B||(B=r.listen((P,$,j)=>{if(!st.listening)return;const K=w(P),re=le(K,st.currentRoute.value);if(re){V(pe(re,{replace:!0,force:!0}),K).catch(ss);return}c=K;const h=a.value;An&&ih(Uo(h.fullPath,j.delta),gr()),ie(K,h).catch(m=>Mt(m,Oe.NAVIGATION_ABORTED|Oe.NAVIGATION_CANCELLED)?m:Mt(m,Oe.NAVIGATION_GUARD_REDIRECT)?(V(pe(x(m.to),{force:!0}),K).then(y=>{Mt(y,Oe.NAVIGATION_ABORTED|Oe.NAVIGATION_DUPLICATED)&&!j.delta&&j.type===di.pop&&r.go(-1,!1)}).catch(ss),Promise.reject()):(j.delta&&r.go(-j.delta,!1),te(m,K,h))).then(m=>{m=m||Se(K,h,!1),m&&(j.delta&&!Mt(m,Oe.NAVIGATION_CANCELLED)?r.go(-j.delta,!1):j.type===di.pop&&Mt(m,Oe.NAVIGATION_ABORTED|Oe.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),I(K,h,m)}).catch(ss)}))}let ge=Hn(),oe=Hn(),Y;function te(P,$,j){Te(P);const K=oe.list();return K.length?K.forEach(re=>re(P,$,j)):console.error(P),Promise.reject(P)}function _e(){return Y&&a.value!==Ht?Promise.resolve():new Promise((P,$)=>{ge.add([P,$])})}function Te(P){return Y||(Y=!P,ve(),ge.list().forEach(([$,j])=>P?j(P):$()),ge.reset()),P}function je(P,$,j,K){const{scrollBehavior:re}=e;if(!An||!re)return Promise.resolve();const h=!j&&oh(Uo(P.fullPath,0))||(K||!j)&&history.state&&history.state.scroll||null;return ar().then(()=>re(P,$,h)).then(m=>m&&rh(m)).catch(m=>te(m,P,$))}const Pe=P=>r.go(P);let yt;const vt=new Set,st={currentRoute:a,listening:!0,addRoute:g,removeRoute:_,clearRoutes:t.clearRoutes,hasRoute:E,getRoutes:b,resolve:w,options:e,push:k,replace:F,go:Pe,back:()=>Pe(-1),forward:()=>Pe(1),beforeEach:i.add,beforeResolve:o.add,afterEach:l.add,onError:oe.add,isReady:_e,install(P){P.component("RouterLink",Lh),P.component("RouterView",zh),P.config.globalProperties.$router=st,Object.defineProperty(P.config.globalProperties,"$route",{enumerable:!0,get:()=>Ie(a)}),An&&!yt&&a.value===Ht&&(yt=!0,k(r.location).catch(K=>{}));const $={};for(const K in Ht)Object.defineProperty($,K,{get:()=>a.value[K],enumerable:!0});P.provide(yr,st),P.provide(Fi,Bl($)),P.provide(pi,a);const j=P.unmount;vt.add(P),P.unmount=function(){vt.delete(P),vt.size<1&&(c=Ht,B&&B(),B=null,a.value=Ht,yt=!1,Y=!1),j()}}};function Ue(P){return P.reduce(($,j)=>$.then(()=>U(j)),Promise.resolve())}return st}function jm(){return ft(yr)}function Ua(e){return ft(Fi)}const Vh={viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},Fh=["d"],nl=jn({__name:"Icon",props:{name:{}},setup(e){const t=e,n={home:"M3 11l9-8 9 8M5 10v10h5v-6h4v6h5V10",calendar:"M4 6h16v14H4zM4 10h16M8 3v5M16 3v5",book:"M5 4h10a3 3 0 013 3v13H8a3 3 0 01-3-3zM5 17a3 3 0 013-3h10",quiz:"M12 21a9 9 0 100-18 9 9 0 000 18zM9.5 9.5a2.5 2.5 0 114 2c-.9.6-1.5 1-1.5 2M12 17h.01",more:"M5 12h.01M12 12h.01M19 12h.01",flag:"M5 21V4M5 4h11l-2 4 2 4H5",grad:"M2 9l10-5 10 5-10 5zM6 11.5V16c0 1.5 3 3 6 3s6-1.5 6-3v-4.5",file:"M7 3h7l5 5v13H7zM14 3v5h5M10 13h6M10 17h6",slides:"M3 4h18v12H3zM12 16v4M8 20h8",user:"M12 12a4 4 0 100-8 4 4 0 000 8zM4 21c0-4 4-6 8-6s8 2 8 6",out:"M10 4H5v16h5M15 8l4 4-4 4M19 12H9",chevron:"M9 6l6 6-6 6","arrow-left":"M19 12H5M11 6l-6 6 6 6","arrow-right":"M5 12h14M13 6l6 6-6 6",paperclip:"M20 11.5l-8.5 8.5a5 5 0 01-7-7L13 4.5a3.5 3.5 0 015 5L9.5 18a2 2 0 01-3-3L14 7.5",at:"M12 16a4 4 0 100-8 4 4 0 000 8zM16 12v1.5a2.5 2.5 0 005 0V12a9 9 0 10-3.5 7.1","arrow-up":"M12 19V5M5 12l7-7 7 7","arrow-down":"M12 5v14M5 12l7 7 7-7",smile:"M12 21a9 9 0 100-18 9 9 0 000 18zM8.5 14.5c1 1.2 2.2 1.8 3.5 1.8s2.5-.6 3.5-1.8M9 9.5h.01M15 9.5h.01",pencil:"M4 20h4L19 9l-4-4L4 16zM13.5 6.5l4 4",trash:"M4 7h16M10 11v6M14 11v6M6 7l1 13h10l1-13M9 7V4h6v3",close:"M6 6l12 12M18 6L6 18",plus:"M12 5v14M5 12h14"};return(s,r)=>(tt(),It("svg",Vh,[ke("path",{d:n[t.name]??""},null,8,Fh)]))}});class Xe extends Error{constructor(n,s,r={}){super(s);bn(this,"status");bn(this,"errors");this.name="ApiError",this.status=n,this.errors=r}}const Kr="bm.token";class Bh{constructor(t,n){bn(this,"local");bn(this,"session");bn(this,"memory",null);this.local=t,this.session=n}read(t){try{return t?.getItem(Kr)??null}catch{return null}}get(){return this.read(this.local)??this.read(this.session)??this.memory}get remembered(){return this.read(this.local)!==null}set(t,n){this.clear();try{(n?this.local:this.session)?.setItem(Kr,t)}catch{}this.get()===null&&(this.memory=t)}replace(t){this.set(t,this.remembered)}clear(){this.memory=null;for(const t of[this.local,this.session])try{t?.removeItem(Kr)}catch{}}}function Uh(e){const t=e.fetch??((...g)=>fetch(...g)),{tokens:n}=e;let s=null;function r(g,_){if(!_)return g;const b=new URLSearchParams;for(const[w,x]of Object.entries(_))x!=null&&x!==""&&b.set(w,String(x));const E=b.toString();return E?`${g}?${E}`:g}async function i(g,_){const b={Accept:"application/json"},E=n.get();_.auth!==!1&&E&&(b.Authorization=`Bearer ${E}`);let w;return _.body!==void 0&&(b["Content-Type"]="application/json",w=JSON.stringify(_.body)),t(r(g,_.query),{method:_.method??"GET",headers:b,body:w})}function o(){return s||(s=(async()=>{try{const g=await i("/_user/api/v1/refresh",{method:"POST"});if(!g.ok)return!1;const _=await g.json(),b=_.token??_.data?.token;return b?(n.replace(b),!0):!1}catch{return!1}finally{queueMicrotask(()=>{s=null})}})()),s}async function l(g){const _=await g.text();if(!_)return null;try{return JSON.parse(_)}catch{return null}}function a(g,_){const b=_??{},E=typeof b.error=="string"&&b.error||typeof b.message=="string"&&b.message||(g.status>=500?"Błąd serwera. Spróbuj ponownie za chwilę.":`Błąd ${g.status}`);return new Xe(g.status,E,b.errors??{})}async function c(g,_){let b;const E=n.get();try{b=await i(g,_)}catch{throw new Xe(0,"Brak połączenia z serwerem.")}if(b.status===401&&_.auth!==!1&&E){const w=n.get();if(w!==null&&w!==E?!0:await o())try{b=await i(g,_)}catch{throw new Xe(0,"Brak połączenia z serwerem.")}b.status===401&&(n.clear(),e.onUnauthorized?.())}return b}async function u(g,_={}){const b=await c(g,_),E=await l(b);if(!b.ok)throw a(b,E);return E}async function f(g,_={}){const b=await c(g,_);if(!b.ok){const E=await l(b);throw a(b,E)}return b.blob()}async function p(g,_={}){const b=await u(g,_);return b&&typeof b=="object"&&"data"in b?b.data:b}return{request:p,raw:u,blob:f}}function sl(e){try{return e()}catch{return null}}const ht=new Bh(sl(()=>window.localStorage),sl(()=>window.sessionStorage));let qa=()=>{};function qh(e){qa=e}const Z=Uh({tokens:ht,onUnauthorized:()=>qa()}),ut="/_user/api/v1",on={login:e=>Z.request(`${ut}/login`,{method:"POST",body:e,auth:!1}),register:e=>Z.request(`${ut}/register`,{method:"POST",body:e,auth:!1}),fetch:()=>Z.request(`${ut}/fetch`),logout:()=>Z.request(`${ut}/logout`,{method:"POST"}),forgotPassword:e=>Z.request(`${ut}/forgot-password`,{method:"POST",body:{email:e},auth:!1}),resetPassword:e=>Z.request(`${ut}/reset-password`,{method:"POST",body:e,auth:!1}),update:e=>Z.request(`${ut}/update`,{method:"POST",body:e}),changePassword:e=>Z.request(`${ut}/change-password`,{method:"POST",body:e}),oauthProviders:()=>Z.request(`${ut}/oauth-providers`,{auth:!1}),oauthComplete:e=>Z.request(`${ut}/oauth-complete?code=${encodeURIComponent(e)}`,{auth:!1}),oauthRegisterComplete:e=>Z.request(`${ut}/oauth-register-complete`,{method:"POST",body:e,auth:!1}),oauthLinkTicket:()=>Z.request(`${ut}/oauth-link-ticket`,{method:"POST"})},Hh="modulepreload",Kh=function(e){return"/"+e},rl={},Re=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){let a=function(c){return Promise.all(c.map(u=>Promise.resolve(u).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=o?.nonce||o?.getAttribute("nonce");r=a(n.map(c=>{if(c=Kh(c),c in rl)return;rl[c]=!0;const u=c.endsWith(".css"),f=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${f}`))return;const p=document.createElement("link");if(p.rel=u?"stylesheet":Hh,u||(p.as="script"),p.crossOrigin="",p.href=c,l&&p.setAttribute("nonce",l),document.head.appendChild(p),u)return new Promise((g,_)=>{p.addEventListener("load",g),p.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${c}`)))})}))}function i(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return r.then(o=>{for(const l of o||[])l.status==="rejected"&&i(l.reason);return t().catch(i)})},Zs="bm.lastPilot";function vr(){try{return window.localStorage}catch{return null}}function Ha(e){return typeof e=="string"&&e.trim()!==""&&e.length<=255&&!e.includes("/")}function zm(e,t=vr()){if(!(!t||!Ha(e)))try{t.setItem(Zs,e)}catch{}}function Gh(e=vr()){if(!e)return null;try{const t=e.getItem(Zs);return Ha(t)?t:null}catch{return null}}function $m(e,t=vr()){if(t)try{t.getItem(Zs)===e&&t.removeItem(Zs)}catch{}}function Wh(e=vr()){const t=Gh(e);return t?{name:"presentation-remote",params:{slug:t}}:{name:"my-presentations"}}const dn=$h({history:yh("/"),scrollBehavior:(e,t,n)=>e.meta.bare?!1:n??(e.hash?{el:e.hash,top:12}:e.path===t.path?void 0:{top:0}),routes:[{path:"/logowanie",name:"login",component:()=>Re(()=>import("./LoginView-D6k636L5.js"),__vite__mapDeps([0,1,2])),meta:{public:!0,guest:!0,title:"Logowanie"}},{path:"/rejestracja",name:"register",component:()=>Re(()=>import("./RegisterView-CeAW-9ny.js"),__vite__mapDeps([3,1])),meta:{public:!0,guest:!0,title:"Rejestracja"}},{path:"/przypomnij-haslo",name:"forgot",component:()=>Re(()=>import("./ForgotView-BsFAZNMc.js"),__vite__mapDeps([4,1])),meta:{public:!0,title:"Przypomnienie hasła"}},{path:"/auth/oauth/callback",name:"oauth-callback",component:()=>Re(()=>import("./OAuthCallbackView-bbZkPXN1.js"),__vite__mapDeps([5,1,2])),meta:{public:!0,title:"Logowanie"}},{path:"/auth/oauth/rejestracja",name:"oauth-register",component:()=>Re(()=>import("./OAuthRegisterView-BTIFwH1i.js"),__vite__mapDeps([6,1])),meta:{public:!0,title:"Rejestracja"}},{path:"/reset-password",alias:"/reset-hasla",name:"reset",component:()=>Re(()=>import("./ResetView-BvwkxYVA.js"),__vite__mapDeps([7,1])),meta:{public:!0,title:"Nowe hasło"}},{path:"/",name:"dashboard",component:()=>Re(()=>import("./DashboardView--YjuMg1O.js"),__vite__mapDeps([8,9,10,11,12])),meta:{title:"Pulpit",wide:!0}},{path:"/plan",name:"schedule",component:()=>Re(()=>import("./ScheduleView-B0J6x8_m.js"),__vite__mapDeps([13,9,10,11,14])),meta:{title:"Plan zajęć"}},{path:"/terminarz",name:"deadlines",component:()=>Re(()=>import("./DeadlinesView-Ce4aNthG.js"),__vite__mapDeps([15,9,10,11,14])),meta:{title:"Terminarz"}},{path:"/przedmioty",name:"courses",component:()=>Re(()=>import("./CoursesView-BS-GiROB.js"),__vite__mapDeps([16,9,10,11])),meta:{title:"Przedmioty"}},{path:"/przedmioty/:id(\\d+)",name:"course",component:()=>Re(()=>import("./CourseView-vpw6HNN6.js"),__vite__mapDeps([17,9,10,18])),props:!0,meta:{title:"Przedmiot"}},{path:"/lektury",name:"readings",component:()=>Re(()=>import("./ReadingsView-wzprEHgG.js"),__vite__mapDeps([19,9,10,11,18,14])),meta:{title:"Lektury"}},{path:"/materialy",name:"materials",component:()=>Re(()=>import("./MaterialsView-BeOYfsO4.js"),__vite__mapDeps([20,9])),meta:{title:"Materiały"}},{path:"/materialy/:id(\\d+)",name:"material",component:()=>Re(()=>import("./MaterialView-D9oKrB12.js"),__vite__mapDeps([21,9,10,12])),props:!0,meta:{title:"Materiał"}},{path:"/sylabusy",name:"syllabi",component:()=>Re(()=>import("./SyllabiView-LMQ1EEWf.js"),__vite__mapDeps([22,9])),meta:{title:"Sylabusy"}},{path:"/quiz",redirect:"/quizy/powtorka-1-zjazd"},{path:"/quizy",name:"quizzes",component:()=>Re(()=>import("./QuizzesView-D5m5l8D_.js"),__vite__mapDeps([23,9,10,24])),meta:{title:"Quizy"}},{path:"/quizy/:slug",name:"quiz",component:()=>Re(()=>import("./QuizView-B2lxCtn-.js"),__vite__mapDeps([25,9,10,24])),props:!0,meta:{title:"Quiz"}},{path:"/wiecej",name:"more",component:()=>Re(()=>import("./MoreView-B_R4VRmO.js"),__vite__mapDeps([26,9])),meta:{title:"Więcej"}},{path:"/profil",name:"profile",component:()=>Re(()=>import("./ProfileView-CfK0n4NA.js"),__vite__mapDeps([27,9,1,2])),meta:{title:"Profil"}},{path:"/moje-prezentacje",name:"my-presentations",component:()=>Re(()=>import("./MyPresentationsView-B2-iuRVj.js"),__vite__mapDeps([28,9,10,29])),meta:{title:"Moje prezentacje"}},{path:"/moje-prezentacje/:slug",name:"presentation-speaker",component:()=>Re(()=>import("./PresentationSpeakerView-BRBQT0kX.js"),__vite__mapDeps([30,29,31,32,33,34,35])),props:!0,meta:{bare:!0,title:"Prezentacja"}},{path:"/moje-prezentacje/:slug/pilot",name:"presentation-remote",component:()=>Re(()=>import("./PresentationRemoteView-Ds5HWpgq.js"),__vite__mapDeps([36,29,34,37,38,33])),props:!0,meta:{bare:!0,title:"Pilot"}},{path:"/pilot",name:"pilot",redirect:()=>Wh()},{path:"/prezentacje/:slugHash",name:"presentation-public",component:()=>Re(()=>import("./PresentationPublicView-OxrAHE3z.js"),__vite__mapDeps([39,29,31,32,33,40])),props:!0,meta:{public:!0,bare:!0,title:"Prezentacja"}},{path:"/:rest(.*)*",name:"notfound",component:()=>Re(()=>import("./NotFoundView-Cfgu1NYz.js"),__vite__mapDeps([41,37])),meta:{title:"Nie znaleziono"}}]});dn.beforeEach(async e=>{const t=cc();return t.ready||await t.restore(e),!e.meta.public&&!t.loggedIn?{name:"login",query:e.fullPath==="/"?{}:{redirect:e.fullPath}}:e.meta.guest&&t.loggedIn?{name:"dashboard"}:!0});dn.afterEach(e=>{const t=e.meta.title;document.title=t?`${t} · BM II°`:"BM II°"});const Ve="/_bm/api/v1",Ke={dashboard:()=>Z.request(`${Ve}/dashboard`),courses:e=>Z.request(`${Ve}/courses`,{query:{semester:e}}),course:e=>Z.request(`${Ve}/courses/${e}`),schedule:(e,t)=>Z.request(`${Ve}/schedule`,{query:{from:e,to:t}}),meetings:()=>Z.request(`${Ve}/meetings`),deadlines:(e,t)=>Z.request(`${Ve}/deadlines`,{query:{from:e,to:t}}),readings:e=>Z.request(`${Ve}/readings`,{query:{course:e}}),markRead:e=>Z.request(`${Ve}/readings/${e}/progress`,{method:"PUT"}),unmarkRead:e=>Z.request(`${Ve}/readings/${e}/progress`,{method:"DELETE"}),markOwned:e=>Z.request(`${Ve}/readings/${e}/owned`,{method:"PUT"}),unmarkOwned:e=>Z.request(`${Ve}/readings/${e}/owned`,{method:"DELETE"}),materials:(e={})=>Z.raw(`${Ve}/materials`,{query:{...e}}),material:e=>Z.request(`${Ve}/materials/${e}`),calendarFeed:()=>Z.request(`${Ve}/calendar-feed`),saveCalendarFeed:e=>Z.request(`${Ve}/calendar-feed`,{method:"PUT",body:e}),rotateCalendarFeed:()=>Z.request(`${Ve}/calendar-feed/rotate`,{method:"POST"}),deleteCalendarFeed:()=>Z.request(`${Ve}/calendar-feed`,{method:"DELETE"})},Jh={"historia-koncepcje":"Historia / koncepcje wojny i pokoju",specjalnosc:"Specjalność"};function Vm(e){return Jh[e]??e}function Bi(e){const t=new Map;for(const n of e){if(!n.elective_group)continue;const s=t.get(n.elective_group)??[];s.includes(n.name)||s.push(n.name),t.set(n.elective_group,s)}return[...t].map(([n,s])=>({code:n,options:s}))}function Yh(e,t){const n={};for(const s of Bi(e)){const r=t[s.code];r&&s.options.includes(r)&&(n[s.code]=r)}return n}function Qh(e,t){if(!e.elective_group)return!1;const n=t[e.elective_group];return n!==void 0&&n!==e.name}function Ka(e,t,n=!1){const s=new Set;if(n)return s;for(const r of e)Qh(r,t)&&s.add(r.id);return s}function Gr(e,t){return t.size===0?e:e.filter(n=>n.course_id===null||!t.has(n.course_id))}function Zh(e,t){return Bi(e).filter(n=>n.options.length>1&&!t[n.code])}function Fm(e,t){return!!e.elective_group&&!t[e.elective_group]}const il="bm.showAllElectives";function ol(e){try{return localStorage.getItem(e)}catch{return null}}function ll(e,t){try{localStorage.setItem(e,t)}catch{}}const rs=yn("electives",()=>{const e=ne({}),t=ne(ol(il)==="1"),n=ne(null),s=()=>n.value===null?null:`bm.electives.${n.value}`,r=()=>{const f=s();f&&ll(f,JSON.stringify(e.value))};function i(f){n.value=f;try{const p=JSON.parse(ol(`bm.electives.${f}`)??"{}");e.value=p&&typeof p=="object"?p:{}}catch{e.value={}}}const o=X(()=>Object.keys(e.value).length>0);function l(f,p){const g={...e.value};p===null?delete g[f]:g[f]=p,e.value=g,r()}function a(f){t.value=f,ll(il,f?"1":"0")}function c(f){const p=Yh(f,e.value);Object.keys(p).length!==Object.keys(e.value).length&&(e.value=p,r())}function u(){e.value={},n.value=null}return{choices:e,showAll:t,userId:n,hasChoices:o,load:i,choose:l,setShowAll:a,prune:c,reset:u}}),ps=yn("toast",()=>{const e=ne("");let t;function n(r,i=4e3){e.value=r,clearTimeout(t),t=setTimeout(()=>e.value="",i)}function s(){e.value=""}return{message:e,show:n,clear:s}});function On(e){return e instanceof Xe?e.message:"Nie udało się wczytać danych."}function Sn(e){const t=Mn(null),n=ne(!1),s=ne("");let r=null;function i(l=!1){return r||(t.value!==null&&!l?Promise.resolve():(n.value=!0,s.value="",r=e().then(a=>{t.value=a}).catch(a=>{s.value=On(a)}).finally(()=>{n.value=!1,r=null}),r))}function o(){t.value=null,s.value="",n.value=!1,r=null}return{data:t,loading:n,error:s,load:i,reset:o}}const al="2000-01-01",Ga=yn("bm",()=>{const e=Sn(()=>Ke.courses()),t=Sn(()=>Ke.meetings()),n=Sn(()=>Ke.schedule(al)),s=Sn(()=>Ke.deadlines(al)),r=Sn(()=>Ke.readings()),i=Sn(()=>Ke.dashboard()),o=X(()=>e.data.value),l=X(()=>t.data.value),a=X(()=>i.data.value),c=rs(),u=X(()=>Bi(o.value??[])),f=X(()=>Zh(o.value??[],c.choices)),p=X(()=>Ka(o.value??[],c.choices,c.showAll)),g=X(()=>Gr(n.data.value??[],p.value)),_=X(()=>Gr(s.data.value??[],p.value)),b=X(()=>Gr(r.data.value??[],p.value)),E=X(()=>r.data.value??[]),w=X(()=>(o.value??[]).filter(B=>!p.value.has(B.id))),x=X(()=>{const B=b.value,ve=B.filter(ge=>ge.is_required);return{total:B.length,read:B.filter(ge=>ge.read_at).length,requiredTotal:ve.length,requiredRead:ve.filter(ge=>ge.read_at).length}}),L=X(()=>new Map((o.value??[]).map(B=>[B.id,B])));async function k(B=!1){await e.load(B),e.data.value&&c.prune(e.data.value)}async function F(B,ve){const ge=r.data.value,oe=ge?.find(_e=>_e.id===B);if(!ge||!oe)return;const Y=oe.read_at,te=_e=>{r.data.value=ge.map(Te=>Te.id===B?{...Te,read_at:_e}:Te)};te(ve?new Date().toISOString():null);try{const _e=ve?await Ke.markRead(B):await Ke.unmarkRead(B);te(_e.read_at)}catch(_e){te(Y),ps().show(`Nie udało się zapisać zmiany. ${On(_e)}`)}}async function le(B,ve){const ge=r.data.value,oe=ge?.find(_e=>_e.id===B);if(!ge||!oe)return;const Y=oe.owned_at,te=_e=>{r.data.value=ge.map(Te=>Te.id===B?{...Te,owned_at:_e}:Te)};te(ve?new Date().toISOString():null);try{const _e=ve?await Ke.markOwned(B):await Ke.unmarkOwned(B);te(_e.owned_at)}catch(_e){te(Y),ps().show(`Nie udało się zapisać zmiany. ${On(_e)}`)}}const V=[e,t,n,s,r,i],q=X(()=>V.some(B=>B.loading.value)),U=X(()=>V.find(B=>B.error.value)?.error.value??""),ie=X(()=>({courses:e.data.value!==null,meetings:t.data.value!==null,schedule:n.data.value!==null,deadlines:s.data.value!==null,readings:r.data.value!==null,dashboard:i.data.value!==null}));function I(){for(const B of V)B.error.value&&B.load(!0)}function Se(){for(const B of V)B.reset()}return{courses:o,electiveGroups:u,pendingElectives:f,hidden:p,meetings:l,dashboard:a,schedule:g,deadlines:_,readings:b,allReadings:E,visibleCourses:w,readingStats:x,courseById:L,loading:q,error:U,loaded:ie,retry:I,loadCourses:k,loadMeetings:(B=!1)=>t.load(B),loadSchedule:(B=!1)=>n.load(B),loadDeadlines:(B=!1)=>s.load(B),loadReadings:(B=!1)=>r.load(B),loadDashboard:(B=!1)=>i.load(B),toggleReading:F,toggleOwned:le,reset:Se}});function Xh(e,t){return[...Ka(e,t,!1)].sort((n,s)=>n-s)}function ep(e,t){if(e.length!==t.length)return!1;const n=[...e].sort((r,i)=>r-i),s=[...t].sort((r,i)=>r-i);return n.every((r,i)=>r===s[i])}async function Bm(e){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(e),!0}catch{}try{const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="fixed",t.style.top="-1000px",document.body.appendChild(t),t.select();const n=document.execCommand("copy");return document.body.removeChild(t),n}catch{return!1}}const Wa=yn("calendarFeed",()=>{const e=ne(void 0),t=ne(!1),n=ne(!1),s=ne(""),r=Ga(),i=rs();let o=Promise.resolve();function l(w){const x=o.then(w,w);return o=x.catch(()=>{}),x}async function a(w=!1){if(!(e.value!==void 0&&!w)){t.value=!0,s.value="";try{e.value=await Ke.calendarFeed()}catch(x){s.value=On(x)}finally{t.value=!1}}}async function c(){await r.loadCourses();const w=r.courses;return w?Xh(w,i.choices):null}async function u(w){n.value=!0,s.value="";try{await l(w)}catch(x){s.value=On(x)}finally{n.value=!1}}function f(){return u(async()=>{const w=await c();e.value=await Ke.saveCalendarFeed(w?{excluded_course_ids:w}:{})})}function p(w){return u(async()=>{e.value=await Ke.saveCalendarFeed(w)})}function g(){return u(async()=>{e.value=await Ke.rotateCalendarFeed()})}function _(){return u(async()=>{await Ke.deleteCalendarFeed(),e.value=null})}function b(){return l(async()=>{e.value===void 0&&await a();const w=e.value;if(!w)return;const x=await c();if(!(!x||ep(x,w.excluded_course_ids)))try{e.value=await Ke.saveCalendarFeed({excluded_course_ids:x})}catch(L){ps().show(`Nie udało się zaktualizować kalendarza. ${On(L)}`)}})}pn(()=>i.choices,()=>{i.userId!==null&&b()});function E(){e.value=void 0,s.value="",t.value=!1,n.value=!1}return{feed:e,loading:t,busy:n,error:s,load:a,create:f,save:p,rotate:g,remove:_,sync:b,reset:E}}),Ls="/_bm/api/v1",rt="/_chat/api/v1";function cl(e,t,n){return new Promise((s,r)=>{const i=new XMLHttpRequest;i.open("POST",`${rt}/attachments`),i.setRequestHeader("Accept","application/json");const o=ht.get();if(o&&i.setRequestHeader("Authorization",`Bearer ${o}`),i.upload.onprogress=a=>{a.lengthComputable&&a.total>0&&t?.(Math.min(100,Math.round(a.loaded/a.total*100)))},i.onload=()=>{let a=null;try{a=i.responseText?JSON.parse(i.responseText):null}catch{a=null}const c=a&&typeof a=="object"&&"data"in a?a.data:a;if(i.status>=200&&i.status<300&&c&&typeof c.id=="number"){s({id:c.id,filename:String(c.filename??e.name),size:Number(c.size??e.size)});return}const u=a??{};r(new Xe(i.status,typeof u.error=="string"?u.error:`Błąd ${i.status}`,u.errors??{}))},i.onerror=()=>r(new Xe(0,"Brak połączenia z serwerem.")),i.onabort=()=>r(new Xe(0,"Przerwano wysyłanie.")),n){if(n.aborted){r(new Xe(0,"Przerwano wysyłanie."));return}n.addEventListener("abort",()=>i.abort(),{once:!0})}const l=new FormData;l.append("file",e,e.name),i.send(l)})}async function tp(e,t,n){const s=ht.get();try{return await cl(e,t,n)}catch(r){if(!(r instanceof Xe)||r.status!==401||!s||n?.aborted)throw r;await Z.request("/_user/api/v1/fetch").catch(()=>null);const i=ht.get();if(!i||i===s)throw r;return t?.(0),cl(e,t,n)}}async function np(e,t,n){const s=await Z.blob(`${rt}/attachments/${e}/${t}`),r=URL.createObjectURL(new Blob([s],{type:"application/octet-stream"})),i=document.createElement("a");i.href=r,i.download=n||"plik",i.rel="noopener",i.style.display="none",document.body.appendChild(i),i.click(),i.remove(),setTimeout(()=>URL.revokeObjectURL(r),3e4)}const ze={bootstrap:()=>Z.request(`${Ls}/chat`),members:()=>Z.request(`${Ls}/chat/members`),messages:(e,{limit:t=50,before:n}={})=>Z.request(`${rt}/conversations/${e}/messages`,{query:{limit:t,before:n}}),send:(e,t)=>Z.request(`${rt}/conversations/${e}/messages`,{method:"POST",body:t}),message:e=>Z.request(`${rt}/messages/${e}`),markRead:e=>Z.request(`${rt}/conversations/${e}/read`,{method:"POST"}),typing:e=>Z.request(`${rt}/conversations/${e}/typing`,{method:"POST"}),edit:(e,t)=>Z.request(`${rt}/messages/${e}`,{method:"PUT",body:{content:t}}),remove:e=>Z.request(`${rt}/messages/${e}`,{method:"DELETE"}),reactions:()=>Z.request(`${rt}/reactions`),addReaction:(e,t)=>Z.request(`${rt}/messages/${e}/reactions`,{method:"POST",body:{key:t}}),removeReaction:(e,t)=>Z.request(`${rt}/messages/${e}/reactions/${encodeURIComponent(t)}`,{method:"DELETE"}),embeds:(e,t="")=>Z.request(`${Ls}/chat/embeds`,{query:{type:e,q:t.trim()}}),resolveEmbeds:e=>Z.request(`${Ls}/chat/embeds/resolve`,{method:"POST",body:{refs:e}}),upload:tp,download:np,startDm:e=>Z.request(`${rt}/contexts/bm/1/dm`,{method:"POST",body:{user_id:e}})};function Nt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function He(e){return typeof e=="number"&&Number.isInteger(e)&&e>0?e:null}function sp(e){return Nt(e)?He(e.id)!==null&&He(e.conversation_id)!==null&&He(e.sender_id)!==null&&typeof e.created_at=="string"&&(e.content===null||typeof e.content=="string")&&Array.isArray(e.attachments):!1}function rp(e){if(!Nt(e)||typeof e.event!="string")return null;const t=e.payload;switch(e.event){case"created.chat.message":{if(!Nt(t))return null;const n=He(t.id),s=He(t.conversation_id),r=He(t.sender_id);return n===null||s===null||r===null?null:{kind:"created",id:n,conversationId:s,senderId:r}}case"chat:message":{if(!Nt(t)||!sp(t.message))return null;const n=He(t.conversation_id);return n===null||n!==t.message.conversation_id?null:{kind:"chatMessage",conversationId:n,message:t.message}}case"typing.chat.message":{if(!Nt(t)||t.action!=="typing-start")return null;const n=He(t.conversation_id),s=He(t.user_id);return n===null||s===null?null:{kind:"typing",conversationId:n,userId:s}}case"chat:read":{if(!Nt(t))return null;const n=He(t.conversation_id),s=He(t.user_id);return n===null||s===null?null:{kind:"read",conversationId:n,userId:s}}case"chat:unread":return!Nt(t)||typeof t.count!="number"||!Number.isInteger(t.count)||t.count<0?null:{kind:"unread",count:t.count};case"mentions.changed":return{kind:"mentions"};case"reacted.chat.message":{if(!Nt(t))return null;const n=He(t.id),s=He(t.conversation_id),r=He(t.user_id);return n===null||s===null||r===null||typeof t.key!="string"||t.key===""||t.action!=="added"&&t.action!=="removed"?null:{kind:"reacted",id:n,conversationId:s,userId:r,key:t.key,added:t.action==="added"}}case"updated.chat.message":case"deleted.chat.message":{if(!Nt(t))return null;const n=He(t.id),s=He(t.conversation_id);return n===null||s===null?null:{kind:e.event==="updated.chat.message"?"updated":"deleted",id:n,conversationId:s}}default:return null}}function ip(e,t){if(e.kind!=="created")return!1;const n=t[e.conversationId];return!!n&&!n.some(s=>s.id===e.id)}function op(e,t,{seen:n}){const s={id:t.id,sender_id:t.sender_id,content:t.content??"",created_at:t.created_at},r=e.findIndex(a=>a.id===t.conversation_id);if(r===-1)return[{id:t.conversation_id,type:"dm",other_user_id:t.sender_id,unread:n?0:1,last_message:s},...e];const i=e[r];if(i.last_message&&i.last_message.id===t.id)return e;const o=!i.last_message||Date.parse(t.created_at)>=Date.parse(i.last_message.created_at),l={...i,unread:n?i.unread:i.unread+1,last_message:o?s:i.last_message};return e.map((a,c)=>c===r?l:a)}function Wr(e,t,n,s,r=[]){const i=e?[...e]:[],o=i.findIndex(c=>c.key===t),l=o>=0&&i[o].user_ids.includes(n);if(s===l)return e||i;if(s){if(o>=0)return i[o]={...i[o],count:i[o].count+1,user_ids:[...i[o].user_ids,n]},i;const c={key:t,count:1,user_ids:[n]},u=p=>{const g=r.indexOf(p);return g<0?r.length:g};let f=i.length;return r.includes(t)&&(f=i.findIndex(p=>u(p.key)>u(t)),f<0&&(f=i.length)),i.splice(f,0,c),i}const a=i[o].user_ids.filter(c=>c!==n);return a.length===0?i.splice(o,1):i[o]={...i[o],count:Math.max(0,i[o].count-1),user_ids:a},i}const lp=["svg","svgz","html","htm","xhtml","xml"],ap=["image/svg+xml","text/html","application/xhtml+xml","text/xml","application/xml"];function cp(e){const t=e/1048576;return Number.isInteger(t)?String(t):(Math.floor(t*10)/10).toFixed(1).replace(".",",")}function up(e){const t=e.name.lastIndexOf("."),n=(t>=0?e.name.slice(t+1):e.name).toLowerCase();if(lp.includes(n))return!0;const s=(e.type||"").split(";")[0].trim().toLowerCase();return ap.includes(s)}function fp(e,t,n){const s=[],r=[];let i=!1,o=!1;for(const l of e){if(up(l)){i=!0;continue}if(t.max_bytes>0&&l.size>t.max_bytes){r.push(`Plik „${l.name}” jest za duży. Limit to ${cp(t.max_bytes)} MB.`);continue}if(n+s.length>=t.max_files){o=!0;continue}s.push(l)}return i&&r.unshift("Plików SVG, HTML i XML nie można wysyłać na czacie."),o&&r.unshift(`Możesz dołączyć najwyżej ${t.max_files} plików do jednej wiadomości.`),{accepted:s,errors:r}}const Ja="Europe/Warsaw",dp="pl-PL";function Ya(e,t,n,s){const r=Math.abs(e);if(r===1)return t;const i=r%10,o=r%100;return i>=2&&i<=4&&!(o>=12&&o<=14)?n:s}function mi(e,t,n,s){return`${e} ${Ya(e,t,n,s)}`}const zn=(e,t=Ja)=>new Intl.DateTimeFormat(dp,{timeZone:t,...e}),hp=zn({hour:"2-digit",minute:"2-digit",hourCycle:"h23"}),pp=zn({weekday:"long",day:"numeric",month:"long"}),mp=zn({day:"numeric",month:"long",year:"numeric"}),gp=zn({day:"numeric",month:"short"});zn({weekday:"long"});const yp=new Intl.DateTimeFormat("sv-SE",{timeZone:Ja,year:"numeric",month:"2-digit",day:"2-digit"});function ks(e){return new Date(`${e}T12:00:00Z`)}const Ds=e=>zn(e,"UTC"),gi=e=>hp.format(new Date(e)),vp=e=>pp.format(new Date(e)),_p=e=>mp.format(new Date(e)),Um=e=>gp.format(new Date(e)),bp=e=>`${_p(e)}, ${gi(e)}`,Qa=e=>yp.format(typeof e=="string"?new Date(e):e),wp=(e=new Date)=>Qa(e);function Za(e,t=new Date){const n=Date.parse(`${wp(t)}T00:00:00Z`),s=Date.parse(`${Qa(e)}T00:00:00Z`);return Math.round((s-n)/864e5)}function Ep(e,t=new Date){const n=Za(e,t);return n===0?"dzisiaj":n===1?"jutro":n===-1?"wczoraj":n>1?`za ${mi(n,"dzień","dni","dni")}`:`${mi(-n,"dzień","dni","dni")} temu`}function qm(e,t){if(e===t)return Ds({day:"numeric",month:"long",year:"numeric"}).format(ks(e));const[n,s]=e.split("-"),[r,i]=t.split("-"),o=c=>Ds({day:"numeric"}).format(ks(c)),l=c=>Ds({day:"numeric",month:"long"}).format(ks(c)),a=c=>Ds({year:"numeric"}).format(ks(c));return n===r&&s===i?`${o(e)}–${l(t)} ${a(t)}`:n===r?`${l(e)} – ${l(t)} ${a(t)}`:`${l(e)} ${a(e)} – ${l(t)} ${a(t)}`}function Hm(e){return e?/online/i.test(e)?"online":/stacjonarn/i.test(e)?"stacjonarny":null:null}function Km(e){return e?e.trim().toLowerCase()==="online"?"":e.trim():""}const Sp={wyklad:"wykład",cwiczenia:"ćwiczenia",konwersatorium:"konwersatorium",seminarium:"seminarium",inne:"zajęcia"},Rp={zaliczenie:"zaliczenie",egzamin:"egzamin",praca:"praca",organizacyjne:"organizacyjne",inne:"inne"},Gm={pdf:"PDF",notatka:"notatka",link:"link",inne:"inne"};function Wm(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(0)} KB`:`${(e/1024/1024).toFixed(1).replace(".",",")} MB`}const Ap=["deadline","class","reading"],yi=3,Jm={deadline:"Termin",class:"Zajęcia",reading:"Lektura"};function Qt(e){return`${e.type}:${e.id}`}function xp(e){return typeof e=="string"&&Ap.includes(e)}function Xa(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}function Tp(e){if(!e||typeof e!="object")return!1;const t=e;return xp(t.type)&&Xa(t.id)}function Pp(e,t=yi){const n=e?.metadata?.embeds;if(!Array.isArray(n))return[];const s=[],r=new Set;for(const i of n){if(s.length>=t)break;if(!Tp(i))continue;const o={type:i.type,id:i.id},l=Qt(o);r.has(l)||(r.add(l),s.push(o))}return s}function ec(e){switch(e.type){case"deadline":return`/terminarz#termin-${e.id}`;case"class":return`/plan#zajecia-${e.id}`;case"reading":return`/lektury#lektura-${e.id}`}}function Cp(e,t=""){return e.map(n=>t+ec(n)).join(` +`)}function Ym(e,t){if(!e||!t.length)return!1;const n=e.trim().split(` +`);return n.length!==t.length?!1:n.every((s,r)=>{const i=ec(t[r]);return s===i?!0:s.endsWith(i)?/^https?:\/\/[^/\s]+$/i.test(s.slice(0,s.length-i.length)):!1})}function Qm(e){switch(e.type){case"deadline":return e.deadline.title;case"class":return e.session.course?.name??"";case"reading":return e.reading.title}}function Zm(e){switch(e.type){case"deadline":return`/terminarz#termin-${e.id}`;case"class":{const t=e.session;return t.meeting_number?`/plan?zjazd=${t.meeting_number}#zajecia-${e.id}`:`/przedmioty/${t.course_id}`}case"reading":return`/lektury#lektura-${e.id}`}}function Xm(e){switch(e.type){case"deadline":{const t=e.deadline,n=[bp(t.due_at),Rp[t.kind]??t.kind];return t.course?.name&&n.push(t.course.name),n.join(" · ")}case"class":{const t=e.session,n=[`${vp(t.starts_at)}, ${gi(t.starts_at)}–${gi(t.ends_at)}`];return t.course?.form&&n.push(Sp[t.course.form]??t.course.form),t.is_online?n.push("online"):t.room&&n.push(`sala ${t.room}`),n.join(" · ")}case"reading":{const t=e.reading;return[t.author,t.course?.name].filter(n=>!!n).join(" · ")}}}function ul(e,t){const n=Za(e,t);return{text:Ep(e,t),warn:n>=0&&n<=14}}function eg(e,t=new Date){switch(e.type){case"deadline":return ul(e.deadline.due_at,t);case"class":return ul(e.session.starts_at,t);case"reading":return e.reading.is_required?{text:"obowiązkowa",warn:!1}:null}}const Op=[{path:"/terminarz",hash:/^#termin-([1-9]\d{0,15})$/,type:"deadline"},{path:"/plan",hash:/^#zajecia-([1-9]\d{0,15})$/,type:"class"},{path:"/lektury",hash:/^#lektura-([1-9]\d{0,15})$/,type:"reading"}];function tc(e,t){const n=e.trim();if(!n||!/^https?:\/\//i.test(n)&&(!n.startsWith("/")||n.startsWith("//")))return null;let r;try{r=new URL(n,t)}catch{return null}if(r.origin!==t)return null;for(const i of Op){if(r.pathname!==i.path)continue;const o=i.hash.exec(r.hash);if(!o)return null;const l=Number(o[1]);return Xa(l)?{type:i.type,id:l}:null}return null}const Mp=/https?:\/\/[^\s<>"'`]+|(?"'`]+/gi;function Ip(e,t){const n=[],s=new Set;for(const r of e.matchAll(Mp)){const i=r[0].replace(/[.,;:!?)\]}"'”»]+$/,""),o=tc(i,t);if(!o)continue;const l=Qt(o);s.has(l)||(s.add(l),n.push(o))}return n}function tg(e,t){const n=Ip(e,t);return n.length?{insertText:e.trim().split(/\s+/).every(i=>tc(i,t)!==null)?"":e,refs:n}:{insertText:e,refs:n}}const Np="/ws",Lp="/api/realtime/token",kp=new Set([401,403,404]);function Dp(e){return kp.has(e)}function jp(e=window.location){return`${e.protocol==="https:"?"wss":"ws"}://${e.host}${Np}`}function zp(e){const t=String(e);return t==="connected"||t==="connecting"?t:"disconnected"}function vi(e){if(!e||typeof e.client!="string")return null;const t=Number(e.user);return!Number.isInteger(t)||t<=0?null:{client:e.client,user:t}}let zt=null,xn=null,ms="disconnected",_r=!1,gn=0;const en=new Map,_i=new Set,Vs=new Set;function nc(e){ms=e;for(const t of[..._i])t(e)}function $p(){_r=!0;for(const e of[...Vs])e()}function sc(e){return _i.add(e),()=>{_i.delete(e)}}function rc(e){return Vs.add(e),_r&&queueMicrotask(()=>Vs.has(e)&&e()),()=>{Vs.delete(e)}}function Vp(){if(zt)return ms==="disconnected"&&!_r&&zt.connect(),Promise.resolve(zt);if(xn)return xn;const e=gn;return xn=(async()=>{try{const{Centrifuge:t,UnauthorizedError:n}=await Re(async()=>{const{Centrifuge:r,UnauthorizedError:i}=await import("./index-B53bcf0x.js");return{Centrifuge:r,UnauthorizedError:i}},[]);if(e!==gn)throw new Error("realtime: disconnected while loading");const s=new t(jp(),{minReconnectDelay:500,maxReconnectDelay:1e4,getToken:async()=>{try{const r=await Z.request(Lp);if(!r||typeof r.token!="string"||r.token==="")throw new Error("realtime: empty token");return r.token}catch(r){throw r instanceof Xe&&Dp(r.status)?($p(),new n("realtime unavailable")):r}}});return s.on("state",r=>{zt===s&&nc(zp(r.newState))}),zt=s,s.connect(),s}finally{e===gn&&(xn=null)}})(),xn}function Kn(e,t){for(const n of[...e.hooks])t(n)}function Fp(e,t,n){let s=en.get(t);if(s)String(s.sub.state)==="subscribed"&&queueMicrotask(()=>s?.hooks.has(n)&&n.onSubscribed?.());else{const r=e.getSubscription(t)??e.newSubscription(t),i={sub:r,hooks:new Set};r.on("publication",o=>Kn(i,l=>l.onPublication?.(o.data))),r.on("subscribed",()=>Kn(i,o=>o.onSubscribed?.())),r.on("unsubscribed",o=>{o.code>=400&&Kn(i,l=>l.onDenied?.(o.code))}),r.on("join",o=>{const l=vi(o.info);l&&Kn(i,a=>a.onJoin?.(l))}),r.on("leave",o=>{const l=vi(o.info);l&&Kn(i,a=>a.onLeave?.(l))}),en.set(t,i),r.subscribe(),s=i}return s.hooks.add(n),s}function ic(e,t){t.sub.removeAllListeners(),t.sub.unsubscribe(),zt?.removeSubscription(t.sub),en.delete(e)}async function Fs(e,t){const n=await Vp(),s={...t},r=gn;Fp(n,e,s);let i=!1;return{close(){if(i)return;i=!0;const o=en.get(e);r!==gn||!o||!o.hooks.delete(s)||o.hooks.size>0||(ic(e,o),en.size===0&&zt===n&&n.disconnect())},resubscribe(){i||r!==gn||en.get(e)?.sub.subscribe()}}}async function Bp(e){const t=en.get(e);if(!t)return null;try{const n=await t.sub.presence();return Object.values(n.clients??{}).map(s=>vi(s)).filter(s=>s!==null)}catch{return null}}function Up(){gn++,xn=null;for(const[t,n]of[...en])ic(t,n);const e=zt;zt=null,_r=!1,e&&(e.disconnect(),e.removeAllListeners()),ms!=="disconnected"&&nc("disconnected")}async function ng(e,t){const n=sc(o=>t.onConnection?.(o)),s=rc(()=>t.onUnavailable?.());let r;try{r=await Fs(e,{onPublication:o=>t.onPublication(o),onSubscribed:()=>t.onSubscribed?.(),onDenied:o=>t.onDenied?.(o)})}catch(o){throw n(),s(),o}ms==="connected"&&t.onConnection?.(ms);let i=!1;return{close(){i||(i=!0,n(),s(),r.close())},resubscribe(){i||r.resubscribe()}}}const qp={max_files:5,max_bytes:62914560};function Hp(e){return`Nie udało się wysłać pliku „${e}”.`}const Kp=Object.freeze({text:"",error:"",sending:!1,embeds:Object.freeze([]),files:Object.freeze([])}),fl=50;function Gp(){return typeof window<"u"&&window.location?window.location.origin:""}function Wp(e){const t=e instanceof Xe?e.status:-1;return t===0?"Nie wysłano: brak połączenia z internetem. Spróbuj ponownie.":t===429?"Za dużo wiadomości w krótkim czasie. Odczekaj chwilę i wyślij ponownie.":t===403||t===404?"Nie masz już dostępu do tej rozmowy.":t===400||t===422?"Tej wiadomości nie da się wysłać. Sprawdź treść i załączniki.":"Nie wysłano wiadomości. Spróbuj ponownie."}function Jp(e){return e instanceof Xe&&e.status===429?"Za dużo nowych rozmów w krótkim czasie. Odczekaj minutę i spróbuj ponownie.":e instanceof Xe&&e.status===0?"Brak połączenia z internetem. Spróbuj ponownie.":"Nie udało się rozpocząć rozmowy. Spróbuj ponownie."}const Yp=15e3,Qp=6e4,Zp=500,ln=50,Xp="Nie udało się wczytać starszych wiadomości.",em=3e3,tm=6e3,dl={add:"Nie udało się dodać reakcji.",remove:"Nie udało się cofnąć reakcji."},hl="Nie udało się zapisać zmian. Spróbuj ponownie.",nm="Nie udało się usunąć wiadomości. Spróbuj ponownie.";function sm(e){e.deleted_at=e.deleted_at??new Date().toISOString(),e.content=null,e.reactions=[],e.attachments=[],e.metadata=void 0}const pl=e=>`chat:conversation:${e}`;function rm(){return typeof document>"u"||typeof document.hasFocus!="function"||document.hasFocus()}function ml(e,t){if(e.some(s=>s.id===t.id))return!1;let n=e.length;for(;n>0&&e[n-1].id>t.id;)n--;return e.splice(n,0,t),!0}const oc=e=>`bm.chat.member.${e}`;function lc(){try{return globalThis.localStorage??null}catch{return null}}function im(e){try{const t=lc()?.getItem(oc(e));return t==="1"?!0:t==="0"?!1:void 0}catch{return}}function om(e,t){try{lc()?.setItem(oc(e),t?"1":"0")}catch{}}const ac=yn("chat",()=>{const e=ne(null),t=ne(void 0),n=ne(!1),s=ne(null),r=ne([]),i=ne(null),o=ne(null),l=ne("general"),a=ne(""),c=ne({}),u=ne({}),f=ne({}),p=ne({}),g=ne({}),_=Mn(new Map),b=ne("idle"),E=ne("idle"),w=ne("idle"),x=ne(!1),L=ne({}),k=ne({}),F=ne({}),le=Mn(new Map),V=ne(!1),q=ne({}),U=ne(null),ie=ne({});let I=0,Se=null,B=null,ve=null;const ge=new Map,oe=new Map,Y=new Set;let te=null,_e=0;const Te=new Map,je=new Map;let Pe=!1,yt=null,vt=null,st=null,Ue=null,P=0,$=[],j=null,K=null;const re=new Set,h=new Map,m=new Map,y=new Map,A=new Set;let T=null;const S=new Map,D=new Map,M=X(()=>s.value?.conversation_id??null);function N(d){return d===M.value?s.value?.unread??0:r.value.find(v=>v.id===d)?.unread??0}function C(d){return d===M.value?s.value?.mentions??0:0}const W=X(()=>r.value.reduce((d,v)=>d+(v.unread>0?v.unread:0),0)),z=X(()=>t.value?Math.max(0,s.value?.unread??0)+W.value:0),G=X(()=>t.value?Math.max(0,s.value?.mentions??0):0),Q=X(()=>{const d=new Map;for(const v of _.value.values())v.handle&&d.set(v.handle,v);return d}),ae=X(()=>e.value!==null?_.value.get(e.value)?.handle??null:null),fe=X(()=>[...new Set(le.value.values())].filter(d=>d!==e.value).sort((d,v)=>d-v)),he=X(()=>fe.value.length+1);function Ce(d){return V.value&&fe.value.includes(d)}function Ne(d){return w.value==="unavailable"?[]:q.value[d]??[]}const at=X(()=>[...r.value].sort((d,v)=>{const R=d.last_message?Date.parse(d.last_message.created_at):-1/0;return(v.last_message?Date.parse(v.last_message.created_at):-1/0)-R||v.id-d.id}));function ct(d){if(!d.member){Xi(),t.value=!1,n.value=!1,s.value=null,r.value=[],i.value=null,o.value=null,l.value="general",c.value={};return}t.value=!0,n.value=d.moderator,s.value=d.general,r.value=(d.conversations??[]).map(R=>({...R})),i.value=d.limits;for(const R of[...y.keys(),...A])Ui(R);o.value!==null&&(o.value===d.general.conversation_id||r.value.some(R=>R.id===o.value))||(o.value=d.general.conversation_id,l.value==="dm"&&(l.value="general"))}function _t(){if(Se)return Se;const d=I,v=E.value==="ready";return v||(E.value="loading"),Se=(async()=>{try{const R=await ze.bootstrap();if(d!==I)return;ct(R),e.value!==null&&om(e.value,R.member),E.value="ready"}catch{d===I&&!v&&(E.value="error")}finally{d===I&&(Se=null)}})(),Se}async function ws(d){e.value!==d&&(eo(),e.value=d),t.value===void 0&&(t.value=im(d));const v=I;await _t(),!(v!==I||!t.value)&&(Wi(),Ji(),hc(),Kc(),o.value!==null&&l.value!=="dms"&&await We(o.value))}async function qe(d){const v=I;u.value[d]=!0,f.value[d]="";try{const R=await ze.messages(d,{limit:ln});if(v!==I)return;c.value[d]=R,L.value[d]=R.length{try{const H=await ze.messages(d,{limit:ln});if(R!==I)return;const ce=c.value[d],be=ce?.at(-1)?.id??0;if(!ce||H.length>=ln&&H[0].id>be){c.value[d]=H,f.value[d]="",L.value[d]=H.length[se.id,se]));for(const se of H)de.set(se.id,se);c.value[d]=[...de.values()].sort((se,xs)=>se.id-xs.id)}catch{}finally{R===I&&h.delete(d)}})();return h.set(d,O),O}async function Es(d){const v=c.value[d];if(!v?.length||k.value[d]||L.value[d])return;const R=I;k.value[d]=!0,F.value[d]="";try{const O=await ze.messages(d,{limit:ln,before:v[0].id});if(R!==I)return;const H=c.value[d]??[],ce=new Set(H.map(be=>be.id));c.value[d]=[...O.filter(be=>!ce.has(be.id)),...H],L.value[d]=O.lengthR.id===d);v&&(v.unread=0)}function dc(d){const v=c.value[d]?.at(-1)?.id??0;if(!(N(d)>0||C(d)>0||v>(m.get(d)??0))||(Ui(d),m.set(d,v),y.has(d)))return;const O=I;y.set(d,setTimeout(()=>{y.delete(d),O===I&&(A.add(d),ze.markRead(d).catch(()=>{}).finally(()=>{O===I&&A.delete(d)}))},Zp))}function hc(){T||typeof document>"u"||(T=()=>{document.visibilityState==="visible"&&t.value&&$n()},document.addEventListener("visibilitychange",T))}function qi(){return l.value==="dms"?null:o.value}function pc(d){return o.value===d&&l.value!=="dms"&&x.value&&rm()}function Hi(d){const v=c.value[d.conversation_id];v&&ml(v,d);const R=r.value.find(O=>O.id===d.conversation_id);R&&(!R.last_message||Date.parse(d.created_at)>=Date.parse(R.last_message.created_at))&&(R.last_message={id:d.id,sender_id:d.sender_id,content:d.content??"",created_at:d.created_at})}async function mc(){l.value="general",M.value!==null&&await We(M.value)}function gc(){l.value="dms",a.value="",Pr()}async function br(d){l.value="dm",await We(d)}function Ki(d){return r.value.find(v=>v.other_user_id===d)}async function yc(d){a.value="";const v=Ki(d);if(v)return await br(v.id),v.id;const R=I;try{const O=await ze.startDm(d);return R!==I?null:(r.value.some(H=>H.id===O.id)||r.value.unshift({id:O.id,type:O.type||"dm",other_user_id:d,unread:0,last_message:null}),await br(O.id),O.id)}catch(O){return R===I&&(a.value=Jp(O)),null}}function wr(d){return d!==null&&p.value[d]||Kp}function Ss(d){return p.value[d]||(p.value[d]={text:"",error:"",sending:!1,embeds:[],files:[]}),p.value[d]}function Er(d){return wr(d).files.some(v=>v.state==="uploading")}function vc(d){const v=wr(d);return v.sending||Er(d)?!1:v.text.trim()!==""||v.embeds.length>0||v.files.some(R=>R.state==="done")}function Gi(d,v){const R=Te.get(v),O=p.value[d]?.files.find(de=>de.localId===v);if(!R||!O)return;O.state="uploading",O.progress=0,O.id=null;const H=new AbortController;je.set(v,H);const ce=I,be=()=>p.value[d]?.files.find(de=>de.localId===v);ze.upload(R,de=>{const se=be();ce===I&&se&&se.state==="uploading"&&(se.progress=de)},H.signal).then(de=>{const se=be();ce!==I||!se||H.signal.aborted||(se.state="done",se.progress=100,se.id=de.id)}).catch(()=>{const de=be();if(ce!==I||!de||H.signal.aborted)return;de.state="failed";const se=p.value[d];se&&(se.error=Hp(de.name))}).finally(()=>{je.get(v)===H&&je.delete(v)})}function _c(d,v){const R=Ss(d),{accepted:O,errors:H}=fp(v,i.value??qp,R.files.length);R.error=H.join(" ");for(const ce of O){const be=++_e;Te.set(be,ce),R.files.push({localId:be,name:ce.name,size:ce.size,progress:0,state:"uploading",id:null}),Gi(d,be)}return H}function bc(d,v){const R=p.value[d]?.files.find(H=>H.localId===v);if(!R||R.state!=="failed")return;const O=p.value[d];O&&(O.error=""),Gi(d,v)}function wc(d,v){je.get(v)?.abort(),je.delete(v),Te.delete(v);const R=p.value[d];R&&(R.files=R.files.filter(O=>O.localId!==v))}const Rs=X(()=>Math.min(i.value?.max_embeds||yi,yi));function Ec(d,v,R){const O=Ss(d),H=Qt(v);return O.embeds.some(ce=>Qt(ce)===H)||O.embeds.length>=Rs.value?!1:(O.embeds.push({type:v.type,id:v.id}),O.error="",R?ie.value[H]=R:Sr([v]),!0)}function Sc(d,v){const R=p.value[d];if(!R)return;const O=Qt(v);R.embeds=R.embeds.filter(H=>Qt(H)!==O)}function Rc(d){return ie.value[Qt(d)]}function Sr(d,v=!1){for(const R of d){const O=Qt(R);Y.has(O)||oe.has(O)||!v&&O in ie.value||oe.set(O,{type:R.type,id:R.id})}if(!oe.size)return te??Promise.resolve();if(!te){const R=I;te=Promise.resolve().then(async()=>{const O=[...oe.entries()];oe.clear(),te=null;for(const[H]of O)Y.add(H);for(let H=0;Hde));if(R!==I)return;for(const[de]of ce){const se=be&&typeof be=="object"?be[de]:void 0;ie.value[de]=se??null}}catch{}finally{if(R===I)for(const[be]of ce)Y.delete(be)}}})}return te}function Ac(d,v=!1){const R=[];for(const O of d??[])O.deleted_at||R.push(...Pp(O,Rs.value));return Sr(R,v)}function xc(d,v){const R=Ss(d);R.text=v,R.error=""}async function Tc(d=o.value){if(d===null)return!1;const v=Ss(d),R=v.embeds.slice(0,Rs.value),O=v.files.filter(se=>se.state==="done"&&se.id!==null),H=O.map(se=>se.id);let ce=v.text.trim();if(!ce&&!R.length&&!H.length||v.sending||Er(d))return!1;!ce&&!H.length&&(ce=Cp(R,Gp()));const be={content:ce};H.length&&(be.attachment_ids=H),R.length&&(be.metadata={embeds:R.map(se=>({type:se.type,id:se.id}))}),v.sending=!0,v.error="";const de=I;try{const se=await ze.send(d,be);if(de!==I)return!1;Hi(se),v.text="",v.embeds=[];const xs=new Set(O.map(Vn=>Vn.localId));for(const Vn of xs)Te.delete(Vn);return v.files=v.files.filter(Vn=>!xs.has(Vn.localId)),!0}catch(se){return de!==I||(v.error=Wp(se),se instanceof Xe&&(se.status===403||se.status===404)&&_t()),!1}finally{v.sending=!1}}function Pc(d,v){g.value[d]={...v}}function Cc(d){return g.value[d]??null}function Wi(d=!1){if(B)return B;if(b.value==="ready"&&!d)return Promise.resolve();const v=I;return b.value="loading",B=(async()=>{try{const R=await ze.members();if(v!==I)return;_.value=new Map(R.map(O=>[O.id,O])),b.value="ready"}catch{v===I&&(b.value="error")}finally{v===I&&(B=null)}})(),B}function Ji(){if(U.value!==null)return Promise.resolve();if(ve)return ve;const d=I;return ve=(async()=>{try{const v=await ze.reactions();d===I&&(U.value=Array.isArray(v)?v.filter(R=>typeof R=="string"&&R!==""):[])}catch{}finally{d===I&&(ve=null)}})(),ve}function _n(d,v){return c.value[d]?.find(R=>R.id===v)}async function Oc(d,v){const R=e.value,O=_n(d.conversation_id,d.id);if(R===null||!O||O.deleted_at)return;const H=!(O.reactions??[]).some(de=>de.key===v&&de.user_ids.includes(R));O.reactions=Wr(O.reactions,v,R,H,U.value??[]);const ce=(ge.get(O.id)??0)+1;ge.set(O.id,ce);const be=I;try{const de=H?await ze.addReaction(O.id,v):await ze.removeReaction(O.id,v);if(be!==I||ge.get(O.id)!==ce)return;const se=_n(d.conversation_id,d.id);se&&!se.deleted_at&&(se.reactions=de.reactions??[])}catch{if(be!==I)return;const de=_n(d.conversation_id,d.id);de&&(de.reactions=Wr(de.reactions,v,R,!H,U.value??[])),ps().show(H?dl.add:dl.remove)}finally{be===I&&ge.get(O.id)===ce&&ge.delete(O.id)}}function Mc(d){return e.value!==null&&d.sender_id===e.value&&!d.deleted_at&&d.type==="text"}function Ic(d){return e.value===null||d.deleted_at?!1:d.sender_id===e.value?!0:n.value&&M.value!==null&&d.conversation_id===M.value}function Yi(d){const v=c.value[d.conversation_id],R=v?v.findIndex(H=>H.id===d.id):-1;v&&R>=0&&(v[R]=d);const O=r.value.find(H=>H.id===d.conversation_id);O?.last_message?.id===d.id&&(O.last_message={...O.last_message,content:d.content??""})}function As(d,v){const R=_n(d,v);R&&sm(R);const O=r.value.find(H=>H.id===d);O?.last_message?.id===v&&(O.last_message={...O.last_message,content:""})}async function Nc(d,v){const R=v.trim();if(R===(d.content??"").trim())return null;if(!R)return hl;const O=I;try{const H=await ze.edit(d.id,R);return O===I&&Yi(H),null}catch{return hl}}async function Lc(d){const v=I;try{return await ze.remove(d.id),v===I&&As(d.conversation_id,d.id),null}catch(R){return R instanceof Xe&&R.status===404?(v===I&&As(d.conversation_id,d.id),null):nm}}async function kc(d,v){if(!_n(d,v))return;const R=I;try{const O=await ze.message(v);if(R!==I)return;O.deleted_at?As(d,v):Yi(O)}catch{}}function $n(){return _t()}async function Dc(d){if(re.has(d))return;re.add(d);const v=I;try{const R=await ze.message(d);v===I&&Hi(R)}catch{}finally{v===I&&re.delete(d)}}function jc(d){const v=d.conversation_id;xr(v,d.sender_id);const R=pc(v),O=c.value[v];if(O&&ml(O,d),v===M.value){s.value&&!R&&(s.value.unread+=1);return}r.value=op(r.value,d,{seen:R})}function zc(d){switch(d.kind){case"created":xr(d.conversationId,d.senderId),ip(d,c.value)&&Dc(d.id);return;case"typing":Fc(d.conversationId,d.userId);return;case"chatMessage":jc(d.message);return;case"mentions":$n();return;case"updated":kc(d.conversationId,d.id);return;case"deleted":As(d.conversationId,d.id);return;case"reacted":{const v=_n(d.conversationId,d.id);v&&!v.deleted_at&&(v.reactions=Wr(v.reactions,d.key,d.userId,d.added,U.value??[]));return}default:return}}function Rr(d){const v=rp(d);v&&zc(v)}function Ar(){const d=qi();d!==null&&c.value[d]!==void 0&&vn(d),$n()}function $c(d){if(!(w.value==="idle"||w.value==="unavailable")){if(d==="connected"){w.value="connected";return}V.value=!1,Tr(),w.value=w.value==="connected"||w.value==="reconnecting"?"reconnecting":"connecting"}}function Vc(){Qi(),j=setInterval(()=>{const d=qi();d!==null&&vn(d)},Yp),K=setInterval(()=>{$n()},Qp)}function Qi(){j&&clearInterval(j),K&&clearInterval(K),j=null,K=null}function Zi(){!Pe||w.value==="unavailable"||(w.value="unavailable",V.value=!1,Tr(),Vc())}function Fc(d,v){if(v===e.value||w.value==="unavailable")return;const R=q.value[d]??[];R.includes(v)||(q.value[d]=[...R,v]);const O=`${d}:${v}`,H=S.get(O);H&&clearTimeout(H),S.set(O,setTimeout(()=>xr(d,v),tm))}function xr(d,v){const R=`${d}:${v}`,O=S.get(R);O&&clearTimeout(O),S.delete(R);const H=q.value[d];H?.includes(v)&&(q.value[d]=H.filter(ce=>ce!==v))}function Tr(){for(const d of S.values())clearTimeout(d);S.clear(),q.value={}}function Bc(d,v){if(!v.trim()||w.value==="idle"||w.value==="unavailable")return;const R=Date.now(),O=D.get(d);O!==void 0&&R-O{}))}async function Uc(d){const v=I,R=await Bp(d);if(!(v!==I||w.value==="unavailable")){if(R===null){V.value=!1;return}le.value=new Map(R.map(O=>[O.client,O.user])),V.value=!0}}function qc(d){const v=new Map(le.value);v.set(d.client,d.user),le.value=v}function Hc(d){if(!le.value.has(d.client))return;const v=new Map(le.value);v.delete(d.client),le.value=v}async function Kc(){if(Pe||e.value===null||M.value===null)return;Pe=!0;const d=I,v=e.value,R=M.value;w.value="connecting",$.push(sc($c),rc(Zi));try{const O=await Fs(`user:${v}`,{onPublication:Rr,onSubscribed:Ar});if(d!==I)return O.close();yt=O;const H=pl(R),ce=await Fs(H,{onPublication:Rr,onSubscribed:()=>{Ar(),Uc(H)},onJoin:qc,onLeave:Hc});if(d!==I)return ce.close();vt=ce,await Pr()}catch{d===I&&Zi()}}async function Pr(){if(!Pe)return;const d=l.value==="dm"?o.value:null;if(d===Ue)return;const v=++P;if(st?.close(),st=null,Ue=d,d===null)return;const R=I;try{const O=await Fs(pl(d),{onPublication:Rr,onSubscribed:Ar});if(R!==I||v!==P)return O.close();st=O}catch{}}function Xi(){for(const v of $)v();$=[],yt?.close(),vt?.close(),st?.close(),yt=vt=st=null,Ue=null,P++,Qi();const d=Pe;return Pe=!1,w.value="idle",V.value=!1,le.value=new Map,Tr(),D.clear(),d}function eo(){(Xi()||e.value!==null)&&Up(),re.clear(),h.clear();for(const d of y.values())clearTimeout(d);y.clear(),A.clear(),m.clear(),T&&typeof document<"u"&&document.removeEventListener("visibilitychange",T),T=null,I++,Se=null,B=null,ve=null,ge.clear(),U.value=null;for(const d of je.values())d.abort();je.clear(),Te.clear(),oe.clear(),Y.clear(),te=null,ie.value={},e.value=null,t.value=void 0,n.value=!1,s.value=null,r.value=[],i.value=null,o.value=null,l.value="general",a.value="",c.value={},u.value={},f.value={},p.value={},g.value={},L.value={},k.value={},F.value={},_.value=new Map,b.value="idle",E.value="idle"}return{userId:e,member:t,moderator:n,general:s,generalId:M,conversations:r,limits:i,activeId:o,view:l,dmError:a,dmRows:at,messages:c,loading:u,errors:f,drafts:p,anchors:g,members:_,membersByHandle:Q,myHandle:ae,membersState:b,bootstrapState:E,connection:w,panelVisible:x,reachedStart:L,olderLoading:k,olderError:F,dmUnread:W,totalUnread:z,totalMentions:G,unreadOf:N,mentionsOf:C,markRead:dc,loadOlder:Es,presenceAvailable:V,othersOnline:fe,onlineCount:he,isOnline:Ce,typing:q,typingIn:Ne,emitTyping:Bc,init:ws,bootstrap:_t,open:We,showGeneral:mc,showDms:gc,openDm:br,dmWith:Ki,startDm:yc,loadLatest:qe,refreshLatest:vn,refetchCounts:$n,draft:wr,setDraftText:xc,send:Tc,maxEmbeds:Rs,uploading:Er,canSend:vc,uploadFiles:_c,retryUpload:bc,removeFile:wc,stageEmbed:Ec,unstageEmbed:Sc,embedItems:ie,embedItem:Rc,resolveRefs:Sr,resolveFor:Ac,saveAnchor:Pc,anchorFor:Cc,loadMembers:Wi,allowedReactions:U,loadReactions:Ji,toggleReaction:Oc,canEdit:Mc,canDelete:Ic,edit:Nc,remove:Lc,reset:eo}});let Jr=null;const cc=yn("auth",()=>{const e=ne(null),t=ne(ht.get()),n=ne(!1),s=X(()=>t.value!==null),r=X(()=>{const E=e.value;return E?[E.name,E.surname].filter(Boolean).join(" ")||E.email:""});function i(E,w,x){ht.set(E,x),t.value=ht.get(),w&&(e.value=w,rs().load(w.id))}function o(){ht.clear(),t.value=null,e.value=null,Ga().reset(),rs().reset(),Wa().reset(),ac().reset()}async function l(E){E&&(Jr={public:E.meta.public===!0,fullPath:E.fullPath});try{if(ht.get())try{const w=await on.fetch();e.value=w.user,t.value=ht.get(),rs().load(w.user.id)}catch{ht.get()||o()}n.value=!0}finally{Jr=null}}async function a(E,w,x){const L=await on.login({email:E,password:w});i(L.token,L.user,x)}async function c(E,w){const x=await on.register(E);return x.token?(i(x.token,x.user,w),{signedIn:!0,message:""}):{signedIn:!1,message:x.message??""}}function u(E){return i(E.token,E.user,!0),{action:E.action,returnTo:E.return_to}}async function f(E){return u(await on.oauthComplete(E))}async function p(E){return u(await on.oauthRegisterComplete(E))}async function g(){try{await on.logout()}catch{}o(),await dn.push({name:"login"})}async function _(E){const w=await on.update(E);e.value=w.user}function b(){const E=Jr??{public:dn.currentRoute.value.meta.public===!0,fullPath:dn.currentRoute.value.fullPath},w=s.value||e.value!==null;o(),w&&!E.public&&dn.push({name:"login",query:{redirect:E.fullPath,expired:"1"}})}return qh(b),{user:e,token:t,ready:n,loggedIn:s,displayName:r,restore:l,login:a,register:c,completeOAuth:f,completeOAuthRegistration:p,logout:g,updateProfile:_}});function sg({active:e,visible:t,focused:n,atBottom:s}){return e&&t&&n&&s}function lm(e){return e>0?e>99?"99+":String(e):""}function gl(e){return mi(e,"nieprzeczytana wiadomość","nieprzeczytane wiadomości","nieprzeczytanych wiadomości")}function rg(e){return e===1?"wzmianka o Tobie":`${e} ${Ya(e,"wzmianka","wzmianki","wzmianek")} o Tobie`}function ig(e,t,n){if(!(t>0))return null;let s=t,r=null;for(let i=e.length-1;i>=0&&s>0;i--){const o=e[i];o.sender_id!==n&&(r=o.id,s--)}return r}function og(e){return e.length===0?"":e.length===1?`${e[0]} pisze…`:e.length===2?`${e[0]} i ${e[1]} piszą…`:"Kilka osób pisze…"}let Yr=!1;const uc=yn("pwa",()=>{const e=ne(!1),t=Mn(null),n=Mn(null);let s=!1;const r=X(()=>!e.value&&t.value!==null),i=X(()=>n.value!==null);function o(){s||typeof window>"u"||(s=!0,e.value=window.matchMedia?.("(display-mode: standalone)").matches===!0||navigator.standalone===!0,window.addEventListener("beforeinstallprompt",f=>{f.preventDefault(),t.value=f}),window.addEventListener("appinstalled",()=>{e.value=!0,t.value=null}),"serviceWorker"in navigator&&(document.readyState==="complete"?l():window.addEventListener("load",l,{once:!0})))}async function l(){const f=navigator.serviceWorker;f.addEventListener("controllerchange",()=>{Yr&&(Yr=!1,window.location.reload())});try{const p=await f.register("/sw.js",{scope:"/",updateViaCache:"none"});p.waiting&&f.controller&&(n.value=p.waiting),p.addEventListener("updatefound",()=>{const g=p.installing;g&&g.addEventListener("statechange",()=>{g.state==="installed"&&f.controller&&(n.value=g)})}),document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&p.update().catch(()=>{})})}catch{}}async function a(){const f=t.value;if(f){t.value=null;try{await f.prompt(),(await f.userChoice).outcome==="accepted"&&(e.value=!0)}catch{}}}function c(){const f=n.value;f&&(Yr=!0,f.postMessage({type:"SKIP_WAITING"}))}function u(){n.value=null}return{installed:e,deferred:t,waiting:n,canInstall:r,updateReady:i,start:o,install:a,applyUpdate:c,dismissUpdate:u}}),am={class:"shell"},cm={class:"sidebar"},um={"aria-label":"Główna nawigacja"},fm={key:0,class:"unread-badge nav-badge"},dm={"aria-hidden":"true"},hm={class:"sr-only"},pm={class:"who"},mm={class:"muted"},gm={class:"tabbar","aria-label":"Nawigacja"},ym={class:"nav-icon"},vm={key:0,class:"nav-dot","aria-hidden":"true"},_m={key:0,class:"sr-only"},bm={key:0,class:"update-bar",role:"status","aria-live":"polite"},wm=jn({__name:"AppShell",setup(e){const t=cc(),n=ps(),s=uc(),r=Ua();Wa();const i=ac();pn(()=>t.user?.id,f=>{f?i.init(f):i.reset()},{immediate:!0});const o=[{to:"/",label:"Pulpit",icon:"home",match:["dashboard"]},{to:"/plan",label:"Plan zajęć",icon:"calendar",match:["schedule"]},{to:"/terminarz",label:"Terminarz",icon:"flag",match:["deadlines"]},{to:"/przedmioty",label:"Przedmioty",icon:"grad",match:["courses","course"]},{to:"/lektury",label:"Lektury",icon:"book",match:["readings"]},{to:"/materialy",label:"Materiały",icon:"file",match:["materials","material"]},{to:"/sylabusy",label:"Sylabusy",icon:"file",match:["syllabi"]},{to:"/quizy",label:"Quizy",icon:"quiz",match:["quizzes","quiz"]},{to:"/moje-prezentacje",label:"Moje prezentacje",icon:"slides",match:["my-presentations"]},{to:"/profil",label:"Profil",icon:"user",match:["profile"]}],l=[{to:"/",label:"Pulpit",icon:"home",match:["dashboard"]},{to:"/plan",label:"Plan",icon:"calendar",match:["schedule"]},{to:"/lektury",label:"Lektury",icon:"book",match:["readings"]},{to:"/quizy",label:"Quizy",icon:"quiz",match:["quizzes","quiz"]},{to:"/wiecej",label:"Więcej",icon:"more",match:["more","deadlines","courses","course","materials","material","syllabi","my-presentations","profile"]}],a=X(()=>String(r.name??"")),c=X(()=>a.value!=="dashboard"&&i.totalUnread>0?i.totalUnread:0),u=f=>f.includes(a.value);return(f,p)=>{const g=ta("router-link");return tt(),It("div",am,[ke("aside",cm,[Ae(g,{to:"/",class:"brand"},{default:Xn(()=>[...p[4]||(p[4]=[ke("span",{class:"eyebrow"},"UWr · ISMiB",-1),ke("b",null,"BM II°",-1)])]),_:1}),ke("nav",um,[(tt(),It(nt,null,mo(o,_=>Ae(g,{key:_.to,to:_.to,class:Tn({active:u(_.match)}),"aria-current":u(_.match)?"page":void 0},{default:Xn(()=>[Ae(nl,{name:_.icon},null,8,["name"]),li(Kt(_.label)+" ",1),_.to==="/"&&c.value?(tt(),It("span",fm,[ke("span",dm,Kt(Ie(lm)(c.value)),1),ke("span",hm,", "+Kt(Ie(gl)(c.value)),1)])):Un("",!0)]),_:2},1032,["to","class","aria-current"])),64))]),ke("div",pm,[ke("span",mm,Kt(Ie(t).displayName),1),Ie(s).canInstall?(tt(),It("button",{key:0,class:"btn small",type:"button",onClick:p[0]||(p[0]=_=>Ie(s).install())},"Zainstaluj aplikację")):Un("",!0),ke("button",{class:"btn small ghost",type:"button",onClick:p[1]||(p[1]=_=>Ie(t).logout())},"Wyloguj")])]),ke("main",{class:Tn(["main",{wide:Ie(r).meta.wide===!0}]),id:"main"},[uf(f.$slots,"default")],2),ke("nav",gm,[(tt(),It(nt,null,mo(l,_=>Ae(g,{key:_.to,to:_.to,class:Tn({active:u(_.match)}),"aria-current":u(_.match)?"page":void 0},{default:Xn(()=>[ke("span",ym,[Ae(nl,{name:_.icon},null,8,["name"]),_.to==="/"&&c.value?(tt(),It("span",vm)):Un("",!0)]),li(Kt(_.label)+" ",1),_.to==="/"&&c.value?(tt(),It("span",_m,", "+Kt(Ie(gl)(c.value)),1)):Un("",!0)]),_:2},1032,["to","class","aria-current"])),64))]),zu(ke("div",{class:"toast",role:"status","aria-live":"polite"},Kt(Ie(n).message),513),[[td,Ie(n).message]]),Ie(s).updateReady?(tt(),It("div",bm,[p[5]||(p[5]=ke("span",null,"Dostępna jest nowa wersja aplikacji.",-1)),ke("button",{class:"btn small",type:"button",onClick:p[2]||(p[2]=_=>Ie(s).applyUpdate())},"Odśwież"),ke("button",{class:"btn small ghost",type:"button",onClick:p[3]||(p[3]=_=>Ie(s).dismissUpdate())},"Później")])):Un("",!0)])}}}),Em=jn({__name:"App",setup(e){const t=Ua(),n=X(()=>t.meta.public===!0||t.meta.bare===!0);return(s,r)=>{const i=ta("router-view");return n.value?(tt(),cs(i,{key:0})):(tt(),cs(wm,{key:1},{default:Xn(()=>[Ae(i)]),_:1}))}}}),fc=Pd();Ad(Em).use(fc).use(dn).mount("#app");uc(fc).start();export{Ei as $,Xe as A,Ya as B,Sp as C,gi as D,Tn as E,nt as F,qm as G,mo as H,vp as I,Hm as J,Km as K,Tl as L,lu as M,Jm as N,Qm as O,Xm as P,eg as Q,Lh as R,Zm as S,pn as T,tf as U,Im as V,xm as W,ze as X,ar as Y,Qt as Z,nl as _,on as a,ac as a0,Wm as a1,tg as a2,rg as a3,lm as a4,gl as a5,Um as a6,bp as a7,Pp as a8,Ym as a9,$m as aA,Tm as aB,Re as aC,ng as aD,Am as aE,ht as aF,td as aG,Nm as aH,Lm as aI,km as aJ,Dm as aK,ig as aa,sg as ab,og as ac,Ga as ad,mi as ae,Ep as af,Rp as ag,wp as ah,rs as ai,Fm as aj,Ke as ak,On as al,Gm as am,Rm as an,_p as ao,Om as ap,ys as aq,Z as ar,uc as as,Gh as at,Wa as au,Bm as av,Vm as aw,uf as ax,Li as ay,zm as az,ke as b,It as c,jn as d,Ie as e,Un as f,Cm as g,Mm as h,Ae as i,Xn as j,Ua as k,ta as l,jm as m,tt as n,Zu as o,li as p,ps as q,ne as r,cs as s,Kt as t,cc as u,Pm as v,zu as w,X as x,Qa as y,Za as z}; diff --git a/public/assets/index-ChPbaY-q.css b/public/assets/index-ChPbaY-q.css new file mode 100644 index 0000000..f6f0660 --- /dev/null +++ b/public/assets/index-ChPbaY-q.css @@ -0,0 +1 @@ +@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/archivo-narrow-vietnamese-500-normal-CbuGBAYj.woff2) format("woff2"),url(/assets/archivo-narrow-vietnamese-500-normal-DBsYfoQF.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/archivo-narrow-latin-ext-500-normal-CEqYmuFE.woff2) format("woff2"),url(/assets/archivo-narrow-latin-ext-500-normal-DESKgx4f.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/archivo-narrow-latin-500-normal-BH-FPhCi.woff2) format("woff2"),url(/assets/archivo-narrow-latin-500-normal-Oafwxh5s.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/archivo-narrow-vietnamese-600-normal-B3iMS2rD.woff2) format("woff2"),url(/assets/archivo-narrow-vietnamese-600-normal-BOVNaV0C.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/archivo-narrow-latin-ext-600-normal-DNmONYTo.woff2) format("woff2"),url(/assets/archivo-narrow-latin-ext-600-normal-CFDqFZjW.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/archivo-narrow-latin-600-normal-l2jiltzb.woff2) format("woff2"),url(/assets/archivo-narrow-latin-600-normal-DZkbuzR9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/archivo-narrow-vietnamese-700-normal-VsvP8OcS.woff2) format("woff2"),url(/assets/archivo-narrow-vietnamese-700-normal-CB0yIOvF.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/archivo-narrow-latin-ext-700-normal-DCLoHMFv.woff2) format("woff2"),url(/assets/archivo-narrow-latin-ext-700-normal-C4q0W15T.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/archivo-narrow-latin-700-normal-DtADLsoy.woff2) format("woff2"),url(/assets/archivo-narrow-latin-700-normal-DxmyBkwC.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-opsz-normal-DIwfbPUE.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-opsz-normal-C0olyEE-.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-opsz-normal-DrHU7SY7.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-opsz-normal-BOyYyU_V.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-opsz-normal-HoL-AExg.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-opsz-normal-BpEBLj1O.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-opsz-italic-Bl6DJqma.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-opsz-italic-Dibx14aP.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-opsz-italic-CMW9dfKg.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-opsz-italic-C-k5pZlm.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-opsz-italic-BhUEwDRF.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-opsz-italic-BOLXpvkj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #f3f4f1;--panel: #fafbf8;--ink: #1c2320;--muted: #5a6560;--rule: #d5dad4;--accent: #2f5a4b;--accent-soft: #e2ebe5;--on-accent: #f3f4f1;--miss: #9a4a2e;--miss-soft: #f3e3dc;--warn: #7a5200;--warn-rule: #d9b56a;--display: "Archivo Narrow", "Arial Narrow", system-ui, sans-serif;--body: "Source Serif 4 Variable", "Source Serif 4", Georgia, "Times New Roman", serif;--mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;--gutter: 16px;--tabbar-h: 64px;--sidebar-w: 236px;--safe-bottom: env(safe-area-inset-bottom, 0px);--av-ink: #f3f4f1;--av-1: #3b4f6b;--av-2: #6b4a3b;--av-3: #4a3b6b;--av-4: #3b6b5e;--av-5: #6b3b4f;--av-6: #5e6b3b;--av-7: #3b5e6b;--av-8: #6b5a3b}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--paper: #141917;--panel: #1b211e;--ink: #e4e8e3;--muted: #9aa69f;--rule: #2e3833;--accent: #8cc3aa;--accent-soft: #1f3129;--on-accent: #141917;--miss: #e39a7c;--miss-soft: #35221b;--warn: #f0c27a;--warn-rule: #6b5631}}:root[data-theme=dark]{color-scheme:dark;--paper: #141917;--panel: #1b211e;--ink: #e4e8e3;--muted: #9aa69f;--rule: #2e3833;--accent: #8cc3aa;--accent-soft: #1f3129;--on-accent: #141917;--miss: #e39a7c;--miss-soft: #35221b;--warn: #f0c27a;--warn-rule: #6b5631}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.55;overflow-x:hidden}a{color:var(--accent);text-underline-offset:2px}h1,h2,h3{font-family:var(--display);font-weight:700;margin:0;line-height:1.1;text-wrap:balance}h1{font-size:clamp(32px,6vw,44px);letter-spacing:-.01em}h2{font-size:24px}h3{font-size:19px;font-weight:600}p{margin:0 0 .8em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.muted{color:var(--muted)}.mono{font-family:var(--mono)}.small{font-size:14.5px}.nums{font-variant-numeric:tabular-nums}.shell{min-height:100vh}.main{padding:20px var(--gutter) calc(var(--tabbar-h) + var(--safe-bottom) + 28px);max-width:960px;margin:0 auto;min-width:0}.sidebar{display:none}.tabbar{position:fixed;inset:auto 0 0;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);background:var(--panel);border-top:1px solid var(--rule);padding-bottom:var(--safe-bottom)}.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:var(--tabbar-h);padding:6px 2px;color:var(--muted);text-decoration:none;font-family:var(--mono);font-size:11px;letter-spacing:.02em}.tabbar a svg{width:22px;height:22px}.tabbar a.active{color:var(--accent);box-shadow:inset 0 2px 0 var(--accent)}@media(min-width:900px){.shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr)}.tabbar{display:none}.main{padding:36px 40px 64px;width:100%}.sidebar{display:flex;flex-direction:column;gap:22px;position:sticky;top:0;height:100vh;padding:28px 16px 20px 20px;border-right:1px solid var(--rule);background:var(--panel)}.brand{display:grid;gap:2px;padding:0 8px 14px;border-bottom:2px solid var(--ink);text-decoration:none;color:var(--ink)}.brand b{font-family:var(--display);font-size:30px;line-height:1}.sidebar nav{display:grid;gap:2px}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:3px;border-left:3px solid transparent;color:var(--ink);text-decoration:none;font-family:var(--display);font-weight:600;font-size:18px}.sidebar nav a svg{width:20px;height:20px;color:var(--muted)}.sidebar nav a:hover{background:var(--accent-soft)}.sidebar nav a.active{border-left-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.sidebar nav a.active svg{color:var(--accent)}.sidebar .who{margin-top:auto;display:grid;gap:6px;padding:12px 8px 0;border-top:1px solid var(--rule);font-size:14.5px}}.page-head{display:grid;gap:8px;padding-bottom:16px;border-bottom:2px solid var(--ink);margin-bottom:20px}.page-head .row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px 16px}.stack{display:grid;gap:16px}.section{margin-top:28px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:6px;margin-bottom:10px;border-bottom:1px solid var(--rule)}.section-head h2{font-size:22px}.grid-2{display:grid;gap:16px}@media(min-width:720px){.grid-2{grid-template-columns:1fr 1fr}}.card{padding:16px 18px;background:var(--panel);border:1px solid var(--rule);border-radius:4px;min-width:0}.card.accent{border-left:4px solid var(--accent)}.card.hl{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.card h3{margin-bottom:4px}.card.link{display:block;color:inherit;text-decoration:none}.card.link:hover{border-color:var(--accent)}button.card{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}.notice{padding:10px 14px;border-radius:3px;background:var(--accent-soft);font-size:15.5px}.notice.error,.error-text{background:var(--miss-soft);color:var(--miss)}.error-text{background:none;font-size:14.5px;margin:4px 0 0}.notice.error{border-left:3px solid var(--miss)}.empty{padding:22px 16px;text-align:center;color:var(--muted);border:1px dashed var(--rule);border-radius:4px}.skeleton{height:72px;border-radius:4px;background:linear-gradient(90deg,var(--rule),var(--panel),var(--rule));background-size:200% 100%;animation:shimmer 1.4s linear infinite;opacity:.6}@keyframes shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--display);font-weight:600;font-size:16px;line-height:1.2;cursor:pointer;border-radius:3px;padding:9px 16px;min-height:40px;border:1px solid var(--accent);background:transparent;color:var(--accent);text-decoration:none}.btn:hover:not(:disabled){background:var(--accent-soft)}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.primary:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}.btn.miss{border-color:var(--miss);color:var(--miss)}.btn.miss:hover:not(:disabled){background:var(--miss-soft)}.btn.ghost{border-color:var(--rule);color:var(--muted)}.btn.small{min-height:32px;padding:4px 12px;font-size:15px}.btn.block{width:100%}.btn-row{display:flex;flex-wrap:wrap;gap:8px}.linkish{background:none;border:0;padding:0;font:inherit;color:var(--accent);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.field{display:grid;gap:4px;margin-bottom:14px}.field>label,.field>.label{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}input[type=text],input[type=email],input[type=password],select{width:100%;font:inherit;font-size:17px;color:var(--ink);background:var(--panel);border:1px solid var(--rule);border-radius:3px;padding:9px 12px;min-height:44px}input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}.check{display:flex;align-items:center;gap:10px;min-height:32px}input[type=checkbox],input[type=radio]{width:20px;height:20px;accent-color:var(--accent);margin:0;flex:none}.auth{max-width:420px;margin:0 auto;padding:40px var(--gutter) 64px}.auth .page-head{margin-bottom:22px}.auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-top:18px;font-size:15.5px}.badge{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:1px 7px;border-radius:3px;border:1px solid var(--rule);color:var(--muted);vertical-align:middle;white-space:nowrap}.badge.online{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.badge.onsite{border-color:var(--ink);color:var(--ink)}.badge.alert{border-color:var(--miss);color:var(--miss);background:var(--miss-soft)}.badge.warn{color:var(--warn);border-color:var(--warn-rule)}.badge.solid{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.chips{display:flex;gap:6px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.chips.wrap{flex-wrap:wrap;overflow:visible}.chip{flex:none;font-family:var(--display);font-weight:600;font-size:16px;padding:6px 13px;min-height:36px;border:1px solid var(--rule);border-radius:999px;background:var(--panel);color:var(--ink);cursor:pointer;position:relative}.chip[aria-pressed=true],.chip.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.chip .dot{position:absolute;top:3px;right:3px;width:7px;height:7px;border-radius:50%;background:var(--miss)}.rows{list-style:none;margin:0;padding:0}.rows>li{padding:10px 0;border-top:1px solid var(--rule)}.rows>li:first-child{border-top:0}.rows.card{padding:6px 18px}.row-main{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.when{font-family:var(--mono);font-size:13px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.title{font-weight:600}.past{opacity:.55}.progress-bar{height:6px;border-radius:3px;background:var(--rule);overflow:hidden}.progress-bar>span{display:block;height:100%;background:var(--accent);border-radius:3px}.big-num{font-family:var(--display);font-weight:700;font-size:34px;line-height:1;font-variant-numeric:tabular-nums}.days{display:grid;gap:18px}@media(min-width:720px){.days.two{grid-template-columns:1fr 1fr;align-items:start}}.day-head{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-bottom:6px;border-bottom:2px solid var(--ink);margin-bottom:10px;display:flex;justify-content:space-between;gap:8px}.session{display:grid;grid-template-columns:58px 1fr;gap:12px;padding:12px 14px;margin-bottom:8px;background:var(--panel);border:1px solid var(--rule);border-left:3px solid var(--accent);border-radius:4px}.session.online{border-left-color:var(--rule)}.session .time{font-family:var(--mono);font-size:13px;line-height:1.35;font-variant-numeric:tabular-nums}.session .time span{display:block;color:var(--muted)}.session .name{font-weight:600;line-height:1.3}.session .meta{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;margin-top:4px;font-size:14.5px;color:var(--muted)}.session .note{margin-top:6px;font-size:14.5px;padding:6px 10px;background:var(--accent-soft);border-radius:3px}.meeting-bar{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:14px 0 18px}.reading{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--rule)}.reading:first-child{border-top:0}.reading label{display:flex;gap:12px;align-items:flex-start;cursor:pointer;flex:1;min-width:0;min-height:32px}.reading input{margin-top:3px}.reading .text{min-width:0;overflow-wrap:anywhere}.reading input:checked+.text{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--rule)}.reading .owned{flex:none;align-items:center;gap:6px;cursor:pointer;min-height:32px;font-family:var(--mono);font-size:12px;color:var(--muted)}.reading .owned input{margin-top:0}.subhead{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:12px 0 2px}.prose{overflow-wrap:anywhere}.prose h2,.prose h3,.prose h4{margin:1.2em 0 .4em}.prose ul,.prose ol{padding-left:1.3em;margin:0 0 .8em}.prose blockquote{margin:0 0 .8em;padding:2px 14px;border-left:3px solid var(--accent);color:var(--muted)}.prose code{font-family:var(--mono);font-size:.9em;background:var(--accent-soft);padding:1px 5px;border-radius:3px}.prose pre{overflow-x:auto;background:var(--accent-soft);padding:12px 14px;border-radius:4px;margin:0 0 .8em}.prose pre code{background:none;padding:0}.prose hr{border:0;border-top:1px solid var(--rule);margin:1.2em 0}.quiz-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding-block:14px;border-bottom:1px solid var(--rule)}.score{display:flex;align-items:baseline;gap:14px;font-family:var(--mono);font-size:12.5px;color:var(--muted)}.score b{font-family:var(--display);font-size:22px;font-variant-numeric:tabular-nums}.score .y b{color:var(--accent)}.score .n b{color:var(--miss)}.count{display:block;font-family:var(--mono);font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.round-progress{display:grid;gap:6px;margin-top:22px}.round-progress span{height:6px;border-radius:3px;background:var(--rule)}.round-progress span.cur{background:var(--ink)}.round-progress span.y{background:var(--accent)}.round-progress span.n{background:var(--miss)}.step{font-family:var(--mono);font-size:12px;color:var(--muted);margin-top:8px;display:flex;justify-content:space-between;gap:8px}.qcard{margin-top:14px;padding:20px 22px;background:var(--panel);border:1px solid var(--rule);border-radius:4px}.q{margin:0;font-size:20px;line-height:1.45}.answer{margin:14px 0 0;padding:10px 14px;background:var(--accent-soft);border-radius:3px;font-size:16px}.answer .tag{margin-bottom:2px}.reveal{margin-top:12px;font-family:var(--mono);font-size:12.5px;color:var(--accent);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.qactions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.qactions .next{margin-left:auto}.btn.yes[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.btn.no{border-color:var(--miss);color:var(--miss)}.btn.no[aria-pressed=true]{background:var(--miss);color:var(--paper)}.sum h2{font-size:26px;margin:0 0 4px}.sum>p{margin:0 0 12px;color:var(--muted)}.sum ol{list-style:none;margin:0 0 18px;padding:0}.sum li{padding:10px 0 10px 14px;border-top:1px solid var(--rule);border-left:3px solid var(--accent);font-size:16px}.sum li.n{border-left-color:var(--miss)}.sum li small{display:block;color:var(--muted);font-size:14.5px;margin-top:2px}.tag{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:4px}.grp h3{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;color:var(--miss)}.grp.ok h3{color:var(--accent)}.grp.ok li{padding-block:6px;font-size:15px}@media(max-width:480px){.qactions .next{margin-left:0;flex:1 1 100%}.qcard{padding:16px}}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 12px);z-index:40;max-width:min(520px,calc(100vw - 32px));padding:10px 16px;background:var(--ink);color:var(--paper);border-radius:4px;font-size:15px}@media(min-width:900px){.toast{bottom:24px}}.update-bar{position:fixed;left:50%;transform:translate(-50%);top:calc(env(safe-area-inset-top,0px) + 12px);z-index:45;display:flex;flex-wrap:wrap;align-items:center;gap:10px;width:max-content;max-width:min(520px,calc(100vw - 32px));padding:10px 12px;background:var(--panel);color:var(--ink);border:1px solid var(--rule);border-left:3px solid var(--accent);border-radius:4px;font-size:15px;box-shadow:0 4px 16px #0000001f}.main.wide{max-width:none;margin:0;padding:16px 16px calc(var(--tabbar-h) + var(--safe-bottom) + 28px)}.pulpit-head{margin-bottom:32px}.pulpit.with-chat>.pulpit-head{margin-bottom:16px}.pulpit-head h1{font-size:34px;line-height:1.1}.pulpit-head .btn-row{align-items:center}.profile-link{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--panel);border:1px solid var(--rule);color:var(--ink);font-family:var(--display);font-weight:700;font-size:16px;text-decoration:none}.pulpit-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--rule);margin-bottom:24px}.pulpit-tab{min-height:48px;padding:0 16px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;color:var(--muted);font-family:var(--display);font-weight:700;font-size:16px;cursor:pointer}.pulpit-tab[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}.pulpit-main{display:grid;gap:32px;min-width:0}.pulpit-main>.notice{margin:0}.pulpit-lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:48px}.pulpit-lists .section-head h2{text-wrap:pretty}.pulpit-lists .when,.pulpit-lists .badge{white-space:nowrap}.pulpit-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:24px}.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:32px;padding:24px 32px;font-size:16px;line-height:1.5}.hero .badge{font-size:12px}.hero .btn{font-size:16px}.hero-main{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}.hero-main p{margin:0}.hero-eyebrow{color:var(--accent)}.hero-title{font-size:34px;line-height:1.1}.hero-empty-h{font-size:22px;line-height:1.2}.hero-dates .badge{margin-left:8px}.hero-stats{display:flex;flex-wrap:wrap;gap:24px;list-style:none;margin:8px 0;padding:0}.hero-stats li{display:flex;flex-direction:column}.hero-num{font-family:var(--display);font-weight:700;font-size:34px;line-height:1.1;font-variant-numeric:tabular-nums}.hero-cap{font-family:var(--mono);font-size:12px;line-height:1.4;color:var(--muted)}.hero-timeline{display:none;flex-direction:column;gap:8px;min-width:0}.hero-rows{list-style:none;margin:0;padding:0;border-left:1px solid var(--rule)}.hero-rows li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:4px 0 4px 16px}.hero-time{font-family:var(--mono);font-size:12px;line-height:24px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.hero-row-title{overflow-wrap:anywhere}.hero-rows .hero-more{display:block}@media(min-width:900px){.main.wide{padding:32px 32px 64px}.pulpit-head h1{font-size:44px}.profile-link{display:none}.hero-timeline{display:flex}}@media(max-width:1099.98px){.pulpit.with-chat:not(.czat)>.chat{display:none}.pulpit.czat{display:flex;flex-direction:column;height:calc(100dvh - 32px)}.pulpit.czat>.pulpit-head,.pulpit.czat>.pulpit-tabs{flex:none}.pulpit.czat>.pulpit-tabs{margin-bottom:0}.pulpit.czat>.pulpit-main{display:none}.pulpit.czat>.chat{flex:1 1 auto;min-height:0}.main.wide:has(>.pulpit.czat){padding-bottom:0}}@media(max-width:899.98px){.pulpit.czat{height:calc(100dvh - 16px - var(--tabbar-h) - var(--safe-bottom))}.main.wide:has(>.pulpit.czat){padding-bottom:calc(var(--tabbar-h) + var(--safe-bottom))}}@media(min-width:1100px){.main.wide{padding:0}.pulpit-tabs{display:none}.pulpit>.pulpit-head,.pulpit.with-chat>.pulpit-head{margin:32px 48px 0}.pulpit-main{padding:32px 48px 64px}.pulpit.with-chat{display:grid;grid-template-columns:minmax(0,1fr) clamp(340px,26vw,420px);grid-template-rows:auto 1fr}.pulpit.with-chat>.pulpit-head{grid-column:1;grid-row:1}.pulpit.with-chat>.pulpit-main{grid-column:1;grid-row:2;align-self:start}.pulpit.with-chat>.chat{--chat-bg: var(--panel);--chat-surface: var(--paper);grid-column:2;grid-row:1 / span 2;position:sticky;top:0;height:100vh;height:100dvh;align-self:start;border-left:1px solid var(--rule)}}.chat{--chat-bg: var(--paper);--chat-surface: var(--panel);display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--chat-bg);font-size:16px;line-height:1.5}.chat .notice,.chat .error-text,.chat .empty,.chat .btn,.chat .btn.small,.chat textarea,.chat input[type=text]{font-size:16px}.chat .badge{font-size:12px}.chat-head{flex:none;display:grid;gap:12px;padding:24px 16px 0;border-bottom:1px solid var(--rule);min-width:0}.chat-head-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.chat-head-name{display:grid;flex:1 1 auto;min-width:0}.chat-presence{flex:none;display:flex;align-items:center;gap:8px}.chat-presence:empty{display:none}.icon-btn{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid transparent;border-radius:6px;background:none;color:var(--ink);cursor:pointer}.icon-btn:hover{background:var(--accent-soft)}.icon-btn svg{width:22px;height:22px}.chat-back{margin-left:-12px}.chat-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:12px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.chat-tab{flex:none;min-height:44px;padding:0 16px;border:1px solid var(--rule);border-radius:999px;background:var(--chat-surface);color:var(--muted);font-family:var(--display);font-weight:700;font-size:16px;white-space:nowrap;cursor:pointer}.chat-tab[aria-selected=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}@media(min-width:1100px)and (pointer:fine){.chat-tabs{gap:4px;padding-bottom:0}.chat-tab{min-height:36px;padding:0 8px;border:0;border-bottom:2px solid transparent;border-radius:0;margin-bottom:-1px;background:none}.chat-tab[aria-selected=true]{background:none;border-bottom-color:var(--accent)}}.chat-strip{flex:none;display:flex;align-items:center;height:28px;margin:0;padding:0 16px;font-family:var(--mono);font-size:12px;line-height:1.4;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.chat-start{margin:0;font-family:var(--mono);font-size:12px;color:var(--muted);text-align:center}.chat-title{font-size:22px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-list{position:relative;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px;display:flex;flex-direction:column;gap:16px}.chat-list>.msg.follow{margin-top:-12px}.chat-skeletons{display:grid;gap:8px}.chat-skeletons .skeleton{height:48px}.chat-empty{margin:auto 0}.chat-empty p{margin:0}.chat-empty .chat-empty-h{margin:0 0 8px;font-family:var(--display);font-weight:700;font-size:22px;line-height:1.2;color:var(--ink)}.chat-day{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--muted)}.chat-day:before,.chat-day:after{content:"";flex:1;height:1px;background:var(--rule)}.chat-typing{flex:none;height:24px;padding:0 16px;font-style:italic;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{display:inline-grid;place-items:center;flex:none;border-radius:50%;color:var(--av-ink);font-family:var(--display);font-weight:700;line-height:1;user-select:none}.avatar.s24{width:24px;height:24px;font-size:12px}.avatar.s32{width:32px;height:32px;font-size:16px}.avatar.s44{width:44px;height:44px;font-size:16px}.avatar.me{background:var(--accent-soft);color:var(--accent)}.msg{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:12px}.msg-gutter{display:flex;justify-content:center}.msg-content{min-width:0}.msg-head{display:flex;align-items:baseline;gap:4px;min-width:0}.msg-name{font-weight:700;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-tag{flex:none;font-family:var(--mono);font-size:12px;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;padding:0 4px;border:1px solid var(--rule);border-radius:3px;color:var(--muted)}.msg-tag.me{border-color:var(--accent);color:var(--accent)}.msg-time,.msg-edited{flex:none;font-family:var(--mono);font-size:12px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.msg-gutter .msg-time{line-height:24px;visibility:hidden}.msg.follow:hover .msg-gutter .msg-time,.msg.follow:focus-within .msg-gutter .msg-time{visibility:visible}.msg-body{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.composer{flex:none;display:grid;gap:8px;padding:16px;border-top:1px solid var(--rule);background:var(--chat-bg)}.composer-label{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.composer .error-text{margin:0}.composer-field{background:var(--chat-surface);border:1px solid var(--rule);border-radius:8px}.composer-field:focus-within{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}.composer-field textarea{display:block;width:100%;resize:none;border:0;background:transparent;color:inherit;font:inherit;line-height:1.5;padding:12px;overflow-y:hidden}.composer-field textarea:focus-visible{outline:none}.composer-tools{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:0 8px 8px}.composer-send svg{width:18px;height:18px}.composer-send[aria-busy=true]{opacity:.7}.unread-badge,.mention-badge{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:20px;height:20px;padding:0 4px;border-radius:999px;font-family:var(--mono);font-size:12px;font-weight:400;line-height:1;letter-spacing:0;vertical-align:middle}.unread-badge{background:var(--accent);color:var(--on-accent)}.mention-badge{background:var(--accent-soft);color:var(--accent)}.chat-tab .mention-badge,.chat-tab .unread-badge,.pulpit-tab .unread-badge{margin-left:8px}.chat-tab .mention-badge+.unread-badge{margin-left:4px}.sidebar nav a .nav-badge{margin-left:auto}.nav-icon{position:relative;display:inline-flex}.nav-dot{position:absolute;top:-2px;right:-2px;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--panel)}.chat-list-wrap{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.chat-older{flex:none;min-height:1px;text-align:center}.chat-older p{margin:0}.chat-new{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.chat-new:before{content:"";flex:1;height:1px;background:var(--accent)}.chat-jump{position:absolute;bottom:16px;left:50%;z-index:1;transform:translate(-50%);gap:4px;background:var(--chat-surface);white-space:nowrap}.chat-jump svg{width:18px;height:18px}@media(prefers-reduced-motion:reduce){.chat-list{scroll-behavior:auto}}.presence-stack{display:inline-flex;align-items:center}.presence-stack .avatar{box-shadow:0 0 0 2px var(--chat-bg)}.presence-stack .avatar+.avatar{margin-left:-8px}.presence-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--accent)}.presence-text{font-family:var(--mono);font-size:12px;line-height:1.4;color:var(--muted);white-space:nowrap}.dm-list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.dm-new{padding:16px}.dm-new .btn svg{width:18px;height:18px}.dm-skeletons{padding:0 16px}.dm-skeletons .skeleton{height:64px}.dm-notice,.dm-empty{margin:0 16px}.dm-rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}.dm-rows li{border-bottom:1px solid var(--rule)}.dm-row{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:8px 16px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.dm-row:hover{background:var(--chat-surface)}.dm-text{display:grid;flex:1 1 auto;min-width:0}.dm-name,.dm-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dm-row.unread .dm-name{font-weight:700}.dm-preview{color:var(--muted)}.dm-meta{flex:none;display:grid;justify-items:end;gap:4px;font-family:var(--mono);font-size:12px;color:var(--muted)}.chat-dialog{width:min(520px,calc(100vw - 32px));max-height:70vh;padding:24px;border:1px solid var(--rule);border-radius:8px;background:var(--panel);color:var(--ink);font-size:16px;line-height:1.5}.chat-dialog::backdrop{background:#0006}.chat-dialog[open]{display:flex;flex-direction:column}.chat-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}.chat-dialog-title{font-size:22px;line-height:1.2}.chat-dialog input[type=text]{font-size:16px;background:var(--paper)}.chat-dialog .error-text,.chat-dialog .notice,.chat-dialog .empty{font-size:16px}.chat-dialog .error-text{margin:0 0 8px}.picker-results{flex:1 1 auto;min-height:0;overflow-y:auto}.picker-skeletons .skeleton{height:48px}.picker-rows{list-style:none;margin:0;padding:0}.picker-row{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:4px 8px;border:0;border-radius:6px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.picker-row:hover:not(:disabled){background:var(--accent-soft)}.picker-row:disabled{opacity:.7;cursor:default}.picker-name{min-width:0;overflow-wrap:anywhere}@media(max-width:899.98px){.chat-dialog{width:100dvw;max-width:none;height:100dvh;max-height:none;margin:0;border-radius:0}}.composer-row{display:flex;align-items:flex-end;gap:8px}.composer-row>.composer-field{flex:1 1 auto;min-width:0}.composer.compact .composer-field{border-radius:22px}.composer.compact .composer-field:focus-within{outline-offset:0}.composer.compact .composer-field textarea{min-height:42px;padding:9px 16px}.composer-send.round{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:var(--accent);color:var(--on-accent);cursor:pointer}.composer-send.round:disabled{opacity:.4;cursor:default}.composer-send.round[aria-busy=true]{opacity:.7}.composer-send.round svg{width:22px;height:22px}@media(hover:none){.chat .btn.small,.dm-new .btn{min-height:44px}}.reactions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.reaction-chip,.reaction-add{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 8px;border:1px solid var(--rule);border-radius:999px;background:var(--chat-surface);color:var(--ink);font:inherit;cursor:pointer}.reaction-emoji{font-size:16px;line-height:1}.reaction-count{font-family:var(--mono);font-size:12px;line-height:1.4;color:var(--muted);font-variant-numeric:tabular-nums}.reaction-chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}.reaction-chip[aria-pressed=true] .reaction-count{color:var(--accent)}.reaction-chip:hover{border-color:var(--accent)}.reaction-add{justify-content:center;width:28px;padding:0;border-style:dashed;color:var(--muted)}.reaction-add:disabled{opacity:.4;cursor:default}.reaction-add svg{width:16px;height:16px}.reaction-add-wrap{position:relative;display:inline-flex}.reaction-pop{position:absolute;z-index:5;bottom:calc(100% + 4px);left:0;display:grid;grid-template-columns:repeat(6,36px);gap:4px;padding:8px;border:1px solid var(--rule);border-radius:6px;background:var(--panel);box-shadow:0 4px 16px #0000001f}.reaction-pop.below{top:calc(100% + 4px);bottom:auto}.reaction-pick{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:6px;background:none;font-size:20px;line-height:1;cursor:pointer}.reaction-pick:hover,.reaction-pick:focus-visible{background:var(--accent-soft)}.msg-actions{position:absolute;z-index:4;top:-16px;right:0;display:flex;gap:2px;padding:2px;border:1px solid var(--rule);border-radius:6px;background:var(--chat-surface);opacity:0;pointer-events:none}.msg:focus-within>.msg-actions,.msg.actions-open>.msg-actions{opacity:1;pointer-events:auto}@media(hover:hover){.msg:hover>.msg-actions{opacity:1;pointer-events:auto}}.msg-action{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:4px;background:none;color:var(--ink);cursor:pointer}.msg-action:hover:not(:disabled){background:var(--accent-soft)}.msg-action:disabled{opacity:.4;cursor:default}.msg-action svg{width:18px;height:18px}.msg-action.miss{color:var(--miss)}@media(hover:none){.reaction-chip,.reaction-add{min-height:44px}.reaction-add{min-width:44px}.msg-action{width:44px;height:44px}.msg-actions{top:-24px}}.msg-body.prose a{overflow-wrap:anywhere}.msg-body.prose code{font-size:.9em}.mention{padding:0 4px;border-radius:3px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}.msg.mentions-me{box-shadow:inset 3px 0 0 var(--accent);margin-left:-16px;padding-left:16px}.composer-field{position:relative}.composer-tools-gap{flex:1 1 auto}.composer-tool{display:inline-grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:6px;background:none;color:var(--muted);cursor:pointer}.composer-tool:hover:not(:disabled){background:var(--accent-soft);color:var(--ink)}.composer-tool:disabled{opacity:.4;cursor:default}.composer-tool svg{width:20px;height:20px}.mention-pop{position:absolute;z-index:6;bottom:calc(100% + 4px);left:0;width:100%;max-width:360px;margin:0;padding:4px;list-style:none;border:1px solid var(--rule);border-radius:6px;background:var(--panel);box-shadow:0 4px 16px #0000001f}.mention-option,.mention-empty{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 8px;border-radius:4px}.mention-option{cursor:pointer}.mention-option.active{background:var(--accent-soft)}.mention-empty{color:var(--muted)}.mention-name{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mention-handle{flex:none;margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--muted)}.msg-edit{display:grid;gap:8px;margin-top:4px}.msg-edit .error-text{margin:0}.msg-edit .btn[aria-busy=true]{opacity:.7}.msg-deleted{margin:0;font-style:italic;color:var(--muted)}.chat-dialog.chat-confirm{width:auto;max-width:min(420px,calc(100vw - 32px));height:auto;max-height:none;margin:auto;border-radius:8px}.chat-confirm-body{margin:12px 0 16px}.chat-confirm .error-text{margin:0 0 16px}.chat-confirm-buttons .btn{min-height:44px}.btn.danger{border-color:var(--miss);background:var(--miss);color:var(--paper)}.btn.danger:hover:not(:disabled){filter:brightness(1.08);background:var(--miss)}.btn.danger[aria-busy=true]{opacity:.7}.msg-embeds{display:grid;gap:8px;margin-top:8px}.embed-card{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:8px 12px;border:1px solid var(--rule);border-radius:6px;background:var(--chat-surface, var(--panel));color:var(--ink);text-decoration:none}a.embed-card:hover{border-color:var(--accent)}.embed-card.unavailable{border-style:dashed}.embed-main{display:grid;flex:1 1 auto;min-width:0}.embed-type{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.embed-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:16px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}.embed-card.unavailable .embed-title{font-weight:400;color:var(--muted)}.embed-meta{overflow:hidden;font-family:var(--mono);font-size:12px;line-height:1.5;color:var(--muted);white-space:nowrap;text-overflow:ellipsis}.embed-card .badge{flex:none;font-size:12px}.embed-skeleton{display:block;width:60%;height:16px;margin:4px 0}.embed-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--rule)}.embed-tab{min-height:44px;padding:0 12px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;color:var(--muted);font-family:var(--display);font-weight:700;font-size:16px;cursor:pointer}.embed-tab[aria-selected=true]{border-bottom-color:var(--accent);color:var(--accent)}.embed-panel{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.embed-searching{margin:0 0 8px;font-family:var(--mono);font-size:12px;color:var(--muted)}.picker-rows li+li{margin-top:8px}.picker-row.embed-pick{display:grid;gap:4px;padding:0}.picker-row.embed-pick:hover:not([aria-disabled=true]){background:none}.picker-row.embed-pick:hover:not([aria-disabled=true]) .embed-card{border-color:var(--accent)}.picker-row.embed-pick[aria-disabled=true]{cursor:default;opacity:.7}.embed-staged{font-family:var(--mono);font-size:12px;color:var(--accent)}.staging{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:8px 8px 0;list-style:none}.composer.compact>.staging{padding:0}.staging-chip{position:relative;display:inline-flex;align-items:center;gap:8px;max-width:100%;height:32px;padding-left:8px;border-radius:6px;background:var(--chat-bg, var(--paper));font-size:16px}.composer.compact>.staging .staging-chip{background:var(--chat-surface, var(--panel))}.staging-type,.staging-size{flex:none;font-family:var(--mono);font-size:12px;color:var(--muted)}.staging-type{text-transform:uppercase;letter-spacing:.06em}.staging-name{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.staging-name.embed-name{max-width:240px}.staging-remove{display:inline-grid;place-items:center;flex:none;width:32px;height:32px;padding:0;border:0;border-radius:6px;background:none;color:var(--muted);cursor:pointer}.staging-remove:hover:not(:disabled){color:var(--ink);background:var(--accent-soft)}.staging-remove svg{width:16px;height:16px}:target,.hash-target{scroll-margin-top:12px;animation:target-fade 2s ease-out}@keyframes target-fade{0%{background-color:var(--accent-soft)}to{background-color:transparent}}@media(prefers-reduced-motion:reduce){:target,.hash-target{animation:none}.hash-target{background-color:var(--accent-soft)}}.msg-files{display:grid;gap:8px;margin:8px 0 0;padding:0;list-style:none}.msg-file{display:flex;align-items:center;gap:8px;width:100%;max-width:480px;min-height:44px;padding:0 12px;border:1px solid var(--rule);border-radius:6px;background:var(--chat-surface, var(--panel));color:var(--ink);font:inherit;text-align:left;cursor:pointer}.msg-file:hover{border-color:var(--accent)}.msg-file[aria-busy=true]{opacity:.7;cursor:progress}.msg-file svg{flex:none;width:20px;height:20px;color:var(--muted)}.msg-file-name{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.msg-file-size{flex:none;font-family:var(--mono);font-size:12px;color:var(--muted)}.staging-name.file-name{max-width:200px}.staging-failed{flex:none;font-size:12px;font-family:var(--mono);color:var(--miss)}.staging-chip .linkish{flex:none;font-size:12px}.staging-progress{position:absolute;left:0;bottom:0;height:2px;border-radius:0 0 0 6px;background:var(--accent);transition:width .2s linear}@media(prefers-reduced-motion:reduce){.staging-progress{transition:none}}.composer-add{position:relative;flex:none}.composer-plus{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--rule);border-radius:50%;background:var(--chat-surface, var(--panel));color:var(--ink);cursor:pointer}.composer-plus[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.composer-plus:disabled{opacity:.4;cursor:default}.composer-plus svg{width:22px;height:22px}.composer-menu{position:absolute;left:0;bottom:calc(100% + 8px);z-index:5;display:grid;min-width:280px;max-width:calc(100vw - 32px);padding:4px;border:1px solid var(--rule);border-radius:6px;background:var(--panel);box-shadow:0 4px 16px #0000001f}.composer-menu-item{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border:0;border-radius:6px;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.composer-menu-item:hover:not(:disabled),.composer-menu-item:focus-visible{background:var(--accent-soft)}.composer-menu-item:disabled{opacity:.5;cursor:default}.composer-menu-item svg{flex:none;width:20px;height:20px} diff --git a/public/assets/index-DDUt0SwV.css b/public/assets/index-DDUt0SwV.css deleted file mode 100644 index a6a467f..0000000 --- a/public/assets/index-DDUt0SwV.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/archivo-narrow-vietnamese-500-normal-CbuGBAYj.woff2) format("woff2"),url(/assets/archivo-narrow-vietnamese-500-normal-DBsYfoQF.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/archivo-narrow-latin-ext-500-normal-CEqYmuFE.woff2) format("woff2"),url(/assets/archivo-narrow-latin-ext-500-normal-DESKgx4f.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/archivo-narrow-latin-500-normal-BH-FPhCi.woff2) format("woff2"),url(/assets/archivo-narrow-latin-500-normal-Oafwxh5s.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/archivo-narrow-vietnamese-600-normal-B3iMS2rD.woff2) format("woff2"),url(/assets/archivo-narrow-vietnamese-600-normal-BOVNaV0C.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/archivo-narrow-latin-ext-600-normal-DNmONYTo.woff2) format("woff2"),url(/assets/archivo-narrow-latin-ext-600-normal-CFDqFZjW.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/archivo-narrow-latin-600-normal-l2jiltzb.woff2) format("woff2"),url(/assets/archivo-narrow-latin-600-normal-DZkbuzR9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/archivo-narrow-vietnamese-700-normal-VsvP8OcS.woff2) format("woff2"),url(/assets/archivo-narrow-vietnamese-700-normal-CB0yIOvF.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/archivo-narrow-latin-ext-700-normal-DCLoHMFv.woff2) format("woff2"),url(/assets/archivo-narrow-latin-ext-700-normal-C4q0W15T.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Narrow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/archivo-narrow-latin-700-normal-DtADLsoy.woff2) format("woff2"),url(/assets/archivo-narrow-latin-700-normal-DxmyBkwC.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-opsz-normal-DIwfbPUE.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-opsz-normal-C0olyEE-.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-opsz-normal-DrHU7SY7.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-opsz-normal-BOyYyU_V.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-opsz-normal-HoL-AExg.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-opsz-normal-BpEBLj1O.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-ext-opsz-italic-Bl6DJqma.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-cyrillic-opsz-italic-Dibx14aP.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-greek-opsz-italic-CMW9dfKg.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-vietnamese-opsz-italic-C-k5pZlm.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-ext-opsz-italic-BhUEwDRF.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/source-serif-4-latin-opsz-italic-BOLXpvkj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #f3f4f1;--panel: #fafbf8;--ink: #1c2320;--muted: #5a6560;--rule: #d5dad4;--accent: #2f5a4b;--accent-soft: #e2ebe5;--on-accent: #f3f4f1;--miss: #9a4a2e;--miss-soft: #f3e3dc;--display: "Archivo Narrow", "Arial Narrow", system-ui, sans-serif;--body: "Source Serif 4 Variable", "Source Serif 4", Georgia, "Times New Roman", serif;--mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;--gutter: 16px;--tabbar-h: 64px;--sidebar-w: 236px;--safe-bottom: env(safe-area-inset-bottom, 0px)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--paper: #141917;--panel: #1b211e;--ink: #e4e8e3;--muted: #9aa69f;--rule: #2e3833;--accent: #8cc3aa;--accent-soft: #1f3129;--on-accent: #141917;--miss: #e39a7c;--miss-soft: #35221b}}:root[data-theme=dark]{color-scheme:dark;--paper: #141917;--panel: #1b211e;--ink: #e4e8e3;--muted: #9aa69f;--rule: #2e3833;--accent: #8cc3aa;--accent-soft: #1f3129;--on-accent: #141917;--miss: #e39a7c;--miss-soft: #35221b}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.55;overflow-x:hidden}a{color:var(--accent);text-underline-offset:2px}h1,h2,h3{font-family:var(--display);font-weight:700;margin:0;line-height:1.1;text-wrap:balance}h1{font-size:clamp(32px,6vw,44px);letter-spacing:-.01em}h2{font-size:24px}h3{font-size:19px;font-weight:600}p{margin:0 0 .8em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.muted{color:var(--muted)}.mono{font-family:var(--mono)}.small{font-size:14.5px}.nums{font-variant-numeric:tabular-nums}.shell{min-height:100vh}.main{padding:20px var(--gutter) calc(var(--tabbar-h) + var(--safe-bottom) + 28px);max-width:960px;margin:0 auto;min-width:0}.sidebar{display:none}.tabbar{position:fixed;inset:auto 0 0;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);background:var(--panel);border-top:1px solid var(--rule);padding-bottom:var(--safe-bottom)}.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:var(--tabbar-h);padding:6px 2px;color:var(--muted);text-decoration:none;font-family:var(--mono);font-size:11px;letter-spacing:.02em}.tabbar a svg{width:22px;height:22px}.tabbar a.active{color:var(--accent);box-shadow:inset 0 2px 0 var(--accent)}@media(min-width:900px){.shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr)}.tabbar{display:none}.main{padding:36px 40px 64px;width:100%}.sidebar{display:flex;flex-direction:column;gap:22px;position:sticky;top:0;height:100vh;padding:28px 16px 20px 20px;border-right:1px solid var(--rule);background:var(--panel)}.brand{display:grid;gap:2px;padding:0 8px 14px;border-bottom:2px solid var(--ink);text-decoration:none;color:var(--ink)}.brand b{font-family:var(--display);font-size:30px;line-height:1}.sidebar nav{display:grid;gap:2px}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:3px;border-left:3px solid transparent;color:var(--ink);text-decoration:none;font-family:var(--display);font-weight:600;font-size:18px}.sidebar nav a svg{width:20px;height:20px;color:var(--muted)}.sidebar nav a:hover{background:var(--accent-soft)}.sidebar nav a.active{border-left-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.sidebar nav a.active svg{color:var(--accent)}.sidebar .who{margin-top:auto;display:grid;gap:6px;padding:12px 8px 0;border-top:1px solid var(--rule);font-size:14.5px}}.page-head{display:grid;gap:8px;padding-bottom:16px;border-bottom:2px solid var(--ink);margin-bottom:20px}.page-head .row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px 16px}.stack{display:grid;gap:16px}.section{margin-top:28px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:6px;margin-bottom:10px;border-bottom:1px solid var(--rule)}.section-head h2{font-size:22px}.grid-2{display:grid;gap:16px}@media(min-width:720px){.grid-2{grid-template-columns:1fr 1fr}}.card{padding:16px 18px;background:var(--panel);border:1px solid var(--rule);border-radius:4px;min-width:0}.card.accent{border-left:4px solid var(--accent)}.card.hl{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.card h3{margin-bottom:4px}.card.link{display:block;color:inherit;text-decoration:none}.card.link:hover{border-color:var(--accent)}button.card{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}.notice{padding:10px 14px;border-radius:3px;background:var(--accent-soft);font-size:15.5px}.notice.error,.error-text{background:var(--miss-soft);color:var(--miss)}.error-text{background:none;font-size:14.5px;margin:4px 0 0}.notice.error{border-left:3px solid var(--miss)}.empty{padding:22px 16px;text-align:center;color:var(--muted);border:1px dashed var(--rule);border-radius:4px}.skeleton{height:72px;border-radius:4px;background:linear-gradient(90deg,var(--rule),var(--panel),var(--rule));background-size:200% 100%;animation:shimmer 1.4s linear infinite;opacity:.6}@keyframes shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--display);font-weight:600;font-size:16px;line-height:1.2;cursor:pointer;border-radius:3px;padding:9px 16px;min-height:40px;border:1px solid var(--accent);background:transparent;color:var(--accent);text-decoration:none}.btn:hover:not(:disabled){background:var(--accent-soft)}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.primary:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}.btn.miss{border-color:var(--miss);color:var(--miss)}.btn.miss:hover:not(:disabled){background:var(--miss-soft)}.btn.ghost{border-color:var(--rule);color:var(--muted)}.btn.small{min-height:32px;padding:4px 12px;font-size:15px}.btn.block{width:100%}.btn-row{display:flex;flex-wrap:wrap;gap:8px}.linkish{background:none;border:0;padding:0;font:inherit;color:var(--accent);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.field{display:grid;gap:4px;margin-bottom:14px}.field>label,.field>.label{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}input[type=text],input[type=email],input[type=password],select{width:100%;font:inherit;font-size:17px;color:var(--ink);background:var(--panel);border:1px solid var(--rule);border-radius:3px;padding:9px 12px;min-height:44px}input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}.check{display:flex;align-items:center;gap:10px;min-height:32px}input[type=checkbox],input[type=radio]{width:20px;height:20px;accent-color:var(--accent);margin:0;flex:none}.auth{max-width:420px;margin:0 auto;padding:40px var(--gutter) 64px}.auth .page-head{margin-bottom:22px}.auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-top:18px;font-size:15.5px}.badge{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:1px 7px;border-radius:3px;border:1px solid var(--rule);color:var(--muted);vertical-align:middle;white-space:nowrap}.badge.online{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.badge.onsite{border-color:var(--ink);color:var(--ink)}.badge.alert{border-color:var(--miss);color:var(--miss);background:var(--miss-soft)}.badge.solid{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.chips{display:flex;gap:6px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.chips.wrap{flex-wrap:wrap;overflow:visible}.chip{flex:none;font-family:var(--display);font-weight:600;font-size:16px;padding:6px 13px;min-height:36px;border:1px solid var(--rule);border-radius:999px;background:var(--panel);color:var(--ink);cursor:pointer;position:relative}.chip[aria-pressed=true],.chip.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.chip .dot{position:absolute;top:3px;right:3px;width:7px;height:7px;border-radius:50%;background:var(--miss)}.rows{list-style:none;margin:0;padding:0}.rows>li{padding:10px 0;border-top:1px solid var(--rule)}.rows>li:first-child{border-top:0}.rows.card{padding:6px 18px}.row-main{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.when{font-family:var(--mono);font-size:13px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.title{font-weight:600}.past{opacity:.55}.progress-bar{height:6px;border-radius:3px;background:var(--rule);overflow:hidden}.progress-bar>span{display:block;height:100%;background:var(--accent);border-radius:3px}.big-num{font-family:var(--display);font-weight:700;font-size:34px;line-height:1;font-variant-numeric:tabular-nums}.days{display:grid;gap:18px}@media(min-width:720px){.days.two{grid-template-columns:1fr 1fr;align-items:start}}.day-head{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-bottom:6px;border-bottom:2px solid var(--ink);margin-bottom:10px;display:flex;justify-content:space-between;gap:8px}.session{display:grid;grid-template-columns:58px 1fr;gap:12px;padding:12px 14px;margin-bottom:8px;background:var(--panel);border:1px solid var(--rule);border-left:3px solid var(--accent);border-radius:4px}.session.online{border-left-color:var(--rule)}.session .time{font-family:var(--mono);font-size:13px;line-height:1.35;font-variant-numeric:tabular-nums}.session .time span{display:block;color:var(--muted)}.session .name{font-weight:600;line-height:1.3}.session .meta{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;margin-top:4px;font-size:14.5px;color:var(--muted)}.session .note{margin-top:6px;font-size:14.5px;padding:6px 10px;background:var(--accent-soft);border-radius:3px}.meeting-bar{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:14px 0 18px}.reading{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--rule)}.reading:first-child{border-top:0}.reading label{display:flex;gap:12px;align-items:flex-start;cursor:pointer;flex:1;min-width:0;min-height:32px}.reading input{margin-top:3px}.reading .text{min-width:0;overflow-wrap:anywhere}.reading input:checked+.text{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--rule)}.reading .owned{flex:none;align-items:center;gap:6px;cursor:pointer;min-height:32px;font-family:var(--mono);font-size:12px;color:var(--muted)}.reading .owned input{margin-top:0}.subhead{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:12px 0 2px}.prose{overflow-wrap:anywhere}.prose h2,.prose h3,.prose h4{margin:1.2em 0 .4em}.prose ul,.prose ol{padding-left:1.3em;margin:0 0 .8em}.prose blockquote{margin:0 0 .8em;padding:2px 14px;border-left:3px solid var(--accent);color:var(--muted)}.prose code{font-family:var(--mono);font-size:.9em;background:var(--accent-soft);padding:1px 5px;border-radius:3px}.prose pre{overflow-x:auto;background:var(--accent-soft);padding:12px 14px;border-radius:4px;margin:0 0 .8em}.prose pre code{background:none;padding:0}.prose hr{border:0;border-top:1px solid var(--rule);margin:1.2em 0}.quiz-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding-block:14px;border-bottom:1px solid var(--rule)}.score{display:flex;align-items:baseline;gap:14px;font-family:var(--mono);font-size:12.5px;color:var(--muted)}.score b{font-family:var(--display);font-size:22px;font-variant-numeric:tabular-nums}.score .y b{color:var(--accent)}.score .n b{color:var(--miss)}.count{display:block;font-family:var(--mono);font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.round-progress{display:grid;gap:6px;margin-top:22px}.round-progress span{height:6px;border-radius:3px;background:var(--rule)}.round-progress span.cur{background:var(--ink)}.round-progress span.y{background:var(--accent)}.round-progress span.n{background:var(--miss)}.step{font-family:var(--mono);font-size:12px;color:var(--muted);margin-top:8px;display:flex;justify-content:space-between;gap:8px}.qcard{margin-top:14px;padding:20px 22px;background:var(--panel);border:1px solid var(--rule);border-radius:4px}.q{margin:0;font-size:20px;line-height:1.45}.answer{margin:14px 0 0;padding:10px 14px;background:var(--accent-soft);border-radius:3px;font-size:16px}.answer .tag{margin-bottom:2px}.reveal{margin-top:12px;font-family:var(--mono);font-size:12.5px;color:var(--accent);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.qactions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.qactions .next{margin-left:auto}.btn.yes[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.btn.no{border-color:var(--miss);color:var(--miss)}.btn.no[aria-pressed=true]{background:var(--miss);color:var(--paper)}.sum h2{font-size:26px;margin:0 0 4px}.sum>p{margin:0 0 12px;color:var(--muted)}.sum ol{list-style:none;margin:0 0 18px;padding:0}.sum li{padding:10px 0 10px 14px;border-top:1px solid var(--rule);border-left:3px solid var(--accent);font-size:16px}.sum li.n{border-left-color:var(--miss)}.sum li small{display:block;color:var(--muted);font-size:14.5px;margin-top:2px}.tag{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:4px}.grp h3{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;color:var(--miss)}.grp.ok h3{color:var(--accent)}.grp.ok li{padding-block:6px;font-size:15px}@media(max-width:480px){.qactions .next{margin-left:0;flex:1 1 100%}.qcard{padding:16px}}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 12px);z-index:40;max-width:min(520px,calc(100vw - 32px));padding:10px 16px;background:var(--ink);color:var(--paper);border-radius:4px;font-size:15px}@media(min-width:900px){.toast{bottom:24px}}.update-bar{position:fixed;left:50%;transform:translate(-50%);top:calc(env(safe-area-inset-top,0px) + 12px);z-index:45;display:flex;flex-wrap:wrap;align-items:center;gap:10px;width:max-content;max-width:min(520px,calc(100vw - 32px));padding:10px 12px;background:var(--panel);color:var(--ink);border:1px solid var(--rule);border-left:3px solid var(--accent);border-radius:4px;font-size:15px;box-shadow:0 4px 16px #0000001f} diff --git a/public/assets/markdown-C6lfQdWc.js b/public/assets/markdown-C6lfQdWc.js new file mode 100644 index 0000000..9acb6c9 --- /dev/null +++ b/public/assets/markdown-C6lfQdWc.js @@ -0,0 +1,6 @@ +const m={"&":"&","<":"<",">":">",'"':""","'":"'"};function a(r){return r.replace(/[&<>"']/g,e=>m[e])}function _(r){const e=r.trim().replace(/[\u0000-\u001f\u007f\s]+/g,"");return/^https?:\/\/[^/]/i.test(e)||/^mailto:[^\s]+$/i.test(e)||e.startsWith("/")&&!e.startsWith("//")||e.startsWith("#")?e:null}function f(r){const e=[],o=i=>`\0${e.push(i)-1}\0`;let t=r.replace(/\u0000/g,"");return t=t.replace(/`([^`\n]+)`/g,(i,c)=>o(`${a(c)}`)),t=t.replace(/\[([^\]\n]+)\]\(([^()\s]*(?:\([^()\s]*\)[^()\s]*)*)\)/g,(i,c,s)=>{const l=_(s),u=d(a(c));if(!l)return o(u);const n=/^https?:/i.test(l)?' target="_blank" rel="noopener noreferrer nofollow"':"";return o(`${u}`)}),t=d(a(t)),t.replace(/\u0000(\d+)\u0000/g,(i,c)=>e[Number(c)]??"")}function d(r){return r.replace(/\*\*([^*\n]+)\*\*/g,"$1").replace(/(^|[\s(])\*([^*\n]+)\*(?=$|[\s).,;:!?])/g,"$1$2").replace(/(^|[\s(])_([^_\n]+)_(?=$|[\s).,;:!?])/g,"$1$2")}function w(r){if(!r)return"";const e=r.replace(/\r\n?/g,` +`).split(` +`),o=[];let t=0;const i=s=>s.trim()==="",c=s=>/^(#{1,6})\s/.test(s)||/^```/.test(s)||/^>\s?/.test(s)||/^\s*([-*+]|\d+[.)])\s+/.test(s)||/^(-{3,}|\*{3,}|_{3,})\s*$/.test(s);for(;t${a(n.join(` +`))}`);continue}const l=/^(#{1,6})\s+(.*?)\s*#*\s*$/.exec(s);if(l){const n=Math.min(l[1].length+1,6);o.push(`${f(l[2])}`),t++;continue}if(/^(-{3,}|\*{3,}|_{3,})\s*$/.test(s)){o.push("
"),t++;continue}if(/^>\s?/.test(s)){const n=[];for(;t\s?/.test(e[t]);)n.push(e[t++].replace(/^>\s?/,""));o.push(`
${w(n.join(` +`))}
`);continue}const u=/^\s*([-*+]|\d+[.)])\s+(.*)$/.exec(s);if(u){const n=/\d/.test(u[1]),p=[];for(;t${f(g)}`)}o.push(n?`
    ${p.join("")}
`:`
    ${p.join("")}
`);continue}const h=[s];for(t++;t${h.map(n=>f(n.trim())).join(" ")}

`)}return o.join(` +`)}export{a as e,d as f,w as r,_ as s}; diff --git a/public/assets/presentations-B9A2ga-H.js b/public/assets/presentations-B9A2ga-H.js new file mode 100644 index 0000000..3d28db8 --- /dev/null +++ b/public/assets/presentations-B9A2ga-H.js @@ -0,0 +1 @@ +import{aF as m,ar as n}from"./index-BxuLaZe9.js";const o="/_presentations/api/v1",r={publicDeck:e=>n.request(`${o}/public/${encodeURIComponent(e)}`,{auth:!1}),mine:()=>n.request(`${o}/mine`),speaker:e=>n.request(`${o}/mine/${encodeURIComponent(e)}`),speakerImage:(e,t)=>n.blob(`${o}/mine/${encodeURIComponent(e)}/images/${encodeURIComponent(t)}`),remote:(e,t)=>n.request(`${o}/mine/${encodeURIComponent(e)}/remote`,{method:"POST",body:t}),remoteState:(e,t)=>n.request(`${o}/mine/${encodeURIComponent(e)}/remote/state`,{method:"POST",body:t}),remoteStateBeacon(e,t){const a={Accept:"application/json","Content-Type":"application/json"},i=m.get();i&&(a.Authorization=`Bearer ${i}`);try{fetch(`${o}/mine/${encodeURIComponent(e)}/remote/state`,{method:"POST",headers:a,body:JSON.stringify(t),keepalive:!0}).catch(()=>{})}catch{}}};export{r as p}; diff --git a/public/assets/presentations-BNEXiGsV.js b/public/assets/presentations-BNEXiGsV.js deleted file mode 100644 index 8cb6d24..0000000 --- a/public/assets/presentations-BNEXiGsV.js +++ /dev/null @@ -1 +0,0 @@ -import{$ as m,N as n}from"./index-BJq7_SVs.js";const o="/_presentations/api/v1",c={publicDeck:e=>n.request(`${o}/public/${encodeURIComponent(e)}`,{auth:!1}),mine:()=>n.request(`${o}/mine`),speaker:e=>n.request(`${o}/mine/${encodeURIComponent(e)}`),speakerImage:(e,t)=>n.blob(`${o}/mine/${encodeURIComponent(e)}/images/${encodeURIComponent(t)}`),remote:(e,t)=>n.request(`${o}/mine/${encodeURIComponent(e)}/remote`,{method:"POST",body:t}),remoteState:(e,t)=>n.request(`${o}/mine/${encodeURIComponent(e)}/remote/state`,{method:"POST",body:t}),remoteStateBeacon(e,t){const a={Accept:"application/json","Content-Type":"application/json"},i=m.get();i&&(a.Authorization=`Bearer ${i}`);try{fetch(`${o}/mine/${encodeURIComponent(e)}/remote/state`,{method:"POST",headers:a,body:JSON.stringify(t),keepalive:!0}).catch(()=>{})}catch{}}};export{c as p}; diff --git a/public/assets/quizzes-BK-v4h9-.js b/public/assets/quizzes-BK-v4h9-.js new file mode 100644 index 0000000..fcc083a --- /dev/null +++ b/public/assets/quizzes-BK-v4h9-.js @@ -0,0 +1 @@ +import{d as z,n as a,c as o,F as c,H as h,b as l,p as u,t as n,e as p,a7 as _,E as q,f as m,ar as r}from"./index-BxuLaZe9.js";const y={class:"rows"},$={class:"row-main"},k={class:"title"},w=["aria-label"],f={key:1,class:"badge"},b={class:"muted small"},S=z({__name:"AttemptList",props:{attempts:{},showQuiz:{type:Boolean}},setup(e){const s=d=>`${Math.round(d.score_points)}/${Math.round(d.max_points)}`;return(d,g)=>(a(),o("ul",y,[(a(!0),o(c,null,h(e.attempts,t=>(a(),o("li",{key:t.id},[l("div",$,[l("span",k,[e.showQuiz?(a(),o(c,{key:0},[u(n(t.quiz_title),1)],64)):(a(),o(c,{key:1},[u(n(p(_)(t.started_at)),1)],64))]),t.completed_at?(a(),o("span",{key:0,class:q(["badge",t.passed?"online":""]),"aria-label":`Wynik ${s(t)}`},n(s(t)),11,w)):(a(),o("span",f,"niezakończona"))]),l("div",b,[e.showQuiz?(a(),o(c,{key:0},[u(n(p(_)(t.started_at))+" · ",1)],64)):m("",!0),t.category?(a(),o(c,{key:1},[u(n(t.category)+" · ",1)],64)):m("",!0),u(" odpowiedzi: "+n(t.answered_count),1),t.completed_at&&t.score_percent!==null?(a(),o(c,{key:2},[u(" · "+n(String(t.score_percent).replace(".",","))+"% puli",1)],64)):m("",!0)])]))),128))]))}}),i="/_quizzes/api/v1",T={list:e=>r.request(`${i}/quizzes`,{query:{context:e}}),quiz:(e,s)=>r.request(`${i}/quizzes/${encodeURIComponent(e)}`,{query:{category:s}}),start:(e,s)=>r.request(`${i}/quizzes/${encodeURIComponent(e)}/attempts`,{method:"POST",body:s?{category:s}:{}}),answer:(e,s)=>r.request(`${i}/attempts/${e}/answers`,{method:"POST",body:s}),finish:e=>r.request(`${i}/attempts/${e}/finish`,{method:"POST"}),attempt:e=>r.request(`${i}/attempts/${e}`),attempts:(e,s)=>r.raw(`${i}/attempts`,{query:{quiz:e,page:s}})};export{S as _,T as q}; diff --git a/public/assets/quizzes-BqZpc3iI.js b/public/assets/quizzes-BqZpc3iI.js deleted file mode 100644 index e7a89b0..0000000 --- a/public/assets/quizzes-BqZpc3iI.js +++ /dev/null @@ -1 +0,0 @@ -import{e as p}from"./format-bcE-cYHJ.js";import{d as z,n as o,c as a,F as c,B as h,b as d,p as u,t as n,e as _,z as q,f as l,N as r}from"./index-BJq7_SVs.js";const y={class:"rows"},$={class:"row-main"},k={class:"title"},w=["aria-label"],f={key:1,class:"badge"},b={class:"muted small"},S=z({__name:"AttemptList",props:{attempts:{},showQuiz:{type:Boolean}},setup(e){const s=m=>`${Math.round(m.score_points)}/${Math.round(m.max_points)}`;return(m,g)=>(o(),a("ul",y,[(o(!0),a(c,null,h(e.attempts,t=>(o(),a("li",{key:t.id},[d("div",$,[d("span",k,[e.showQuiz?(o(),a(c,{key:0},[u(n(t.quiz_title),1)],64)):(o(),a(c,{key:1},[u(n(_(p)(t.started_at)),1)],64))]),t.completed_at?(o(),a("span",{key:0,class:q(["badge",t.passed?"online":""]),"aria-label":`Wynik ${s(t)}`},n(s(t)),11,w)):(o(),a("span",f,"niezakończona"))]),d("div",b,[e.showQuiz?(o(),a(c,{key:0},[u(n(_(p)(t.started_at))+" · ",1)],64)):l("",!0),t.category?(o(),a(c,{key:1},[u(n(t.category)+" · ",1)],64)):l("",!0),u(" odpowiedzi: "+n(t.answered_count),1),t.completed_at&&t.score_percent!==null?(o(),a(c,{key:2},[u(" · "+n(String(t.score_percent).replace(".",","))+"% puli",1)],64)):l("",!0)])]))),128))]))}}),i="/_quizzes/api/v1",T={list:e=>r.request(`${i}/quizzes`,{query:{context:e}}),quiz:(e,s)=>r.request(`${i}/quizzes/${encodeURIComponent(e)}`,{query:{category:s}}),start:(e,s)=>r.request(`${i}/quizzes/${encodeURIComponent(e)}/attempts`,{method:"POST",body:s?{category:s}:{}}),answer:(e,s)=>r.request(`${i}/attempts/${e}/answers`,{method:"POST",body:s}),finish:e=>r.request(`${i}/attempts/${e}/finish`,{method:"POST"}),attempt:e=>r.request(`${i}/attempts/${e}`),attempts:(e,s)=>r.raw(`${i}/attempts`,{query:{quiz:e,page:s}})};export{S as _,T as q}; diff --git a/public/assets/realtime-B_4pSF-q.js b/public/assets/realtime-B_4pSF-q.js deleted file mode 100644 index 6830615..0000000 --- a/public/assets/realtime-B_4pSF-q.js +++ /dev/null @@ -1 +0,0 @@ -import{Y as j,N as v,A as O}from"./index-BJq7_SVs.js";function m(e){const n=e<0,t=Math.abs(Math.round(e)),o=Math.floor(t/60),r=t%60;return(n?"−":"")+o+":"+(r<10?"0":"")+r}function P(e){return e.map(n=>Number.isFinite(n)&&n>0?n:0)}function k(e){return Number.isFinite(e)&&e>0?e:0}function D(e){const n=P(e.budgets),t=n.reduce((f,p)=>f+p,0),o=e.targetSeconds>0?e.targetSeconds:t,r=n.length===0?0:Math.max(0,Math.min(n.length-1,Math.trunc(e.index)||0)),i=k(e.elapsed),l=k(e.slideElapsed),s=n[r]??0,a=s-l;let d="",u=!1;if(!e.idle){let f=Math.min(l,s);for(let b=0;b=0?"zapas "+m(p):"opóźnienie "+m(-p)}return{slide:s?m(a):"—",total:m(o-i),pace:d,slideOver:s>0&&a<0,totalOver:i>o,late:u,idle:e.idle,paused:e.paused,hidden:e.hidden,elapsed:Math.floor(i),slideElapsed:Math.floor(l)}}function fe(e){const n=P(e.budgets),t=n.map(()=>0);let o=0,r=0,i=0,l=!1;function s(c){return n.length===0?0:Math.max(0,Math.min(n.length-1,c))}function a(){return r===0&&o===0}function d(){return D({budgets:n,targetSeconds:e.targetSeconds,index:i,slideElapsed:t[i]??0,elapsed:o,idle:a(),paused:r===0&&o>0,hidden:l})}function u(){if(!r)return;const c=e.now(),A=(c-r)/1e3;r=c,n.length>0&&(t[i]+=A),o+=A}function f(c){i=s(c),r===0&&o===0&&(r=e.now())}function p(c){i=s(c)}function b(){!o&&!r||(u(),r=r?0:e.now())}function L(){for(let c=0;c=n&&e<=t}function G(e){if(!g(e))return null;const n=e.action,t=e.tab;if(typeof n!="string"||!V.has(n)||typeof t!="string"||t!==""&&!C.test(t))return null;const o=n;return o==="goto"?h(e.number,1,U)?{action:o,number:e.number,tab:t}:null:e.number!==void 0?null:{action:o,tab:t}}function K(e){if(!g(e))return null;const{elapsed:n,slide_elapsed:t,paused:o,hidden:r,idle:i}=e;return!h(n,0,E)||!h(t,0,E)||typeof o!="boolean"||typeof r!="boolean"||typeof i!="boolean"?null:{elapsed:n,slide_elapsed:t,paused:o,hidden:r,idle:i}}function $(e){if(!g(e))return null;const{tab:n,claim:t,bye:o,number:r,total:i,special:l,has_special:s,panel:a,toolbar_hidden:d}=e;if(typeof n!="string"||!C.test(n)||typeof t!="boolean"||typeof o!="boolean"||!h(r,0,T)||!h(i,0,T)||r>i||typeof l!="boolean"||typeof s!="boolean"||typeof d!="boolean"||a!==null&&(typeof a!="string"||!F.has(a)))return null;const u=e.light===void 0?!1:e.light;if(typeof u!="boolean")return null;const f=K(e.clock);return f?{tab:n,claim:t,bye:o,number:r,total:i,special:l,has_special:s,panel:a,toolbar_hidden:d,light:u,clock:f}:null}function Te(e){if(!g(e))return null;if(e.event===w){const n=G(e.payload);return n?{event:w,payload:n}:null}if(e.event===_){const n=$(e.payload);return n?{event:_,payload:n}:null}return null}function Ee(){const e=globalThis.crypto;if(e&&typeof e.randomUUID=="function")return e.randomUUID();const n=new Uint8Array(16);if(e&&typeof e.getRandomValues=="function")e.getRandomValues(n);else for(let t=0;tt.toString(16).padStart(2,"0")).join("")}function M(e){return!Number.isFinite(e)||e<=0?0:Math.min(E,Math.floor(e))}function N(e){return!Number.isFinite(e)||e<=0?0:Math.min(T,Math.floor(e))}function Ae(e,n,t,o={}){const r=N(e.total),i=Math.min(N(e.number),r);return{tab:t,claim:!!o.claim,bye:!!o.bye,number:i,total:r,special:e.special,has_special:e.hasSpecial,panel:e.panel,toolbar_hidden:e.toolbarHidden,light:!!o.light,clock:n?{elapsed:M(n.elapsed),slide_elapsed:M(n.slideElapsed),paused:n.paused,hidden:n.hidden,idle:n.idle}:{elapsed:0,slide_elapsed:0,paused:!1,hidden:!1,idle:!0}}}function ke(e){let n=null;return{observe(t){const o=n===e;return t.bye?(t.tab===n&&(n=null),!1):((t.claim||n===null&&t.tab!==e)&&(n=t.tab),!o&&n===e)},activeTab:()=>n,isActive:()=>n===e,shouldApply(t){return n===e&&(t.tab===""||t.tab===e)}}}function we(e,n=!1){const t=Number.isFinite(e)?Math.min(Math.max(e,0),1):0;return(n?y:2*y)+Math.floor(t*(y/2))}function _e(){let e=null,n=0,t=null;return{observe(o,r){const i=e===null||e.bye||r-n>=S;return(o.claim&&!o.bye||t===null||i)&&(t=o.tab),o.tab!==t?!1:(e=o,n=r,o.bye&&(t=null),!0)},current:()=>e,receivedAt:()=>n,actionTab:()=>t??"",live(o){return e!==null&&!e.bye&&o-n0&&n-eDate.now(),setTimeout:(e,n)=>globalThis.setTimeout(e,n),clearTimeout:e=>globalThis.clearTimeout(e)};function Me(e,n,t=Y){let o=Number.NEGATIVE_INFINITY,r=null;function i(){o=t.now(),e()}function l(){r!==null&&t.clearTimeout(r),r=null}return{call(){if(r!==null)return;const s=o+n-t.now();if(s<=0){i();return}r=t.setTimeout(()=>{r=null,i()},s)},flush(){l(),i()},cancel:l}}const q=/]*>([\s\S]*?)<\/h\1\s*>/gi,Z=//gi,W=/<[^>]*>/g,X=/&(#x[0-9a-f]+|#[0-9]+|amp|lt|gt|quot|apos|nbsp);/gi,z={amp:"&",lt:"<",gt:">",quot:'"',apos:"'",nbsp:" "};function R(e){return e.replace(X,(n,t)=>{const o=t.toLowerCase();if(o in z)return z[o];const r=o.startsWith("#x")?parseInt(o.slice(2),16):parseInt(o.slice(1),10);return!Number.isFinite(r)||r<=0||r>1114111?n:r===160?" ":String.fromCodePoint(r)})}function J(e){return R(e.replace(Z," ").replace(W,"")).replace(/\s+/g," ").trim()}function I(e,n){const t=e.findIndex(o=>o.number===n);return t<0?0:t}function Ne(e){const n=e.body_html??"";for(const o of n.matchAll(q)){const r=J(o[2]??"");if(r)return r}const t=(e.section_label??"").trim();return t||`Slajd ${e.number}`}const Q={say:"Na ekranie: Powiedz",notes:"Na ekranie: Notatki",srcs:"Na ekranie: Źródła"};function ze(e){const n=[];return e.special&&n.push("Specjalny"),e.panel&&n.push(Q[e.panel]),e.toolbar_hidden&&n.push("Pasek ukryty"),e.clock.hidden&&n.push("Zegar ukryty"),n}const ee={connecting:"Łączenie…",waiting:"Czekam na komputer",live:"Połączono",reconnecting:"Ponowne łączenie…",unavailable:"Pilot niedostępny"};function Ie(e){return ee[e]}function Pe(e,n,t,o,r,i){const{clock:l}=e,a=!l.paused&&!l.idle?Math.max(0,(i-r)/1e3):0;return{budgets:n,targetSeconds:t,index:o,slideElapsed:l.slide_elapsed+a,elapsed:l.elapsed+a,idle:l.idle,paused:l.paused,hidden:l.hidden}}function Ce(e,n){const t=n&&e!==null,o=e?.panel??null,r=!!e?.special,i=(l,s,a,d,u=null)=>({action:l,label:s,kbd:a,enabled:t&&d,pressed:u});return[i("prev","Wstecz","",!0),i("next","Dalej","",!0),i("sources","Źródła","Z",!0,o==="srcs"),i("notes","Notatki","N",!0,o==="notes"),i("special","Specjalny","S",!!e?.has_special||r,r),i("back","Powrót","Esc",r),i("clock-pause",e?.clock.paused?"Wznów":"Pauza","T",!e?.clock.idle),i("clock-reset","Zeruj","R",!0),i("clock",e?.clock.hidden?"Pokaż zegar":"Ukryj zegar","C",!0),i("toolbar","Pasek","H",!0,e?!e.toolbar_hidden:!1),i("speak","Powiedz","P",!0,o==="say"),i("scheme","Jasny","J",!0,!!e?.light),i("first","Początek","Home",!0),i("last","Koniec","End",!0)]}function Re(e){return e===0?"Nie wysłano: brak połączenia z internetem. Naciśnij ponownie.":e===429?"Za dużo naciśnięć naraz. Odczekaj chwilę i naciśnij ponownie.":e===503?"Pilot jest teraz niedostępny. Steruj klawiaturą na komputerze.":"Nie wysłano polecenia. Naciśnij ponownie."}const ne=/"']|"[^"]*"|'[^']*')*)>/gi,te=/([^\s"'=<>/]+)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'=<>`]+)))?/g;function oe(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function re(e){const n=new Map;for(const t of e.matchAll(te)){const o=(t[1]??"").toLowerCase();!o||n.has(o)||n.set(o,t[2]??t[3]??t[4]??"")}return n}function Le(e){return e?e.replace(ne,(n,t)=>{const o=re(t);if(!o.has("data-deck-image"))return n;const r=R(o.get("alt")??"").replace(/\s+/g," ").trim();return`${r?`[obraz: ${oe(r)}]`:"[obraz]"}`}):""}function je(e,n,t,o){if(e.slides.length===0)return null;if(t&&n){const r=e.slides[I(e.slides,n.number)]??null;return r&&n.special&&r.special?r.special:r}return e.slides[I(e.slides,o)]??null}const ie="/ws",se="/api/realtime/token",le=new Set([401,403,404]);function ae(e){return le.has(e)}function ce(e=window.location){return`${e.protocol==="https:"?"wss":"ws"}://${e.host}${ie}`}function ue(e){const n=String(e);return n==="connected"||n==="connecting"?n:"disconnected"}async function ve(e,n){const{Centrifuge:t,UnauthorizedError:o}=await j(async()=>{const{Centrifuge:s,UnauthorizedError:a}=await import("./index-B53bcf0x.js");return{Centrifuge:s,UnauthorizedError:a}},[]),r=new t(ce(),{minReconnectDelay:500,maxReconnectDelay:1e4,getToken:async()=>{try{const s=await v.request(se);if(!s||typeof s.token!="string"||s.token==="")throw new Error("realtime: empty token");return s.token}catch(s){throw s instanceof O&&ae(s.status)?(n.onUnavailable?.(),new o("realtime unavailable")):s}}});r.on("state",s=>n.onConnection?.(ue(s.newState)));const i=r.newSubscription(e);i.on("publication",s=>n.onPublication(s.data)),i.on("subscribed",()=>n.onSubscribed?.()),i.on("unsubscribed",s=>{s.code>=400&&n.onDenied?.(s.code)}),i.subscribe(),r.connect();let l=!1;return{close(){l||(l=!0,i.removeAllListeners(),i.unsubscribe(),r.removeSubscription(i),r.disconnect(),r.removeAllListeners())},resubscribe(){l||i.subscribe()}}}export{ge as C,me as D,be as H,_ as R,pe as S,Me as a,fe as b,ke as c,Te as d,Ae as e,Le as f,Ne as g,je as h,Ce as i,Ie as j,he as k,_e as l,Re as m,Ee as n,ve as o,Se as p,ze as q,ye as r,I as s,we as t,D as u,Pe as v}; diff --git a/public/assets/remote-BmhCoAgl.js b/public/assets/remote-BmhCoAgl.js new file mode 100644 index 0000000..4d9bd94 --- /dev/null +++ b/public/assets/remote-BmhCoAgl.js @@ -0,0 +1 @@ +function g(e){const n=e<0,t=Math.abs(Math.round(e)),o=Math.floor(t/60),r=t%60;return(n?"−":"")+o+":"+(r<10?"0":"")+r}function P(e){return e.map(n=>Number.isFinite(n)&&n>0?n:0)}function E(e){return Number.isFinite(e)&&e>0?e:0}function O(e){const n=P(e.budgets),t=n.reduce((f,p)=>f+p,0),o=e.targetSeconds>0?e.targetSeconds:t,r=n.length===0?0:Math.max(0,Math.min(n.length-1,Math.trunc(e.index)||0)),l=E(e.elapsed),i=E(e.slideElapsed),s=n[r]??0,a=s-i;let d="",u=!1;if(!e.idle){let f=Math.min(i,s);for(let b=0;b=0?"zapas "+g(p):"opóźnienie "+g(-p)}return{slide:s?g(a):"—",total:g(o-l),pace:d,slideOver:s>0&&a<0,totalOver:l>o,late:u,idle:e.idle,paused:e.paused,hidden:e.hidden,elapsed:Math.floor(l),slideElapsed:Math.floor(i)}}function te(e){const n=P(e.budgets),t=n.map(()=>0);let o=0,r=0,l=0,i=!1;function s(c){return n.length===0?0:Math.max(0,Math.min(n.length-1,c))}function a(){return r===0&&o===0}function d(){return O({budgets:n,targetSeconds:e.targetSeconds,index:l,slideElapsed:t[l]??0,elapsed:o,idle:a(),paused:r===0&&o>0,hidden:i})}function u(){if(!r)return;const c=e.now(),M=(c-r)/1e3;r=c,n.length>0&&(t[l]+=M),o+=M}function f(c){l=s(c),r===0&&o===0&&(r=e.now())}function p(c){l=s(c)}function b(){!o&&!r||(u(),r=r?0:e.now())}function R(){for(let c=0;c=n&&e<=t}function F(e){if(!m(e))return null;const n=e.action,t=e.tab;if(typeof n!="string"||!L.has(n)||typeof t!="string"||t!==""&&!C.test(t))return null;const o=n;return o==="goto"?h(e.number,1,D)?{action:o,number:e.number,tab:t}:null:e.number!==void 0?null:{action:o,tab:t}}function G(e){if(!m(e))return null;const{elapsed:n,slide_elapsed:t,paused:o,hidden:r,idle:l}=e;return!h(n,0,k)||!h(t,0,k)||typeof o!="boolean"||typeof r!="boolean"||typeof l!="boolean"?null:{elapsed:n,slide_elapsed:t,paused:o,hidden:r,idle:l}}function B(e){if(!m(e))return null;const{tab:n,claim:t,bye:o,number:r,total:l,special:i,has_special:s,panel:a,toolbar_hidden:d}=e;if(typeof n!="string"||!C.test(n)||typeof t!="boolean"||typeof o!="boolean"||!h(r,0,T)||!h(l,0,T)||r>l||typeof i!="boolean"||typeof s!="boolean"||typeof d!="boolean"||a!==null&&(typeof a!="string"||!v.has(a)))return null;const u=e.light===void 0?!1:e.light;if(typeof u!="boolean")return null;const f=G(e.clock);return f?{tab:n,claim:t,bye:o,number:r,total:l,special:i,has_special:s,panel:a,toolbar_hidden:d,light:u,clock:f}:null}function ce(e){if(!m(e))return null;if(e.event===A){const n=F(e.payload);return n?{event:A,payload:n}:null}if(e.event===S){const n=B(e.payload);return n?{event:S,payload:n}:null}return null}function ue(){const e=globalThis.crypto;if(e&&typeof e.randomUUID=="function")return e.randomUUID();const n=new Uint8Array(16);if(e&&typeof e.getRandomValues=="function")e.getRandomValues(n);else for(let t=0;tt.toString(16).padStart(2,"0")).join("")}function N(e){return!Number.isFinite(e)||e<=0?0:Math.min(k,Math.floor(e))}function w(e){return!Number.isFinite(e)||e<=0?0:Math.min(T,Math.floor(e))}function de(e,n,t,o={}){const r=w(e.total),l=Math.min(w(e.number),r);return{tab:t,claim:!!o.claim,bye:!!o.bye,number:l,total:r,special:e.special,has_special:e.hasSpecial,panel:e.panel,toolbar_hidden:e.toolbarHidden,light:!!o.light,clock:n?{elapsed:N(n.elapsed),slide_elapsed:N(n.slideElapsed),paused:n.paused,hidden:n.hidden,idle:n.idle}:{elapsed:0,slide_elapsed:0,paused:!1,hidden:!1,idle:!0}}}function fe(e){let n=null;return{observe(t){const o=n===e;return t.bye?(t.tab===n&&(n=null),!1):((t.claim||n===null&&t.tab!==e)&&(n=t.tab),!o&&n===e)},activeTab:()=>n,isActive:()=>n===e,shouldApply(t){return n===e&&(t.tab===""||t.tab===e)}}}function pe(e,n=!1){const t=Number.isFinite(e)?Math.min(Math.max(e,0),1):0;return(n?y:2*y)+Math.floor(t*(y/2))}function be(){let e=null,n=0,t=null;return{observe(o,r){const l=e===null||e.bye||r-n>=_;return(o.claim&&!o.bye||t===null||l)&&(t=o.tab),o.tab!==t?!1:(e=o,n=r,o.bye&&(t=null),!0)},current:()=>e,receivedAt:()=>n,actionTab:()=>t??"",live(o){return e!==null&&!e.bye&&o-n<_},release(){t=null}}}function he(e,n){return e>0&&n-eDate.now(),setTimeout:(e,n)=>globalThis.setTimeout(e,n),clearTimeout:e=>globalThis.clearTimeout(e)};function ge(e,n,t=K){let o=Number.NEGATIVE_INFINITY,r=null;function l(){o=t.now(),e()}function i(){r!==null&&t.clearTimeout(r),r=null}return{call(){if(r!==null)return;const s=o+n-t.now();if(s<=0){l();return}r=t.setTimeout(()=>{r=null,l()},s)},flush(){i(),l()},cancel:i}}const U=/]*>([\s\S]*?)<\/h\1\s*>/gi,Y=//gi,Z=/<[^>]*>/g,q=/&(#x[0-9a-f]+|#[0-9]+|amp|lt|gt|quot|apos|nbsp);/gi,z={amp:"&",lt:"<",gt:">",quot:'"',apos:"'",nbsp:" "};function j(e){return e.replace(q,(n,t)=>{const o=t.toLowerCase();if(o in z)return z[o];const r=o.startsWith("#x")?parseInt(o.slice(2),16):parseInt(o.slice(1),10);return!Number.isFinite(r)||r<=0||r>1114111?n:r===160?" ":String.fromCodePoint(r)})}function $(e){return j(e.replace(Y," ").replace(Z,"")).replace(/\s+/g," ").trim()}function I(e,n){const t=e.findIndex(o=>o.number===n);return t<0?0:t}function me(e){const n=e.body_html??"";for(const o of n.matchAll(U)){const r=$(o[2]??"");if(r)return r}const t=(e.section_label??"").trim();return t||`Slajd ${e.number}`}const W={say:"Na ekranie: Powiedz",notes:"Na ekranie: Notatki",srcs:"Na ekranie: Źródła"};function ye(e){const n=[];return e.special&&n.push("Specjalny"),e.panel&&n.push(W[e.panel]),e.toolbar_hidden&&n.push("Pasek ukryty"),e.clock.hidden&&n.push("Zegar ukryty"),n}const X={connecting:"Łączenie…",waiting:"Czekam na komputer",live:"Połączono",reconnecting:"Ponowne łączenie…",unavailable:"Pilot niedostępny"};function Te(e){return X[e]}function ke(e,n,t,o,r,l){const{clock:i}=e,a=!i.paused&&!i.idle?Math.max(0,(l-r)/1e3):0;return{budgets:n,targetSeconds:t,index:o,slideElapsed:i.slide_elapsed+a,elapsed:i.elapsed+a,idle:i.idle,paused:i.paused,hidden:i.hidden}}function Me(e,n){const t=n&&e!==null,o=e?.panel??null,r=!!e?.special,l=(i,s,a,d,u=null)=>({action:i,label:s,kbd:a,enabled:t&&d,pressed:u});return[l("prev","Wstecz","",!0),l("next","Dalej","",!0),l("sources","Źródła","Z",!0,o==="srcs"),l("notes","Notatki","N",!0,o==="notes"),l("special","Specjalny","S",!!e?.has_special||r,r),l("back","Powrót","Esc",r),l("clock-pause",e?.clock.paused?"Wznów":"Pauza","T",!e?.clock.idle),l("clock-reset","Zeruj","R",!0),l("clock",e?.clock.hidden?"Pokaż zegar":"Ukryj zegar","C",!0),l("toolbar","Pasek","H",!0,e?!e.toolbar_hidden:!1),l("speak","Powiedz","P",!0,o==="say"),l("scheme","Jasny","J",!0,!!e?.light),l("first","Początek","Home",!0),l("last","Koniec","End",!0)]}function Ee(e){return e===0?"Nie wysłano: brak połączenia z internetem. Naciśnij ponownie.":e===429?"Za dużo naciśnięć naraz. Odczekaj chwilę i naciśnij ponownie.":e===503?"Pilot jest teraz niedostępny. Steruj klawiaturą na komputerze.":"Nie wysłano polecenia. Naciśnij ponownie."}const J=/"']|"[^"]*"|'[^']*')*)>/gi,Q=/([^\s"'=<>/]+)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'=<>`]+)))?/g;function ee(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function ne(e){const n=new Map;for(const t of e.matchAll(Q)){const o=(t[1]??"").toLowerCase();!o||n.has(o)||n.set(o,t[2]??t[3]??t[4]??"")}return n}function Ae(e){return e?e.replace(J,(n,t)=>{const o=ne(t);if(!o.has("data-deck-image"))return n;const r=j(o.get("alt")??"").replace(/\s+/g," ").trim();return`${r?`[obraz: ${ee(r)}]`:"[obraz]"}`}):""}function Se(e,n,t,o){if(e.slides.length===0)return null;if(t&&n){const r=e.slides[I(e.slides,n.number)]??null;return r&&n.special&&r.special?r.special:r}return e.slides[I(e.slides,o)]??null}export{se as C,ie as D,re as H,S as R,oe as S,ge as a,te as b,fe as c,ce as d,de as e,Ae as f,me as g,Se as h,Me as i,Te as j,le as k,be as l,Ee as m,ue as n,ye as o,he as p,O as q,ae as r,I as s,pe as t,ke as u}; diff --git a/public/assets/scrollToHash-QnVc4MI-.js b/public/assets/scrollToHash-QnVc4MI-.js new file mode 100644 index 0000000..6a92825 --- /dev/null +++ b/public/assets/scrollToHash-QnVc4MI-.js @@ -0,0 +1 @@ +import{T as i,k as d,Y as u,an as m}from"./index-BxuLaZe9.js";const l=2500;function h(n){const s=d();let c="";i([()=>m(n),()=>s.hash],([a,e])=>{!a||!e||e===c||(c=e,u(()=>{if(typeof document>"u")return;let o=e.slice(1);try{o=decodeURIComponent(o)}catch{}const t=document.getElementById(o);if(!t)return;const r=typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;t.scrollIntoView({behavior:r?"auto":"smooth",block:"start"}),t.classList.add("hash-target"),setTimeout(()=>t.classList.remove("hash-target"),l)}))},{immediate:!0})}export{h as u}; diff --git a/public/index.html b/public/index.html index 5f35db8..20c2ab7 100644 --- a/public/index.html +++ b/public/index.html @@ -14,8 +14,8 @@ - - + +
diff --git a/public/sw.js b/public/sw.js index 40bf73f..2c2e9d5 100644 --- a/public/sw.js +++ b/public/sw.js @@ -1,4 +1,4 @@ -const BUILD = '36d91a902549' +const BUILD = '606374c4e460' // The service worker of the BM student app. The Vite plugin bm-service-worker // (vite.config.ts) emits this file as /sw.js and replaces the build id above, // so every build that changes an asset gets a fresh cache and an update prompt. @@ -10,13 +10,13 @@ const BUILD = '36d91a902549' const CACHE = 'bm-' + BUILD const OFFLINE_URL = '/offline.html' -// API, realtime, upload, social sign-in and admin paths are never -// intercepted. The speaker deck (/_presentations) holds notes and text meant -// only for its owner, and no response from these prefixes may ever land in a -// device cache; /oauth navigations are redirects to and from the sign-in -// provider. The list mirrors reservedPrefixes in plugins/jz/bm/static.go plus +// API (the chat's included), realtime, upload, social sign-in and admin +// paths are never intercepted. The speaker deck (/_presentations) holds +// notes and text meant only for its owner, and no response from these +// prefixes may ever land in a device cache; /oauth navigations are +// redirects to and from the sign-in provider. The list mirrors reservedPrefixes in plugins/jz/bm/static.go plus // /ws and the admin. -const SKIP_PREFIXES = ['/_user', '/_bm', '/_quizzes', '/_presentations', '/api', '/ws', '/storage', '/oauth', '/bmadmin'] +const SKIP_PREFIXES = ['/_user', '/_bm', '/_quizzes', '/_presentations', '/_chat', '/_chatchannels', '/_chatbots', '/api', '/ws', '/storage', '/oauth', '/bmadmin'] // swRoute classifies a request: 'skip' leaves it to the browser, 'page' is a // network-only navigation with an offline fallback, 'asset' is cache-first.