1import{d as a,J as e,X as t,b as r,w as s,o,e as n,B as i,f as d,x as l,W as c}from"./index-D8qZ9kdE.js";const u={class:"notice-card"},f=["data-clubid","data-teamid"],m=c(a({__name:"BroadcastPlayer",props:{teamId:{},clubId:{},apiUrl:{default:"https://volley.ru/api/strm"},playerScriptUrl:{default:"https://volley.ru/api/vjs"},authToken:{},emptyText:{default:"ÐÐµÑ Ð´Ð°Ð½Ð½ÑÑ
"},errorText:{default:"ÐÑибка загÑÑзки ÑÑанÑлÑÑии"}},setup(a){const c=a,m=e("idle"),p=e(null),v=e(""),w=`broadcast-player-${t()}`;const y=new Map;async function h(a){const e=await fetch(function(a){const e=new URL(c.apiUrl,window.location.origin);return e.searchParams.set("clubid",c.clubId),c.teamId&&e.searchParams.set("team_id",a),e.toString()}(a),{method:"GET",headers:c.authToken?{Authorization:c.authToken}:void 0});if(404===e.status)return;if(!e.ok)throw new Error(`Failed to fetch stream: ${e.status}`);const t=await e.json(),r=t.results?.[0];if(!r?.stream)return;return(await fetch(r.stream)).ok?r:void 0}async function b(){m.value="loading",v.value="";try{await function(a){if(window.Playerjs)return Promise.resolve();let e=y.get(a);return e||(e=new Promise((e,t)=>{const r=document.createElement("script");r.async=!0,r.src=a,r.onload=()=>e(),r.onerror=()=>{y.delete(a),t(new Error("Playerjs script loading failed"))},document.head.appendChild(r)}),y.set(a,e)),e}(c.playerScriptUrl);const a=await async function(){const[a,e]=c.teamId??[];if(a){const e=await h(a);if(e)return e}if(e)return h(e)}();if(!a?.stream)return void(m.value="empty");const e=window.Playerjs;if(!e)throw new Error("Playerjs is unavailable");m.value="ready",await l(),p.value=new e({id:w,file:a.stream,countdowntext:"",poster:a.cover})}catch(a){m.value="error",a instanceof Error&&(v.value=a.message)}}function P(){"idle"===m.value&&b()}return(a,e)=>{const t=r("observe");return s((o(),n("div",u,["ready"===m.value?(o(),n("div",{key:0,class:"broadcast-player","data-clubid":c.clubId,"data-teamid":c.teamId},[d("div",{id:w,class:"broadcast-player__frame"})],8,f)):i(a.$slots,"empty",{key:1},void 0,!0)])),[[t,P]])}}}),[["__scopeId","data-v-d442dc76"]]);export{m as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.