declare let __teaclient_preview_notice: () => any; declare let __teaclient_preview_error; const electron = require("electron"); const log_prefix = "[TeaSpeak::Preview] "; const html_overlay = "
" + "
" + "
You're in TeaWeb website preview mode. Click here to open the website in the browser
" + "
" + "
" + "" + "✖" + "" + "
" + "
"; let _close_overlay: () => void; let _inject_overlay = () => { const element = document.createElement("div"); element.id = "TeaClient-Overlay-Container"; document.body.append(element); element.innerHTML = html_overlay; { _close_overlay = () => { console.trace(log_prefix + "Closing preview notice"); element.remove(); }; const buttons = element.getElementsByClassName("button-close"); if(buttons.length < 1) { console.warn(log_prefix + "Failed to find close button for preview notice!"); } else { for(const button of buttons) { (button).onclick = _close_overlay; } } } { const buttons = element.getElementsByClassName("button-open"); if(buttons.length < 1) { console.warn(log_prefix + "Failed to find open button for preview notice!"); } else { for(const element of buttons) { (element).onclick = event => { console.info(log_prefix + "Opening URL with default browser"); electron.remote.shell.openExternal(location.href, { activate: true }).catch(error => { console.warn(log_prefix + "Failed to open URL in browser window: %o", error); }).then(() => { window.close(); }); }; } } } }; /* Put this into the global scope. But we dont leek some nodejs stuff! */ console.log(log_prefix + "Script loaded waiting to be called!"); __teaclient_preview_notice = () => { if(_inject_overlay) { console.log(log_prefix + "TeaClient overlay called. Showing overlay."); _inject_overlay(); } else { console.warn(log_prefix + "TeaClient overlay called, but overlay method undefined. May an load error occured?"); } }; const html_error = (error_code, error_desc, url) => "
" + "

Oops, this page failed to load correctly.

" + "

ERROR [ " + error_code + ", " + error_desc + " ]

" + '

' + '

Try this

' + '
  • Check your spelling - "' + url + '".

  • ' + '
  • Refresh the page.

  • ' + '
  • Perform a search instead.

  • ' + "
    "; __teaclient_preview_error = (error_code, error_desc, url) => { document.body.innerHTML = html_error(decodeURIComponent(error_code), decodeURIComponent(error_desc), decodeURIComponent(url)); _inject_overlay = undefined; if(_close_overlay) _close_overlay(); };