@@ -22,37 +22,59 @@ const MyDocument = () => {
22
22
< script
23
23
dangerouslySetInnerHTML = { {
24
24
__html : `
25
- (function () {
26
- try {
27
- var preferredUwu;
25
+ (function () {
26
+ try {
27
+ let logShown = false;
28
+ function setUwu(isUwu) {
28
29
try {
29
- preferredUwu = localStorage.getItem('uwu');
30
- } catch (err) { }
31
-
32
- const isUwuValue = window.location
33
- && window.location.search
34
- && window.location.search.match(/uwu=(true|false)/);
35
-
36
- if (isUwuValue) {
37
- const isUwu = isUwuValue[1] === 'true';
38
30
if (isUwu) {
39
- try {
40
- localStorage.setItem('uwu', true);
41
- } catch (err) { }
31
+ localStorage.setItem('uwu', true);
42
32
document.documentElement.classList.add('uwu');
43
- console.log('uwu mode enabled. turn off with ?uwu=false')
44
- console.log('logo credit to @sawaratsuki1004 via https://github.com/SAWARATSUKI/ServiceLogos');
33
+ if (!logShown) {
34
+ console.log('uwu mode! turn off with ?uwu=0');
35
+ console.log('logo credit to @sawaratsuki1004 via https://github.com/SAWARATSUKI/ServiceLogos');
36
+ logShown = true;
37
+ }
45
38
} else {
46
- try {
47
- localStorage.removeItem ('uwu', false );
48
- } catch (err) { }
39
+ localStorage.removeItem('uwu');
40
+ document.documentElement.classList.remove ('uwu');
41
+ console.log('uwu mode off. turn on with ?uwu');
49
42
}
50
- } else if (preferredUwu) {
51
- document.documentElement.classList.add('uwu');
43
+ } catch (err) { }
44
+ }
45
+ window.__setUwu = setUwu;
46
+ function checkQueryParam() {
47
+ const params = new URLSearchParams(window.location.search);
48
+ const value = params.get('uwu');
49
+ switch(value) {
50
+ case '':
51
+ case 'true':
52
+ case '1':
53
+ return true;
54
+ case 'false':
55
+ case '0':
56
+ return false;
57
+ default:
58
+ return null;
52
59
}
53
- } catch (err) { }
54
- })();
55
- ` ,
60
+ }
61
+ function checkLocalStorage() {
62
+ try {
63
+ return localStorage.getItem('uwu') === 'true';
64
+ } catch (err) {
65
+ return false;
66
+ }
67
+ }
68
+ const uwuQueryParam = checkQueryParam();
69
+ console.log('uwuQueryParam', uwuQueryParam);
70
+ if (uwuQueryParam != null) {
71
+ setUwu(uwuQueryParam);
72
+ } else if (checkLocalStorage()) {
73
+ document.documentElement.classList.add('uwu');
74
+ }
75
+ } catch (err) { }
76
+ })();
77
+ ` ,
56
78
} }
57
79
/>
58
80
< script
0 commit comments