2019-09-09 19:02:44 +00:00
|
|
|
/*
|
|
|
|
Copyright (C) 2019-2020 Lucien Cartier-Tilet
|
|
|
|
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU Affero General Public License as
|
|
|
|
published by the Free Software Foundation, either version 3 of the
|
|
|
|
License, or (at your option) any later version.
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU Affero General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU Affero General Public License
|
|
|
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
*/
|
|
|
|
|
2019-08-25 02:48:03 +00:00
|
|
|
/*jshint esversion: 6 */
|
|
|
|
|
2019-08-24 23:28:24 +00:00
|
|
|
window.onload = function() {
|
2019-08-25 02:48:03 +00:00
|
|
|
reorganize_html();
|
|
|
|
create_theme_switcher();
|
2019-09-03 14:36:41 +00:00
|
|
|
console.log("JS loaded!");
|
2019-08-25 02:48:03 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
function reorganize_html() {
|
2019-08-24 23:35:23 +00:00
|
|
|
// Move the postamble in the content div
|
2019-09-03 13:06:53 +00:00
|
|
|
$('#content').append('<hr>');
|
2019-08-25 02:48:03 +00:00
|
|
|
$('#postamble').appendTo($('#content'));
|
2019-08-24 23:35:23 +00:00
|
|
|
|
|
|
|
// Move each table in a div to handle large tables' overflow
|
2019-08-25 02:48:03 +00:00
|
|
|
$('table').each(function() {
|
2019-08-24 23:28:24 +00:00
|
|
|
$table = $(this);
|
|
|
|
$table.before('<div class="largetable"></div>');
|
|
|
|
$table.prependTo($table.prev());
|
|
|
|
});
|
2019-08-25 02:48:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
function create_theme_switcher() {
|
2019-09-03 00:04:57 +00:00
|
|
|
// set the correct CSS depending on the cookie, dark is default
|
|
|
|
var light = isThemeLight();
|
2019-09-29 11:29:47 +00:00
|
|
|
// Set the correct symbol in the theme switcher button
|
2019-09-03 00:04:57 +00:00
|
|
|
$('body').append('<div class="themeBtn"><i class="fas fa-'
|
|
|
|
.concat(light ? 'moon' : 'sun').concat('"></i></div>'));
|
2019-09-29 11:29:47 +00:00
|
|
|
// set the correct css file in the HTML head
|
2019-09-23 12:25:36 +00:00
|
|
|
$('head').append('<link id="theme" rel="stylesheet" href="https://langue.phundrak.fr/css/'
|
2019-09-03 00:04:57 +00:00
|
|
|
.concat(light ? 'light' : 'dark').concat('.css">'));
|
2019-08-25 02:48:03 +00:00
|
|
|
|
2019-09-03 00:04:57 +00:00
|
|
|
// switch CSS files and button icon, set new cookie on theme switcher click
|
2019-08-25 02:48:03 +00:00
|
|
|
$('.themeBtn').click(function() {
|
2019-09-03 00:04:57 +00:00
|
|
|
var light = !isThemeLight();
|
2019-09-29 11:29:47 +00:00
|
|
|
// Switch the CSS between light and dark
|
|
|
|
$("#theme").first().attr('href', 'https://langue.phundrak.fr/css/'
|
2019-09-03 00:04:57 +00:00
|
|
|
.concat(light ? 'light' : 'dark')
|
|
|
|
.concat('.css'));
|
2019-09-29 11:29:47 +00:00
|
|
|
// Switch the icon in the theme switcher button
|
2019-09-03 00:04:57 +00:00
|
|
|
$('.themeBtn').html('<i class="fas fa-'
|
|
|
|
.concat(light ? 'moon' : 'sun')
|
|
|
|
.concat('"></i>'));
|
|
|
|
Cookies.set('light-theme', light ? 'true' : 'false');
|
2019-08-25 02:48:03 +00:00
|
|
|
});
|
|
|
|
}
|
2019-08-26 14:58:30 +00:00
|
|
|
|
2019-09-03 00:04:57 +00:00
|
|
|
function isThemeLight() {
|
|
|
|
// set the css and button depending on the cookie found, dark is default
|
|
|
|
var light;
|
|
|
|
switch (Cookies.get('light-theme')) {
|
|
|
|
case 'true':
|
|
|
|
light = true;
|
|
|
|
break;
|
|
|
|
case null: // If no theme cookie is found, set dark by default
|
|
|
|
Cookies.set('light-theme', false);
|
|
|
|
/* falls through */
|
|
|
|
default:
|
|
|
|
light = false;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
return light;
|
|
|
|
}
|
|
|
|
|
2019-08-26 14:59:28 +00:00
|
|
|
function isEmpty(el) {
|
2019-08-29 11:51:20 +00:00
|
|
|
return !$.trim(el.html());
|
2019-08-26 14:58:30 +00:00
|
|
|
}
|