var L={APP_VERSION:"46",SDK_VERSION:"0.11.0",COMMIT_SHA:"7617d5c",REPO_URL:"https://github.com/live-codes/livecodes",DOCS_BASE_URL:"/docs/"};var S='';var A=e=>Object.entries(L).reduce((r,[i,o])=>r.replace(new RegExp(`{{${i}}}`,"g"),o),e);var E=A(S);var x={getUrl:()=>"https://livecodes-broadcast.onrender.com/"};var M=e=>e.querySelector("#broadcast-status"),H=e=>e.querySelector("#broadcast-form"),b=e=>e.querySelector("#broadcast-server-url"),f=e=>e.querySelector("#broadcast-source"),h=e=>e.querySelector("#broadcast-btn"),q=e=>e.querySelector("#broadcast-channel-url-section"),k=e=>e.querySelector("#broadcast-channel-url");var W=async({modal:e,notifications:r,eventsManager:i,deps:o})=>{let p=document.createElement("div");p.innerHTML=E;let n=p.firstChild;e.show(n);let d=M(n),w=H(n),s=b(n),c=f(n),a=h(n),g=q(n),T=k(n),t=o.getBroadcastData(),u=()=>{a.disabled=!1,t=o.getBroadcastData(),t?.isBroadcasting?(d.innerText=window.deps.translateString("broadcast.broadcasting","Broadcasting..."),s.disabled=!0,c.disabled=!0,a.innerText=window.deps.translateString("broadcast.broadcastBtn.stop","Stop broadcast"),c.checked=t?.broadcastSource===!0,t?.channelUrl&&(g.style.display="unset",T.innerText=t.channelUrl,T.href=t.channelUrl)):(d.innerText="",s.disabled=!1,c.disabled=!1,a.innerText=window.deps.translateString("broadcast.broadcastBtn.start","Broadcast"),g.style.display="none"),s.value=s.value.trim()||t?.serverUrl||x.getUrl()};u(),i.addEventListener(w,"submit",async v=>{if(v.preventDefault(),t=o.getBroadcastData(),t?.isBroadcasting){let y=t.serverUrl;fetch(y,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({channel:t.channel,channelToken:t.channelToken,stop:!0})}).catch(()=>{}),o.setBroadcastData({isBroadcasting:!1,channel:"",channelUrl:"",channelToken:"",broadcastSource:!1,serverUrl:y}),u();return}let m=s.value.trim();if(!m){r.error(window.deps.translateString("broadcast.error.serverURLRequired","Server URL is required!"));return}a.disabled=!0,a.innerText=window.deps.translateString("broadcast.connecting","Connecting...");let l=await o.broadcast({serverUrl:m,channel:"",channelToken:"",broadcastSource:c.checked});if(!l||"error"in l){r.error(window.deps.translateString("broadcast.error.generic","Broadcast failed!")),u();return}o.setBroadcastData({isBroadcasting:!0,serverUrl:m,channel:l.channel,channelUrl:l.channelUrl,channelToken:l.channelToken||"",broadcastSource:c.checked}),u(),r.success(window.deps.translateString("broadcast.broadcasting","Broadcasting..."))})};export{W as createBroadcastUI};