diff options
author | gurusabarish <gurusabarisha@gmail.com> | 2022-01-25 20:38:26 +0300 |
---|---|---|
committer | gurusabarish <gurusabarisha@gmail.com> | 2022-01-25 20:38:26 +0300 |
commit | bbcf135e1737bed612159361fde439ad45fc3675 (patch) | |
tree | 7835cab1a0f827325d3efa1187cc5b4fb197e452 | |
parent | 5cc0bc0a4662a83fc2092ba70257ccbd59e201a7 (diff) |
Auto darkmode fix
-rw-r--r-- | .gitignore | 18 | ||||
-rw-r--r-- | layouts/_default/baseof.html | 35 | ||||
-rw-r--r-- | layouts/index.html | 53 | ||||
-rw-r--r-- | layouts/partials/sections/v3/auto_darkmode.html | 1 | ||||
-rw-r--r-- | static/js/auto_darkmode.js | 54 |
5 files changed, 87 insertions, 74 deletions
@@ -1,5 +1,19 @@ -/public /config.yaml /content /static/images -.vscode
\ No newline at end of file +.vscode + +### Hugo ### +# Generated files by hugo +/public/ +/resources/_gen/ +/assets/jsconfig.json +hugo_stats.json + +# Executable may be added to repository +hugo.exe +hugo.darwin +hugo.linux + +# Temporary lock file while building +/.hugo_build.lock
\ No newline at end of file diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index 551f32a..f1d35b8 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -56,6 +56,20 @@ $('[data-toggle="tooltip"]').tooltip() }) </script> + + <!-- Darkmode --> + <script> + function autoDarkMode() { + $("body").toggleClass("darkmode"); + $(".fa-moon").addClass("d-none"); + $(".fa-sun").removeClass("d-none"); + $("nav").toggleClass("navbar-dark"); + $("nav").toggleClass("navbar-light"); + $('.text-dark').toggleClass('darkmode-text-dark'); + $('.text-muted').toggleClass('darkmode-text-muted'); + }; + </script> + <script src="/js/auto_darkmode.js"></script> <script> $('.darkmode-label').click(function () { $("body").toggleClass("darkmode"); @@ -63,26 +77,13 @@ $(".fa-sun").toggleClass("d-none"); $("nav").toggleClass("navbar-dark"); $("nav").toggleClass("navbar-light"); - $('.text-dark').addClass('darkmode-text-dark').removeClass('text-dark'); - $('.text-muted').addClass('darkmode-text-muted').removeClass('text-muted'); - if ($('input.custom-control-input').is(':checked')) { - $('.darkmode-text-dark').addClass('text-dark').removeClass('darkmode-text-dark'); - $('.darkmode-text-muted').addClass('text-muted').removeClass('darkmode-text-muted'); - }; + $('.text-dark').toggleClass('darkmode-text-dark'); + $('.text-muted').toggleClass('darkmode-text-muted'); + switchDarkmodeSetting(); }); - if ($('input.custom-control-input').is(':checked')) { - $("body").toggleClass("darkmode"); - $(".fa-moon").addClass("d-none"); - $(".fa-sun").removeClass("d-none"); - $("nav").toggleClass("navbar-dark"); - $("nav").toggleClass("navbar-light"); - $('.text-dark').addClass('darkmode-text-dark').removeClass('text-dark'); - $('.text-muted').addClass('darkmode-text-muted').removeClass('text-muted'); - switchDarkmodeSetting(); - }; </script> - {{- partial "sections/v3/auto_darkmode.html" . -}} + </body> {{ else }} diff --git a/layouts/index.html b/layouts/index.html index 3fc8c64..e01e9a9 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -115,6 +115,23 @@ {{- partial "sections/v3/footer.html" . -}} {{- partial "sections/v3/scripts.html" . -}} </div> + + <!-- Darkmode --> + <script> + function autoDarkMode() { + $("body").toggleClass("darkmode"); + $(".fa-moon").addClass("d-none"); + $(".fa-sun").removeClass("d-none"); + $("nav").toggleClass("navbar-dark"); + $("nav").toggleClass("navbar-light"); + $(".text-dark").toggleClass("darkmode-text-dark"); + $(".text-muted").toggleClass("darkmode-text-muted") + $(".about-backdark").toggleClass("about-back"); + $(".education-backdark").toggleClass("education-back"); + $(".achievements-backdark").toggleClass("achievements-back"); + } + </script> + <script src="/js/auto_darkmode.js"></script> <script> /* document.onreadystatechange = function () { @@ -131,6 +148,7 @@ } }; */ + $(".darkmode-label").click(function () { $("body").toggleClass("darkmode"); $(".fa-moon").toggleClass("d-none"); @@ -140,40 +158,17 @@ $(".achievements-backdark").toggleClass("achievements-back"); $("nav").toggleClass("navbar-dark"); $("nav").toggleClass("navbar-light"); - $(".text-dark").addClass("darkmode-text-dark").removeClass("text-dark"); - $(".text-muted") - .addClass("darkmode-text-muted") - .removeClass("text-muted"); - if ($("input.custom-control-input").is(":checked")) { - $(".darkmode-text-dark") - .addClass("text-dark") - .removeClass("darkmode-text-dark"); - $(".darkmode-text-muted") - .addClass("text-muted") - .removeClass("darkmode-text-muted"); - } + $(".text-dark").toggleClass("darkmode-text-dark"); + $(".text-muted").toggleClass("darkmode-text-muted") + switchDarkmodeSetting(); }); - if ($("input.custom-control-input").is(":checked")) { - $("body").toggleClass("darkmode"); - $(".fa-moon").addClass("d-none"); - $(".fa-sun").removeClass("d-none"); - $("nav").toggleClass("navbar-dark"); - $("nav").toggleClass("navbar-light"); - $(".text-dark").addClass("darkmode-text-dark").removeClass("text-dark"); - $(".text-muted") - .addClass("darkmode-text-muted") - .removeClass("text-muted"); - $(".about-backdark").toggleClass("about-back"); - $(".education-backdark").toggleClass("education-back"); - $(".achievements-backdark").toggleClass("achievements-back"); - switchDarkmodeSetting(); - } + + </script> - {{- partial "sections/v3/auto_darkmode.html" . -}} </body> {{ else }} {{ end }} -</html> +</html>
\ No newline at end of file diff --git a/layouts/partials/sections/v3/auto_darkmode.html b/layouts/partials/sections/v3/auto_darkmode.html deleted file mode 100644 index 4477fd9..0000000 --- a/layouts/partials/sections/v3/auto_darkmode.html +++ /dev/null @@ -1 +0,0 @@ -<script src="/js/auto_darkmode.js"></script>
\ No newline at end of file diff --git a/static/js/auto_darkmode.js b/static/js/auto_darkmode.js index 817549d..51a8fd7 100644 --- a/static/js/auto_darkmode.js +++ b/static/js/auto_darkmode.js @@ -1,21 +1,21 @@ -function setCookie(cname, cvalue) { - document.cookie = cname + "=" + cvalue + ";path=/;"; +function setCookie(name,value,days) { + var expires = ""; + if (days) { + var date = new Date(); + date.setTime(date.getTime() + (days*24*60*60*1000)); + expires = "; expires=" + date.toUTCString(); + } + document.cookie = name + "=" + (value || "") + expires + "; path=/"; } - -function getCookie(cname) { - let name = cname + "="; - let decodedCookie = decodeURIComponent(document.cookie); - let ca = decodedCookie.split(';'); - for(let i = 0; i <ca.length; i++) { - let c = ca[i]; - while (c.charAt(0) == ' ') { - c = c.substring(1); - } - if (c.indexOf(name) == 0) { - return c.substring(name.length, c.length); - } +function getCookie(name) { + var nameEQ = name + "="; + var ca = document.cookie.split(';'); + for(var i=0;i < ca.length;i++) { + var c = ca[i]; + while (c.charAt(0)==' ') c = c.substring(1,c.length); + if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); } - return ""; + return null; } function getDarkmodeSetting() { @@ -31,14 +31,14 @@ function getDarkmodeSetting() { function setDarkmodeSetting(value) { if (value) { - setCookie("darkmode", "true"); + setCookie("darkmode", "true", 100); } else { - setCookie("darkmode", "false"); + setCookie("darkmode", "false", 100); } } function switchDarkmodeSetting() { - let darkmode = getDarkmodeSetting(); + const darkmode = getDarkmodeSetting(); switch(darkmode) { case true: setDarkmodeSetting(false); @@ -49,11 +49,15 @@ function switchDarkmodeSetting() { default: setDarkmodeSetting(true); break; - } + } } -let darkmode = getDarkmodeSetting(); -let darkmode_prefer = window.matchMedia('(prefers-color-scheme: dark)').matches; -if ((darkmode_prefer && darkmode===null) || darkmode) { - $(".darkmode-label").click(); -}
\ No newline at end of file + +const check_darkmode = getDarkmodeSetting(); +const darkmode_prefer = window.matchMedia('(prefers-color-scheme: dark)').matches; +if (darkmode_prefer && check_darkmode === null) { + autoDarkMode(); + setDarkmodeSetting(true); +} else if (check_darkmode) { + autoDarkMode(); +} |