import{c as sn}from"./engine-DDeQk6Ow.js";import{d as Te,c as u,b as c,C as I,i as ne,_ as Ye,t as _,f as E,x as p,n as r,U as he,F as L,E as ge,j as on,r as g,l as ln,p as Ct,Z as Et,s as Qe,o as rn,b7 as cn,A as be,b8 as un,b9 as dn,m as vn,ba as fn}from"./index-07rBQy2o.js";import{p as R}from"./presentations-DAFjpO5L.js";import{_ as _e}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{s as et,e as wt,f as tt,g as mn,h as pn,i as yn,d as bn,r as kn,j as wn,k as Je,a as hn,l as ht,S as gn,H as Tn,m as _n,o as Sn,D as Cn,b as En,R as zn,n as $n}from"./remote-aOKX75Mt.js";import{f as Nn,C as Ue,p as jn,i as An,j as Dn,d as xn}from"./log-Xlt5jeld.js";import{c as Rn,a as In}from"./clock-4r1aA6KU.js";const Ln={key:0,class:"cast"},Mn=["aria-busy"],Pn={class:"cast-label"},Bn={key:0,class:"cast-tv"},On={key:0,"aria-live":"polite"},Vn=Te({__name:"CastButton",props:{availability:{},deviceName:{},tv:{}},emits:["request","log"],setup(n,{emit:y}){const t=n,o=y,s=p(()=>t.availability!=="off"&&t.availability!=="no-devices"),i=p(()=>t.availability==="connected"),d=p(()=>t.availability==="connecting"?"Łączę z TV…":t.availability==="connected"?t.deviceName?`Na TV: ${t.deviceName}`:"Na TV":"Wyświetl na TV"),v=p(()=>{const k=t.tv;return k?k.phase==="waiting"?"TV: czekam na bilet":k.phase==="loading"?"TV: przygotowuję slajdy…":k.phase==="error"?"TV: błąd, połącz ponownie":`TV: slajd ${k.number}${k.special?" · specjalny":""}`:""});return(k,z)=>s.value?(r(),u("div",Ln,[c("button",{type:"button",class:I(["cast-row",{on:i.value}]),"aria-busy":n.availability==="connecting"?"true":void 0,onClick:z[0]||(z[0]=$=>o("request"))},[ne(Ye,{class:"cast-icon",name:"cast"}),c("span",Pn,_(d.value),1)],10,Mn),i.value?(r(),u("p",Bn,[v.value?(r(),u("span",On,_(v.value),1)):E("",!0),c("button",{type:"button",class:"cast-log",onClick:z[1]||(z[1]=$=>o("log"))},"Dziennik TV")])):E("",!0)])):E("",!0)}}),qn=_e(Vn,[["__scopeId","data-v-ff9a5014"]]),Hn={class:"drawer"},Wn=["id","aria-label"],Kn={class:"sheet-head"},Gn=["disabled"],Zn={class:"sheet-title"},Fn={class:"title"},Jn={key:0,class:"subtitle"},Un=["disabled"],Xn=["innerHTML"],Yn={key:1,class:"empty"},Qn=["innerHTML"],ea={key:1,class:"empty"},ta=["data-current","aria-current","onClick"],na={class:"num"},aa={class:"row-title"},sa={key:0,class:"tag"},oa={key:1,class:"now"},ia={class:"list-foot"},la={key:0,class:"hint"},ra={class:"bar","aria-label":"Szuflady na telefonie"},ca=["disabled","aria-expanded","aria-controls","onClick"],ua=Te({__name:"RemoteDrawer",props:{deck:{},state:{},live:{type:Boolean},cursor:{},open:{},disabled:{type:Boolean},wakeLockMissing:{type:Boolean}},emits:["goto","cursor","open","close"],setup(n,{emit:y}){const t=n,o=y,s=[{kind:"say",label:"Powiedz"},{kind:"notes",label:"Notatki"},{kind:"slides",label:"Slajdy"}],i=p(()=>t.deck.slides.length),d=p(()=>mn(t.deck,t.state,t.live,t.cursor)),v=p(()=>t.live&&t.state?t.state.number:t.deck.slides[et(t.deck.slides,t.cursor)]?.number??0),k=p(()=>et(t.deck.slides,t.cursor)),z=p(()=>t.live&&t.state?t.state.number:t.deck.slides[k.value]?.number??t.cursor),$=p(()=>{const h=t.live&&t.state?.special?"s":"";return`${z.value}${h}`});function P(h){return h?/
]*>/g,"").replace(/ | /g," ").trim()!=="":!1}const w=p(()=>P(d.value?.say_html)?wt(d.value?.say_html??""):""),b=p(()=>P(d.value?.notes_html)?wt(d.value?.notes_html??""):""),S=p(()=>t.open==="say"?`Powiedz · slajd ${z.value}`:t.open==="notes"?`Notatki · slajd ${z.value}`:"Slajdy"),D=p(()=>t.open==="slides"?"":t.live?"Widzisz tylko Ty":`Przeglądasz na telefonie · slajd ${k.value+1} z ${i.value}`),N=p(()=>!t.live&&(t.open==="say"||t.open==="notes")),G=p(()=>k.value>0),ae=p(()=>k.valuet.deck.slides.map(h=>({number:h.number,title:tt(h),special:!!h.special})));function B(h){t.disabled||(t.open===h?o("close"):o("open",h))}function Y(h){const x=t.deck.slides[k.value+h];x&&o("cursor",x.number)}const Z=g(null),O=g(null);return he([$,()=>t.open],()=>{Z.value&&(Z.value.scrollTop=0)}),he(()=>t.open,async h=>{if(h!=="slides")return;await Et(),O.value?.querySelector('[data-current="true"]')?.scrollIntoView({block:"center"})}),(h,x)=>{const se=ln("router-link");return r(),u("div",Hn,[n.open?(r(),u("section",{key:0,id:`remote-drawer-${n.open}`,class:"sheet","aria-label":S.value},[c("header",Kn,[N.value?(r(),u("button",{key:0,type:"button",class:"icon-btn","aria-label":"Poprzedni slajd na telefonie",disabled:!G.value,onClick:x[0]||(x[0]=T=>Y(-1))}," ‹ ",8,Gn)):E("",!0),c("div",Zn,[c("p",Fn,_(S.value),1),D.value?(r(),u("p",Jn,_(D.value),1)):E("",!0)]),N.value?(r(),u("button",{key:1,type:"button",class:"icon-btn","aria-label":"Następny slajd na telefonie",disabled:!ae.value,onClick:x[1]||(x[1]=T=>Y(1))}," › ",8,Un)):E("",!0),c("button",{type:"button",class:"close-btn",onClick:x[2]||(x[2]=T=>o("close"))},"Zamknij")]),c("div",{ref_key:"body",ref:Z,class:I(["sheet-body",{reading:n.open!=="slides"}])},[n.open==="say"?(r(),u(L,{key:0},[w.value?(r(),u("div",{key:0,class:"text",innerHTML:w.value},null,8,Xn)):(r(),u("p",Yn,"Brak tekstu do powiedzenia na tym slajdzie."))],64)):n.open==="notes"?(r(),u(L,{key:1},[b.value?(r(),u("div",{key:0,class:"text",innerHTML:b.value},null,8,Qn)):(r(),u("p",ea,"Brak notatek do tego slajdu."))],64)):(r(),u(L,{key:2},[c("ol",{ref_key:"list",ref:O,class:"list"},[(r(!0),u(L,null,ge(A.value,T=>(r(),u("li",{key:T.number},[c("button",{type:"button",class:"row","data-current":T.number===v.value?"true":void 0,"aria-current":T.number===v.value?"true":void 0,onClick:Me=>o("goto",T.number)},[c("span",na,_(T.number),1),c("span",aa,_(T.title),1),T.special?(r(),u("span",sa,"+ specjalny")):E("",!0),T.number===v.value?(r(),u("span",oa,"teraz")):E("",!0)],8,ta)]))),128))],512),c("footer",ia,[ne(se,{class:"back-link",to:{name:"my-presentations"}},{default:on(()=>[...x[3]||(x[3]=[Ct("Wróć do moich prezentacji",-1)])]),_:1}),n.wakeLockMissing?(r(),u("p",la,"Ta przeglądarka nie pozwala zablokować wygaszania ekranu.")):E("",!0)])],64))],2)],8,Wn)):E("",!0),c("nav",ra,[(r(),u(L,null,ge(s,T=>c("button",{key:T.kind,type:"button",class:I(["tab",{open:n.open===T.kind}]),disabled:n.disabled,"aria-expanded":n.open===T.kind?"true":"false","aria-controls":`remote-drawer-${T.kind}`,onClick:Me=>B(T.kind)},_(T.label),11,ca)),64))])])}}}),da=_e(ua,[["__scopeId","data-v-9f920f42"]]),va=["aria-label"],fa={key:0,class:"eyebrow"},ma={class:"grid nav"},pa=["disabled","aria-busy","onClick"],ya={key:1,class:"grid fn"},ba=["disabled","aria-pressed","aria-busy","onClick"],ka={class:"label"},wa=Te({__name:"RemoteKeys",props:{state:{},live:{type:Boolean},busy:{},compact:{type:Boolean},cast:{type:Boolean}},emits:["press","reset"],setup(n,{emit:y}){const t=n,o=y,s=p(()=>pn(t.state,t.live,t.cast?"cast":"deck")),i=p(()=>t.cast?"Klawisze na TV":"Klawisze na komputerze"),d=p(()=>s.value.slice(0,2)),v=p(()=>s.value.slice(2));function k($){return(t.busy[$.action]??0)>0}function z($){$.enabled&&($.action==="clock-reset"?o("reset"):o("press",$.action))}return($,P)=>(r(),u("section",{class:I(["keys",{compact:n.compact}]),"aria-label":i.value},[n.compact?E("",!0):(r(),u("p",fa,_(i.value),1)),c("div",ma,[(r(!0),u(L,null,ge(d.value,w=>(r(),u("button",{key:w.action,type:"button",class:I(["key nav-key",w.action]),disabled:!w.enabled,"aria-busy":k(w)?"true":void 0,onClick:b=>z(w)},[w.action==="prev"?(r(),Qe(Ye,{key:0,class:"arrow",name:"arrow-left"})):E("",!0),c("span",null,_(w.label),1),w.action==="next"?(r(),Qe(Ye,{key:1,class:"arrow",name:"arrow-right"})):E("",!0)],10,pa))),128))]),n.compact?E("",!0):(r(),u("div",ya,[(r(!0),u(L,null,ge(v.value,w=>(r(),u("button",{key:w.action,type:"button",class:"key fn-key",disabled:!w.enabled,"aria-pressed":w.pressed===null?void 0:w.pressed?"true":"false","aria-busy":k(w)?"true":void 0,onClick:b=>z(w)},[c("span",ka,_(w.label),1),c("kbd",null,_(w.kbd),1)],8,ba))),128))]))],10,va))}}),gt=_e(wa,[["__scopeId","data-v-25e061a7"]]),ha={class:"top"},ga={class:"row row-title"},Ta={class:"deck-title"},_a={class:"row row-slide","aria-live":"polite"},Sa={class:"counter"},Ca={key:0,class:"slide-title"},Ea={key:1,class:"slide-title waiting"},za={class:"row row-chips","aria-label":"Na komputerze"},$a={class:"row row-clock"},Na={key:0,class:"idle"},ja={key:0,class:"chip"},Aa={key:2,class:"clock"},Da=Te({__name:"RemoteTopBar",props:{deckTitle:{},status:{},live:{type:Boolean},counter:{},slideTitle:{},chips:{},clock:{}},setup(n){const y=n,t=p(()=>yn(y.status));return(o,s)=>(r(),u("header",ha,[c("div",ga,[c("p",Ta,_(n.deckTitle),1),c("p",{class:I(["conn",{on:n.status==="live"}])},[s[0]||(s[0]=c("span",{class:"dot","aria-hidden":"true"},null,-1)),Ct(_(t.value),1)],2)]),c("div",_a,[c("p",Sa,_(n.counter),1),n.live?(r(),u("p",Ca,_(n.slideTitle),1)):(r(),u("p",Ea,"Czekam na wersję mówcy"))]),c("ul",za,[n.live?(r(!0),u(L,{key:0},ge(n.chips,i=>(r(),u("li",{key:i,class:I(["chip",{khaki:i==="Specjalny"}])},_(i),3))),128)):E("",!0)]),c("div",$a,[n.live&&n.clock&&n.clock.idle?(r(),u("p",Na,"Zegar ruszy przy pierwszej zmianie slajdu")):n.live&&n.clock?(r(),u(L,{key:1},[c("p",{class:I(["clock",{paused:n.clock.paused}])},[s[2]||(s[2]=c("span",{class:"lbl"},"Slajd",-1)),c("b",{class:I({over:n.clock.slideOver})},_(n.clock.slide),3),s[3]||(s[3]=c("span",{class:"sep","aria-hidden":"true"},"·",-1)),s[4]||(s[4]=c("span",{class:"lbl"},"Całość",-1)),c("b",{class:I({over:n.clock.totalOver})},_(n.clock.total),3),n.clock.pace?(r(),u(L,{key:0},[s[1]||(s[1]=c("span",{class:"sep","aria-hidden":"true"},"·",-1)),c("span",{class:I(["pace",{late:n.clock.late}])},_(n.clock.pace),3)],64)):E("",!0)],2),n.clock.paused?(r(),u("span",ja,"Pauza")):E("",!0)],64)):(r(),u("p",Aa,[...s[5]||(s[5]=[c("b",null,"—",-1)])]))])]))}}),xa=_e(Da,[["__scopeId","data-v-382e11de"]]),Ra="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1",Xe="bm-cast-sender";function at(){return globalThis}function nt(){const n=at().cast?.framework;return n&&n.CastContext&&n.CastContextEventType?n:null}let ke=null;function Ia(n=1e4){return nt()?Promise.resolve(!0):ke||(typeof document>"u"?Promise.resolve(!1):(ke=new Promise(t=>{let o=!1,s=null;const i=d=>{o||(o=!0,s!==null&&clearTimeout(s),t(d&&nt()!==null))};try{at().__onGCastApiAvailable=v=>i(!!v);let d=document.getElementById(Xe);d||(d=document.createElement("script"),d.id=Xe,d.src=Ra,d.async=!0,d.addEventListener("error",()=>i(!1)),document.head.appendChild(d)),s=setTimeout(()=>i(!1),n)}catch{i(!1)}}).then(t=>(t||(ke=null,document.getElementById(Xe)?.remove()),t)),ke))}function La(n){switch(n){case"NOT_CONNECTED":return"available";case"CONNECTING":return"connecting";case"CONNECTED":return"connected";default:return"no-devices"}}function Ma(n){const y=nt();if(!y)return null;let t;try{t=y.CastContext.getInstance()}catch{return null}const o=y.CastContextEventType;let s=!1,i=null;const d=(b,S)=>{if(s)return;const D=jn(S);D&&n.onMessage(D)};function v(){const b=i;if(i=null,!!b)try{b.removeMessageListener(Ue,d)}catch{}}function k(){v();let b=null;try{b=t.getCurrentSession(),b?.addMessageListener(Ue,d)}catch{b=null}return i=b,b!==null}function z(b){s||n.onAvailability(La(b??""))}const $=b=>z(b.castState),P=b=>{if(s)return;const S=b.sessionState;S==="SESSION_STARTED"||S==="SESSION_RESUMED"?k()&&n.onSession(S==="SESSION_STARTED"?"started":"resumed"):S==="SESSION_ENDED"&&(v(),n.onSession("ended"))};try{t.addEventListener(o.CAST_STATE_CHANGED,$),t.addEventListener(o.SESSION_STATE_CHANGED,P)}catch{return null}try{const b=at().chrome?.cast?.AutoJoinPolicy?.ORIGIN_SCOPED??"origin_scoped";t.setOptions({receiverApplicationId:n.appId,autoJoinPolicy:b})}catch{}try{z(t.getCastState())}catch{z("")}let w=!1;try{w=t.getCurrentSession()!==null}catch{w=!1}return w&&queueMicrotask(()=>{!s&&i===null&&k()&&n.onSession("resumed")}),{async request(){if(!s)try{await t.requestSession()}catch{}},stop(){try{t.endCurrentSession(!0)}catch{}},async send(b){if(!Nn(b))throw new Error("cast message too large");let S=null;try{S=t.getCurrentSession()}catch{S=null}if(!S)throw new Error("no cast session");await S.sendMessage(Ue,b)},deviceName(){try{return t.getCurrentSession()?.getCastDevice()?.friendlyName??""}catch{return""}},connected(){try{return t.getCurrentSession()!==null}catch{return!1}},close(){if(!s){s=!0,v();try{t.removeEventListener(o.CAST_STATE_CHANGED,$),t.removeEventListener(o.SESSION_STATE_CHANGED,P)}catch{}}}}}const Pa=["speak","scheme","toolbar"],Ba=new Set(Pa);function Oa(n){const y=n.now??(()=>Date.now()),t=n.slides.map(i=>({number:i.number,hasSpecial:i.special!=null})),o=Rn({budgets:n.slides.map(i=>i.seconds),targetSeconds:n.targetSeconds,now:y}),s=sn({slides:t,history:{state:null,replaceState(){}},mode:"speaker",onNavigate:i=>{o.tick(),o.go(i)}});return{press(i){if(i==="sync"||i==="goto"||Ba.has(i))return!1;const d=kn(i);if(!d)return!1;const v=s.applyKey({key:d});return v==="pause"?o.pause():v==="clock"?o.toggleHidden():v==="reset"&&o.reset(),!0},goto(i){const d=t.findIndex(v=>v.number===i);return d<0?!1:(s.go(d),!0)},seed(i,d){t.some(v=>v.number===i)&&(o.tick(),s.showId(d?`${i}s`:String(i)),o.seek(s.snapshot().index))},state(i={}){return o.tick(),bn(s.snapshot(),o.view(),n.tab,{claim:!0,bye:i.bye,light:!1})},position(){const i=s.snapshot();return{number:i.number,special:i.special}}}}const Va=/^[A-Za-z0-9_-]{8,64}$/;function st(n){return"bm.cast."+n}function qa(n,y,t){if(!n)return null;let o;try{o=n.getItem(st(y))}catch{return null}if(!o)return null;let s;try{s=JSON.parse(o)}catch{return null}if(typeof s!="object"||s===null||Array.isArray(s))return null;const{tab:i,ticket:d,expires_at:v}=s;if(typeof i!="string"||!Va.test(i)||!An(d)||typeof v!="string")return null;const k=Date.parse(v);return!Number.isFinite(k)||k<=t?null:{tab:i,ticket:d,expires_at:v}}function Ha(n,y,t){if(n)try{n.setItem(st(y),JSON.stringify({tab:t.tab,ticket:t.ticket,expires_at:t.expires_at}))}catch{}}function Wa(n,y){if(n)try{n.removeItem(st(y))}catch{}}function Tt(n,y,t=10*6e4){const o=Date.parse(n);return Number.isFinite(o)?y>=o-t:!0}const Ka={key:0,class:"remote-status remote-label"},Ga={key:1,class:"remote-status"},Za={key:0,class:"remote-alert",role:"alert"},Fa={class:"remote-middle"},Ja={key:0,class:"remote-notice"},Ua={key:0,class:"remote-notice"},Xa={class:"remote-dialog-body"},Ya="Nie udało się wczytać prezentacji. Sprawdź połączenie z internetem i spróbuj ponownie.",Qa="Za dużo żądań w krótkim czasie. Odczekaj minutę i spróbuj ponownie.",te="Pilot niedostępny. Spróbuję połączyć się ponownie za 10 s.",es="Nie udało się połączyć z TV. Spróbuj ponownie.",we="TV nie odpowiada. Dotknij „Na TV”, aby zakończyć i połączyć ponownie.",_t="Nie udało się odnowić biletu TV. Spróbuję ponownie.",St="Nie udało się pobrać dziennika TV.",ts=2e3,ns=15e3,as=15e3,ss=3e4,os=Te({__name:"PresentationRemoteView",props:{slug:{}},setup(n){const y=n,t=vn(),o=g("pending"),s=g(null),i=g("");let d=0,v=0,k=null,z="",$=0,P=0,w=0,b=!1,S=0,D=Je();const N=g(null),G=g(0),ae=g(Date.now()),A=g(!1),B=g(!1),Y=g("connecting"),Z=g(!1),O=g(!1),h=g(!1),x=p(()=>B.value?"live":h.value?"unavailable":A.value?"live":Y.value==="connected"&&O.value?"waiting":Z.value?"reconnecting":"connecting"),se=p(()=>s.value?.slides.length??0),T=p(()=>{const e=N.value;return!s.value||!e?0:et(s.value.slides,e.number)}),Me=p(()=>{const e=N.value;return A.value&&e?`${e.number} / ${e.total}`:`— / ${se.value}`}),zt=p(()=>{const e=N.value,a=s.value?.slides[T.value];return!e||!a?"":e.special&&a.special?tt(a.special):tt(a)}),$t=p(()=>N.value?_n(N.value):[]),Nt=p(()=>{const e=N.value;return!s.value||!e?null:In(Sn(e,s.value.slides.map(a=>a.seconds),s.value.target_seconds,T.value,G.value,ae.value))}),V=g(null),oe=g(1);he(N,e=>{e&&!e.bye&&e.number>0&&(oe.value=e.number)});function jt(e){se.value!==0&&(V.value=e)}function At(){V.value=null}function Dt(e){oe.value=e}function xt(e){if(f){re(),f.mode.goto(e)&&F(),V.value=null;return}if(A.value){re(),Pe("goto",e),V.value=null;return}oe.value=e,V.value="say"}function Q(){ae.value=Date.now(),A.value=B.value||D.live(ae.value)}function Rt(e){if(f)return;const a=En(e);!a||a.event!==zn||D.observe(a.payload,Date.now())&&(N.value=D.current(),G.value=D.receivedAt(),Q(),a.payload.bye&&le())}function Se(){d&&window.clearTimeout(d),d=0}const j=g("");let H=0;function q(e,a=4e3){j.value=e,H&&window.clearTimeout(H),H=0,a>0&&(H=window.setTimeout(()=>{j.value="",H=0},a))}function W(){H&&window.clearTimeout(H),H=0,j.value=""}const ie=g({});function ot(e,a){const l=Math.max(0,(ie.value[e]??0)+a);ie.value={...ie.value,[e]:l}}async function Pe(e,a){const l={action:e,tab:D.actionTab()};a!==void 0&&(l.number=a),ot(e,1);try{await R.remote(y.slug,l),j.value&&j.value!==te&&W()}catch(m){q(ht(m instanceof be?m.status:-1))}finally{ot(e,-1)}}function le(){f||!O.value||R.remote(y.slug,{action:"sync",tab:""}).catch(()=>{})}function It(){O.value=!0,h.value=!1,j.value===te&&W(),D.release(),le()}function Lt(e){Y.value=e,e==="connected"?Z.value=!0:O.value=!1}function Mt(e){if(O.value=!1,h.value=!0,e!==403||b){j.value===te&&W();return}b=!0,q(te,0),S=window.setTimeout(()=>{S=0,k?.resubscribe()},Cn)}function re(){typeof navigator.vibrate=="function"&&navigator.vibrate(15)}function it(e){if(f){re(),f.mode.press(e)&&F();return}A.value&&(re(),Pe(e))}const ce=g(null),lt=g(null);function Pt(){if(!A.value)return;re();const e=ce.value;e&&(e.open||e.showModal(),Et(()=>lt.value?.focus()))}function Ce(){ce.value?.open&&ce.value.close()}function Bt(){if(Ce(),f){f.mode.press("clock-reset")&&F();return}A.value&&Pe("clock-reset")}function Ot(e){e.target===ce.value&&Ce()}let ue=null,Ee=!1;const ze=g(!1);async function rt(){const e=navigator.wakeLock;if(!e||typeof e.request!="function"){ze.value=!0;return}if(!(ue&&!ue.released))try{const a=await e.request("screen");if(!Ee){a.release().catch(()=>{});return}ue=a,ze.value=!1}catch{ze.value=!0}}function Vt(){const e=ue;ue=null,e&&!e.released&&e.release().catch(()=>{})}function ct(){if(document.visibilityState!=="visible"){De();return}if(rt(),f){J&&Ke(),Ae.flush();return}le()}function Be(){$+=1,k?.close(),k=null,z="",O.value=!1,Y.value="connecting",Z.value=!1,h.value=!1,b=!1,S&&window.clearTimeout(S),S=0,j.value===te&&W(),D=Je(),N.value=null,G.value=0,Q()}async function qt(e){Be();const a=$;z=e;try{const l=()=>a===$,m=await fn(e,{onPublication:C=>{l()&&Rt(C)},onSubscribed:()=>{l()&&It()},onConnection:C=>{l()&&Lt(C)},onDenied:C=>{l()&&Mt(C)},onUnavailable:()=>{l()&&(h.value=!0)}});if(a!==$){m.close();return}k=m}catch{a===$&&(h.value=!0)}}function Ht(){const e=o.value==="ready"?s.value?.remote_channel??"":"";if(e!==z){if(!e){Be();return}qt(e)}}const Oe=g("off"),$e=g(""),Ne=g(null);let M=null,Ve="",je=0,f=null,de=0,ve=0,ut=Promise.resolve();const Ae=hn(()=>{Kt()},gn);function F(){f&&Ae.call()}function De(){ve&&window.clearTimeout(ve),ve=0}function Wt(){De(),!(!f||document.visibilityState!=="visible")&&(ve=window.setTimeout(()=>{ve=0;const e=f;e&&((J||Tt(e.expiresAt,Date.now()))&&Ke(),F())},Tn))}async function Kt(){const e=f;if(!e)return;const a=e.mode.state();Wt();const l=R.remoteState(e.slug,a);ut=l.catch(()=>{});try{if(await l,f!==e)return;N.value=a,G.value=Date.now(),Q(),j.value&&j.value!==te&&j.value!==we&&W()}catch(m){f===e&&q(ht(m instanceof be?m.status:-1))}}const xe=new Map;function dt(e,a){const l=window.setTimeout(()=>{xe.delete(l),R.castRevoke(e,a).catch(()=>{})},ns);xe.set(l,{slug:e,ticket:a})}function Gt(){for(const[e,a]of xe)window.clearTimeout(e),R.castRevoke(a.slug,a.ticket).catch(()=>{});xe.clear()}function qe(){try{return window.sessionStorage}catch{return null}}function vt(e){Ha(qe(),e.slug,{tab:e.tab,ticket:e.ticket,expires_at:e.expiresAt})}let He=null;function ee(e){const a=He;a&&(He=null,window.clearTimeout(a.timer),a.resolve(e))}function Zt(e){return ee(null),new Promise(a=>{const l=window.setTimeout(()=>ee(null),ts);He={resolve:a,timer:l},e.send({type:"where"}).catch(()=>ee(null))})}async function Ft(e){const a=s.value,l=M;if(!a||!l)return;const m=++de,C=y.slug,U=qa(qe(),C,Date.now()),X=e?U:null,Ze=X?.tab??$n();let bt=X?.ticket??"",Fe=X?.expires_at??"",Re="";if(!X||Tt(Fe,Date.now())){let Le;try{Le=await R.castMint(C)}catch{if(m!==de)return;q(es),l.stop();return}if(m!==de||M!==l){R.castRevoke(C,Le.ticket).catch(()=>{});return}U&&(Re=U.ticket),bt=Le.ticket,Fe=Le.expires_at}const kt=Oa({slides:a.slides,targetSeconds:a.target_seconds,tab:Ze}),ye=N.value;!X&&A.value&&ye&&!ye.bye&&ye.number>0&&kt.seed(ye.number,ye.special);const K={slug:C,tab:Ze,ticket:bt,expiresAt:Fe,mode:kt};f=K,B.value=!0,J=!1,Ne.value=null,vt(K),Q(),X||F();try{await l.send({type:"hello",ticket:K.ticket,tab:Ze})}catch{f===K&&q(we,0)}if(Re&&Re!==K.ticket&&dt(C,Re),!X||f!==K)return;const Ie=await Zt(l);f===K&&(Ie&&Ie.number>0&&K.mode.seed(Ie.number,Ie.special),F())}let J=!1,We=!1;async function Ke(){const e=f,a=M;if(!(!e||!a||We)){if(document.visibilityState!=="visible"){J=!0;return}We=!0,J=!1;try{let l;try{l=await R.castMint(e.slug)}catch{f===e&&(J=!0,q(_t));return}if(f!==e||M!==a){R.castRevoke(e.slug,l.ticket).catch(()=>{});return}const m=e.ticket;e.ticket=l.ticket,e.expiresAt=l.expires_at,vt(e);try{await a.send({type:"hello",ticket:e.ticket,tab:e.tab})}catch{f===e&&q(we,0)}m!==e.ticket&&dt(e.slug,m)}finally{We=!1}}}function Ge(){de+=1,Ne.value=null,ee(null),pe();const e=f;if(!e)return;f=null,B.value=!1,J=!1,Ae.cancel(),De();const a=e.mode.state({bye:!0});ut.then(()=>R.remoteState(e.slug,a)).catch(()=>{}),R.castRevoke(e.slug,e.ticket).catch(()=>{}),Gt(),Wa(qe(),e.slug),(j.value===we||j.value===_t)&&W(),D=Je(),N.value=null,G.value=0,Q(),le()}function Jt(){de+=1,ee(null),pe(),f=null,B.value=!1,Ae.cancel(),De()}function Ut(e){if($e.value=M?.deviceName()??"",e==="ended"){Ge();return}e==="resumed"&&f||(f&&Ge(),Ft(e==="resumed"))}let fe=[],me=0;function pe(){me&&window.clearTimeout(me),me=0,fe=[]}function ft(){pe(),q(St)}function Xt(){const e=M;if(!e||!e.connected()){q(St);return}pe(),me=window.setTimeout(ft,as),e.send({type:"log"}).catch(ft)}function Yt(e){if(!me)return;const a=Date.now();fe=fe.filter(U=>a-U.ata===je;M=Ma({appId:e,onAvailability:C=>{m()&&(Oe.value=C,$e.value=M?.deviceName()??"")},onSession:C=>{m()&&Ut(C)},onMessage:C=>{m()&&Qt(C)}})}function nn(){const e=s.value,a=o.value==="ready"&&e&&e.slides.length>0?e.cast_app_id??"":"",l=a?`${a}|${y.slug}`:"";l!==Ve&&(mt(),l&&(Ve=l,tn(a)))}async function pt(e){const a=++v;Se(),o.value="pending",s.value=null,i.value="",d=window.setTimeout(()=>{a===v&&o.value==="pending"&&(o.value="loading")},200);try{const l=await R.speaker(e);if(a!==v)return;Se();const m=l.slides??[];s.value={...l,slides:m},un(e),oe.value=m[0]?.number??1,V.value=null,document.title=l.title?`Pilot · ${l.title}`:"Pilot · BM II°",o.value=m.length===0?"empty":"ready"}catch(l){if(a!==v)return;if(Se(),l instanceof be&&l.status===404){dn(e),await t.replace({name:"my-presentations",query:{denied:"1"}});return}if(l instanceof be&&l.status===401)return;i.value=l instanceof be&&l.status===429?Qa:Ya,o.value="error"}}function an(){pt(y.slug)}function yt(e,a,l){if(document.querySelector(`meta[data-deck-remote="${l}"]`))return;const m=document.createElement("meta");m.name=e,m.content=a,m.dataset.deckRemote=l,document.head.appendChild(m)}return he(()=>y.slug,e=>{f&&Ge(),pt(e)},{immediate:!0}),he([s,o],()=>{Ht(),nn()}),rn(()=>{Ee=!0,document.documentElement.classList.add("deck-remote"),yt("robots","noindex","robots"),yt("theme-color","#141a18","theme"),document.addEventListener("visibilitychange",ct),P=window.setInterval(()=>{document.visibilityState==="visible"&&le()},wn),w=window.setInterval(Q,1e3),rt()}),cn(()=>{Ee=!1,v+=1,Se(),W(),Be(),Jt(),mt(),Ce(),Vt(),window.clearInterval(P),window.clearInterval(w),document.removeEventListener("visibilitychange",ct),document.documentElement.classList.remove("deck-remote"),document.querySelectorAll("meta[data-deck-remote]").forEach(e=>e.remove())}),(e,a)=>(r(),u("main",{class:I(["remote",{"remote-page":o.value==="ready"||o.value==="empty","remote-drawer-open":o.value==="ready"&&V.value}])},[o.value==="loading"?(r(),u("p",Ka,"Wczytywanie pilota…")):o.value==="error"?(r(),u("div",Ga,[c("p",null,_(i.value),1),c("button",{type:"button",class:"remote-retry",onClick:an},"Spróbuj ponownie")])):(o.value==="ready"||o.value==="empty")&&s.value?(r(),u(L,{key:2},[ne(xa,{class:"remote-top","deck-title":s.value.title,status:o.value==="empty"?"waiting":x.value,live:o.value==="ready"&&A.value,counter:Me.value,"slide-title":zt.value,chips:$t.value,clock:Nt.value},null,8,["deck-title","status","live","counter","slide-title","chips","clock"]),j.value?(r(),u("p",Za,_(j.value),1)):E("",!0),c("div",Fa,[o.value==="empty"?(r(),u("div",Ja,[...a[0]||(a[0]=[c("p",{class:"remote-notice-head"},"Ta prezentacja nie ma jeszcze slajdów.",-1),c("p",{class:"remote-muted"},"Dodaj slajdy w panelu administracyjnym i otwórz pilota ponownie.",-1)])])):V.value?(r(),Qe(gt,{key:1,compact:"",cast:B.value,state:N.value,live:A.value,busy:ie.value,onPress:it},null,8,["cast","state","live","busy"])):(r(),u(L,{key:2},[ne(qn,{availability:Oe.value,"device-name":$e.value,tv:Ne.value,onRequest:en,onLog:Xt},null,8,["availability","device-name","tv"]),A.value?E("",!0):(r(),u("div",Ua,[...a[1]||(a[1]=[c("p",{class:"remote-notice-head"},"Otwórz wersję mówcy na komputerze",-1),c("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)])])),ne(gt,{cast:B.value,state:N.value,live:A.value,busy:ie.value,onPress:it,onReset:Pt},null,8,["cast","state","live","busy"])],64))]),ne(da,{deck:s.value,state:N.value,live:o.value==="ready"&&A.value,cursor:oe.value,open:V.value,disabled:se.value===0,"wake-lock-missing":ze.value,onOpen:jt,onClose:At,onCursor:Dt,onGoto:xt},null,8,["deck","state","live","cursor","open","disabled","wake-lock-missing"])],64)):E("",!0),c("dialog",{ref_key:"resetDialog",ref:ce,class:"remote-dialog","aria-labelledby":"remote-reset-title","aria-describedby":"remote-reset-body",onClick:Ot},[c("div",Xa,[a[2]||(a[2]=c("p",{id:"remote-reset-title",class:"remote-dialog-title"},"Wyzerować zegar?",-1)),a[3]||(a[3]=c("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)),c("button",{type:"button",class:"remote-dialog-btn remote-dialog-danger",onClick:Bt},"Zeruj zegar"),c("button",{ref_key:"resetCancel",ref:lt,type:"button",class:"remote-dialog-btn",autofocus:"",onClick:Ce},"Anuluj",512)])],512)],2))}}),fs=_e(os,[["__scopeId","data-v-85090917"]]);export{fs as default};