mirror of
https://github.com/BobbyWibowo/lolisafe.git
synced 2024-12-13 16:06:21 +00:00
3 lines
4.2 KiB
JavaScript
3 lines
4.2 KiB
JavaScript
var lsKeys={},page={urlPrefix:null,urlIdentifier:null,urlInput:document.querySelector("#identifier"),reloadBtn:document.querySelector("#reloadBtn"),downloadBtn:document.querySelector("#downloadBtn"),uploadRoot:null,titleFormat:null,videoContainer:document.querySelector("#playerContainer"),player:null};window.HELP_IMPROVE_VIDEOJS=!1,page.onError=function(e){console.error(e);var o=document.createElement("div");return o.innerHTML="\n <p><code>"+e.toString()+"</code></p>\n <p>Please check your console for more information.</p>\n ",swal({title:"An error occurred!",icon:"error",content:o})},page.onAxiosError=function(e){var o={520:"Unknown Error",521:"Web Server Is Down",522:"Connection Timed Out",523:"Origin Is Unreachable",524:"A Timeout Occurred",525:"SSL Handshake Failed",526:"Invalid SSL Certificate",527:"Railgun Error",530:"Origin DNS Error"}[e.response.status]||e.response.statusText,t=e.response.data&&e.response.data.description?e.response.data.description:"";return swal(e.response.status+" "+o,t,"error")},page.toggleReloadBtn=function(e){e?(page.reloadBtn.classList.remove("is-loading"),page.reloadBtn.removeAttribute("disabled")):(page.reloadBtn.classList.add("is-loading"),page.reloadBtn.setAttribute("disabled","disabled"))},page.reloadVideo=function(){if(page.urlInput.value){page.toggleReloadBtn(!1);var e=page.uploadRoot+"/"+page.urlInput.value;axios.head(e).then((function(o){if(![200,304].includes(o.status))return page.toggleReloadBtn(!0),page.onAxiosError(o);var t=o.headers["content-type"]||"",r=t.startsWith("video/"),a=t.startsWith("audio/");if(!r&&!a)return page.toggleReloadBtn(!0),swal("An error occurred!","The requested upload does not appear to be a media file.","error");page.urlIdentifier=page.urlInput.value,page.player&&(page.player.dispose(),page.videoContainer.innerHTML="");var n=document.createElement("video-js");n.id="video-js",n.className="video-js vjs-default-skin vjs-fluid vjs-big-play-centered",n.setAttribute("controls",!0),n.setAttribute("preload","auto"),page.videoContainer.appendChild(n);var i={language:"en",playbackRates:[.25,.5,.75,1,1.25,1.5,1.75,2],responsive:!0,plugins:{}};a&&(i.plugins.wavesurfer={responsive:!0}),page.player=videojs("video-js",i,(function(){var o="Using video.js "+videojs.VERSION;a&&(o+=" with videojs-wavesurfer "+videojs.getPluginVersion("wavesurfer")+" and wavesurfer.js "+WaveSurfer.VERSION),videojs.log(o),page.player.src({src:e,type:t})})),page.player.seekButtons({forward:10,back:10});var l=videojs.getComponent("Button"),d=function(){return page.player.loop()?"Disable loop":"Enable loop"},p=videojs.extend(l,{constructor:function(){l.apply(this,arguments),this.addClass("vjs-loop-button"),this.controlText(d())},handleClick:function(){page.player.loop(!page.player.loop()),this.toggleClass("vjs-loop-enabled",page.player.loop()),this.controlText(d())}});videojs.registerComponent("loopButton",p),page.player.getChild("controlBar").addChild("loopButton"),page.titleFormat&&(document.title=page.titleFormat.replace(/%identifier%/g,page.urlIdentifier)),page.downloadBtn&&page.downloadBtn.setAttribute("href",e),window.history.pushState(null,null,page.urlPrefix+page.urlIdentifier),page.toggleReloadBtn(!0)})).catch((function(e){page.toggleReloadBtn(!0),void 0!==e.response?page.onAxiosError(e):page.onError(e)}))}},window.addEventListener("DOMContentLoaded",(function(){var e=document.querySelector("#mainScript");if(e&&void 0!==e.dataset.uploadRoot){page.uploadRoot=e.dataset.uploadRoot,page.titleFormat=e.dataset.titleFormat;var o=window.location.protocol+"//"+window.location.host,t=window.location.pathname.match(/.*\/(.*)$/);if(!t||!t[1])return swal("An error occurred!","Failed to parse upload identifier from URL.","error");if(page.urlIdentifier=t[1],o+=window.location.pathname.substring(0,window.location.pathname.indexOf(t[1])),page.urlPrefix=o,page.urlInput){page.urlInput.value=page.urlIdentifier;var r=document.querySelector("#inputForm");r.addEventListener("submit",(function(e){e.preventDefault()})),page.videoContainer&&(page.reloadBtn=document.querySelector("#reloadBtn"),page.reloadBtn&&page.reloadBtn.addEventListener("click",(function(e){r.checkValidity()&&page.reloadVideo()})),page.reloadVideo())}}}));
|
|
//# sourceMappingURL=player.js.map
|