diff --git a/webv4/root/index.xjs b/webv4/root/index.xjs index 08fe3fa1bc62b95803eb8a0fc8d7d124cdea3ad0..cf4714de447dabcc522a18877b086e0843674cb1 100644 --- a/webv4/root/index.xjs +++ b/webv4/root/index.xjs @@ -41,6 +41,13 @@ <!DOCTYPE html> <html lang="en"> <head> + <style type="text/css"> + .hidden { display:none; } + </style> + <script src="./js/jquery.min.js"></script> + <script type="text/javascript"> + jQuery('html').addClass('hidden'); + </script> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> @@ -57,7 +64,6 @@ <body> - <script src="./js/jquery.min.js"></script> <script src="./bootstrap/js/bootstrap.min.js"></script> <script src="./js/common.js"></script> diff --git a/webv4/root/js/common.js b/webv4/root/js/common.js index dbe189a38fdcbca81e31acd4de4980d64fb0f7e7..226431920f00301486623f603a1030f8a67cfd02 100644 --- a/webv4/root/js/common.js +++ b/webv4/root/js/common.js @@ -62,21 +62,21 @@ function scrollUp() { } function sendTelegram(alias) { - function send_tg(evt) { - if (typeof evt !== 'undefined') evt.preventDefault(); + function send_tg(evt) { + if (typeof evt !== 'undefined') evt.preventDefault(); v4_post('./api/system.ssjs', { call: 'send-telegram', user: alias, telegram: $('#telegram').val() }); - $('#popUpModal').modal('hide'); - } + $('#popUpModal').modal('hide'); + } $('#popUpModalTitle').html('Send a telegram to ' + alias); $('#popUpModalBody').html( - '<form id="send-telegram-form">' + '<form id="send-telegram-form">' + '<input type="text" class="form-control" placeholder="My message" name="telegram" id="telegram">' - + '<input type="submit" value="submit" class="hidden">' - + '</form>' + + '<input type="submit" value="submit" class="hidden">' + + '</form>' ); - $('#send-telegram-form').submit(send_tg); + $('#send-telegram-form').submit(send_tg); $('#popUpModalActionButton').click(send_tg); - $('#popUpModalActionButton').show(); + $('#popUpModalActionButton').show(); $('#popUpModal').modal('show'); } @@ -91,8 +91,40 @@ function registerEventListener(scope, callback, params) { }; } -window.onload = function () { +document.addEventListener("DOMContentLoaded", function(){ + // originally based on dark-mode-switch by Christian Oliff + var darkSwitch = document.getElementById("darkSwitch"); + if (darkSwitch) { + initTheme(); + darkSwitch.addEventListener("change", function(event) { + resetTheme(); + }); + function initTheme() { + var darkThemeSelected = + localStorage.getItem("darkSwitch") !== null && + localStorage.getItem("darkSwitch") === "dark"; + darkSwitch.checked = darkThemeSelected; + if (darkThemeSelected) { + jQuery("body").addClass("dark") + } else { + jQuery("body").removeClass("dark"); + } + } + function resetTheme() { + if (darkSwitch.checked) { + jQuery("body").addClass("dark"); + localStorage.setItem("darkSwitch", "dark"); + } else { + jQuery("body").removeClass("dark"); + localStorage.removeItem("darkSwitch"); + } + } + } + + jQuery('html').removeClass('hidden'); +}); +window.onload = function () { $('#button-logout').click(logout); $('#button-login').click(login); $('#form-login').submit(login); @@ -112,20 +144,20 @@ window.onload = function () { if ($('#button-logout').length > 0) { registerEventListener('mail', function (e) { - const data = JSON.parse(e.data); - if (typeof data.count != 'number') return; - $('#badge-unread-mail').text(data.count < 1 ? '' : data.count); - $('#badge-unread-mail-inner').text(data.count < 1 ? '' : data.count); + const data = JSON.parse(e.data); + if (typeof data.count != 'number') return; + $('#badge-unread-mail').text(data.count < 1 ? '' : data.count); + $('#badge-unread-mail-inner').text(data.count < 1 ? '' : data.count); }); - + registerEventListener('telegram', function (e) { - const tg = JSON.parse(e.data).replace(/\1./g, '').replace( - /\r?\n/g, '<br>' - ); - $('#popUpModalTitle').html('New telegram(s) received'); - $('#popUpModalBody').append(tg); - $('#popUpModalActionButton').hide(); - $('#popUpModal').modal('show'); + const tg = JSON.parse(e.data).replace(/\1./g, '').replace( + /\r?\n/g, '<br>' + ); + $('#popUpModalTitle').html('New telegram(s) received'); + $('#popUpModalBody').append(tg); + $('#popUpModalActionButton').hide(); + $('#popUpModal').modal('show'); }); } @@ -134,37 +166,8 @@ window.onload = function () { return a + (i == 0 ? '?' : '&') + _sbbs_events[c].qs; }, ''); - const es = new EventSource('/api/events.ssjs' + qs); - Object.keys(_sbbs_events).forEach(function (e) { - es.addEventListener(e, _sbbs_events[e].callback); - }); - - // originally based on dark-mode-switch by Christian Oliff - var darkSwitch = document.getElementById("darkSwitch"); - if (darkSwitch) { - initTheme(); - darkSwitch.addEventListener("change", function(event) { - resetTheme(); - }); - function initTheme() { - var darkThemeSelected = - localStorage.getItem("darkSwitch") !== null && - localStorage.getItem("darkSwitch") === "dark"; - darkSwitch.checked = darkThemeSelected; - if (darkThemeSelected) { - jQuery("body").addClass("dark") - } else { - jQuery("body").removeClass("dark"); - } - } - function resetTheme() { - if (darkSwitch.checked) { - jQuery("body").addClass("dark"); - localStorage.setItem("darkSwitch", "dark"); - } else { - jQuery("body").removeClass("dark"); - localStorage.removeItem("darkSwitch"); - } - } - } + const es = new EventSource('/api/events.ssjs' + qs); + Object.keys(_sbbs_events).forEach(function (e) { + es.addEventListener(e, _sbbs_events[e].callback); + }); }