You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 line
1.1KB

  1. document.addEventListener("DOMContentLoaded", function(){
  2. var toggle = document.getElementById("scheme-toggle");
  3. var scheme = "light";
  4. var savedScheme = localStorage.getItem("scheme");
  5. var darkScheme = document.getElementById("dark-scheme");
  6. var prefersDark = window.matchMedia("(prefers-color-scheme: dark)").matches;
  7. if (prefersDark) {
  8. scheme = "dark";
  9. }
  10. if(savedScheme) {
  11. scheme = savedScheme;
  12. }
  13. if(scheme == "dark") {
  14. darkscheme(toggle, darkScheme);
  15. } else {
  16. lightscheme(toggle, darkScheme);
  17. }
  18. toggle.addEventListener("click", () => {
  19. if (toggle.className === "light") {
  20. darkscheme(toggle, darkScheme);
  21. } else if (toggle.className === "dark") {
  22. lightscheme(toggle, darkScheme);
  23. }
  24. });
  25. });
  26. function darkscheme(toggle, darkScheme) {
  27. localStorage.setItem("scheme", "dark");
  28. toggle.innerHTML = feather.icons.sun.toSvg();
  29. toggle.className = "dark";
  30. darkScheme.disabled = false;
  31. }
  32. function lightscheme(toggle, darkScheme) {
  33. localStorage.setItem("scheme", "light");
  34. toggle.innerHTML = feather.icons.moon.toSvg();
  35. toggle.className = "light";
  36. darkScheme.disabled = true;
  37. }