Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nanxiaobei/hugo-paper.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornanxiaobei <nanxiaobei@gmail.com>2019-10-16 22:02:35 +0300
committernanxiaobei <nanxiaobei@gmail.com>2019-10-16 22:02:35 +0300
commitc163b43b9af8c65f0d40e000635823cadb2484c4 (patch)
tree9288fab803f8f7adab1d7a368112048b43f3f2cb /layouts
parent16d7fd6b21c35d862705fe1ec06f0a7f5237585b (diff)
Fix Dark Mode logic
Diffstat (limited to 'layouts')
-rw-r--r--layouts/partials/header.html18
1 files changed, 11 insertions, 7 deletions
diff --git a/layouts/partials/header.html b/layouts/partials/header.html
index 4693333..f60b9b7 100644
--- a/layouts/partials/header.html
+++ b/layouts/partials/header.html
@@ -39,17 +39,21 @@
<!-- Script -->
<script>
function setTheme() {
- const prev = Number(localStorage.getItem('time'));
- const now = Date.now();
+ const time = new Date();
+
+ const prev = localStorage.getItem('date');
+ const date = String(time.getMonth()) + '.' + String(time.getDate());
+
+ const now = time.getTime();
let sunrise;
let sunset;
function setBodyClass() {
if (now > sunrise && now < sunset) return;
- document.body.classList.add('sunset');
+ document.body.classList.add('dark');
}
- if (now - prev > 24 * 60 * 60 * 10000) {
+ if (date !== prev) {
fetch('https://api.ipgeolocation.io/astronomy?apiKey=5ed37d85103e4defa5df4c5298ed5215')
.then(res => res.json())
.then(data => {
@@ -61,13 +65,13 @@
sunset = [19, 0];
})
.finally(() => {
- sunrise = new Date().setHours(sunrise[0], sunrise[1], 0);
- sunset = new Date().setHours(sunset[0], sunset[1], 0);
+ sunrise = time.setHours(sunrise[0], sunrise[1], 0);
+ sunset = time.setHours(sunset[0], sunset[1], 0);
setBodyClass();
localStorage.setItem('sunrise', sunrise);
localStorage.setItem('sunset', sunset);
});
- localStorage.setItem('time', now);
+ localStorage.setItem('date', date);
} else {
sunrise = Number(localStorage.getItem('sunrise'));
sunset = Number(localStorage.getItem('sunset'));