Skip to content

Commit 73db2b3

Browse files
committed
code: dark mode cookies
1 parent 6a977ad commit 73db2b3

File tree

2 files changed

+46
-4
lines changed

2 files changed

+46
-4
lines changed

songbook/src/flask/templates/app.js

+42-2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
* https://github.com/leeoniya/uFuzzy (v1.0.11)
88
*/
99

10+
11+
1012
var uFuzzy = (function () {
1113
'use strict';
1214

@@ -1088,10 +1090,48 @@ function getArtifact() {
10881090
})
10891091
}
10901092

1091-
function darkMode() {
1093+
function createCookie(name,value,days) {
1094+
if (days) {
1095+
var date = new Date();
1096+
date.setTime(date.getTime()+(days*24*60*60*1000));
1097+
var expires = "; expires="+date.toGMTString();
1098+
}
1099+
else var expires = "";
1100+
document.cookie = name+"="+value+expires+"; path=/";
1101+
}
1102+
1103+
function readCookie(name) {
1104+
var nameEQ = name + "=";
1105+
var ca = document.cookie.split(';');
1106+
for(var i=0;i < ca.length;i++) {
1107+
var c = ca[i];
1108+
while (c.charAt(0)==' ') c = c.substring(1,c.length);
1109+
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
1110+
}
1111+
return null;
1112+
}
1113+
1114+
function eraseCookie(name) {
1115+
createCookie(name,"",-1);
1116+
}
1117+
1118+
function checkCookie(name)
1119+
{
1120+
return readCookie(name) != null;
1121+
}
1122+
1123+
function toggleDarkMode(save){
1124+
if(save){
1125+
if(checkCookie("darkMode")){
1126+
eraseCookie("darkMode")
1127+
}
1128+
else{
1129+
createCookie("darkMode", 1, 365)
1130+
}
1131+
}
10921132
var element = document.body;
10931133
element.classList.toggle("dark-mode");
1094-
}
1134+
}
10951135

10961136
function collapse() {
10971137
$("#menu-content").collapse('toggle');

songbook/src/flask/templates/page.html

+4-2
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
<div class="p-2 nav-side-menu">
3131
<div class="brand">Śpiewnik HK
3232
<button onclick="collapse()" class="toggle-btn"><i class="fa fa-bars fa-2x btn"></i></button>
33-
<button onclick="darkMode()"><i class="fa fa-moon-o fa-2x btn"></i></button>
33+
<button onclick="toggleDarkMode(true)"><i class="fa fa-moon-o fa-2x btn"></i></button>
3434
</div>
3535
<div class="menu-list">
3636
<ul id="menu-content" class="menu-content collapse out {{'show' if filterString else ''}}">
@@ -122,5 +122,7 @@
122122
</div>
123123
{% endautoescape %}
124124
</body>
125-
125+
<script>
126+
if(checkCookie("darkMode")){toggleDarkMode(false)}
127+
</script>
126128
</html>

0 commit comments

Comments
 (0)