Skip to content
This repository was archived by the owner on Oct 2, 2018. It is now read-only.

Commit d5df9d7

Browse files
committed
Don't enable night mode by default, remove night mode listener if unused
1 parent 822b953 commit d5df9d7

2 files changed

Lines changed: 36 additions & 27 deletions

File tree

scripts/night.js

Lines changed: 30 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,29 +10,39 @@
1010
------------------------*/
1111
var ncss, dcss = document.getElementsByTagName("link")[25];
1212
var nightTheme = '#111', dayTheme = '#fff';
13-
var nightChangeEvent = new CustomEvent('night.changed');
13+
var nightChangeEvent = new CustomEvent('night.changed'), nightListener;
1414

1515
function night() {
16-
if (firetext.settings.get('nightmode') == 'true') {
17-
startNight(true);
18-
} else if (firetext.settings.get('nightmode') == 'false') {
19-
startNight(false);
20-
} else {
21-
startNight(false);
22-
23-
window.addEventListener('devicelight', function(event) {
24-
if (firetext.settings.get('nightmode') == 'auto') {
25-
if (event.value < 3.4) {
26-
if (html.classList.contains('night') != true) {
27-
startNight(true);
28-
}
29-
} else if (event.value > 5) {
30-
if (html.classList.contains('night')) {
31-
startNight(false);
32-
}
33-
}
16+
switch (firetext.settings.get('nightmode')) {
17+
case "true":
18+
startNight(true);
19+
window.removeEventListener('devicelight', processLight);
20+
nightListener = false;
21+
break;
22+
case "false":
23+
startNight(false);
24+
window.removeEventListener('devicelight', processLight);
25+
nightListener = false;
26+
break;
27+
case "auto":
28+
startNight(false);
29+
if (!nightListener) window.addEventListener('devicelight', processLight);
30+
nightListener = true;
31+
break;
32+
}
33+
}
34+
35+
function processLight(event) {
36+
if (firetext.settings.get('nightmode') == 'auto') {
37+
if (event.value < 3.4) {
38+
if (html.classList.contains('night') != true) {
39+
startNight(true);
40+
}
41+
} else if (event.value > 5) {
42+
if (html.classList.contains('night')) {
43+
startNight(false);
3444
}
35-
});
45+
}
3646
}
3747
}
3848

scripts/settings.js

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -103,14 +103,13 @@ firetext.settings.init = function () {
103103
// Night Mode
104104
if (firetext.settings.get('nightmode') == 'true') {
105105
nightmodeSelect.value = '1';
106-
} else if (firetext.settings.get('nightmode') == 'false') {
107-
nightmodeSelect.value = '0';
108-
} else {
106+
} else if (firetext.settings.get('nightmode') == 'auto') {
109107
nightmodeSelect.value = '2';
110-
if (firetext.settings.get('nightmode') != 'auto') {
111-
firetext.settings.save('nightmode', 'auto');
112-
night();
113-
}
108+
} else {
109+
nightmodeSelect.value = '0';
110+
if (firetext.settings.get('nightmode') != 'false') {
111+
firetext.settings.save('nightmode', 'false');
112+
}
114113
}
115114
nightmodeSelect.addEventListener('change', function () {
116115
// Convert

0 commit comments

Comments
 (0)