theme.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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. }else{
  17. $("#sysicon").attr("src", "./img/logo_white.svg");
  18. $("#darkModeToggle").html(`<span class="ts-icon is-moon-icon"></span>`);
  19. }
  20. }
  21. /* Things to do after body loads */
  22. $(document).ready(function(){
  23. $("#darkModeToggle").on("click", function() {
  24. $("html").toggleClass("is-dark");
  25. $("html").toggleClass("is-white");
  26. if ($("html").hasClass("is-dark")) {
  27. localStorage.setItem("darkMode", "enabled");
  28. updateElementToTheme(true);
  29. } else {
  30. localStorage.setItem("darkMode", "disabled");
  31. updateElementToTheme(false);
  32. }
  33. });
  34. updateElementToTheme(localStorage.getItem("darkMode") === "enabled");
  35. });