theme.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /* Things to do before body loads */
  2. function restoreDarkMode(){
  3. if (localStorage.getItem("darkMode") === "enabled") {
  4. $("html").addClass("is-dark");
  5. $("html").removeClass("is-white");
  6. } else {
  7. $("html").removeClass("is-dark");
  8. $("html").addClass("is-white");
  9. }
  10. }
  11. restoreDarkMode();
  12. function updateElementToTheme(isDarkTheme=false){
  13. if (!isDarkTheme){
  14. $("#sysicon").attr("src", "./img/logo.svg");
  15. $("#darkModeToggle").html(`<span class="ts-icon is-sun-icon"></span>`);
  16. // Update the rendering text color in the garphs
  17. if (typeof(changeScaleTextColor) != "undefined"){
  18. changeScaleTextColor("black");
  19. }
  20. }else{
  21. $("#sysicon").attr("src", "./img/logo_white.svg");
  22. $("#darkModeToggle").html(`<span class="ts-icon is-moon-icon"></span>`);
  23. // Update the rendering text color in the garphs
  24. if (typeof(changeScaleTextColor) != "undefined"){
  25. changeScaleTextColor("white");
  26. }
  27. }
  28. }
  29. /* Things to do after body loads */
  30. $(document).ready(function(){
  31. $("#darkModeToggle").on("click", function() {
  32. $("html").toggleClass("is-dark");
  33. $("html").toggleClass("is-white");
  34. if ($("html").hasClass("is-dark")) {
  35. localStorage.setItem("darkMode", "enabled");
  36. updateElementToTheme(true);
  37. } else {
  38. localStorage.setItem("darkMode", "disabled");
  39. updateElementToTheme(false);
  40. }
  41. });
  42. updateElementToTheme(localStorage.getItem("darkMode") === "enabled");
  43. });