@@ -22,37 +22,59 @@ const MyDocument = () => {
2222 < script
2323 dangerouslySetInnerHTML = { {
2424 __html : `
25- (function () {
26- try {
27- var preferredUwu;
25+ (function () {
26+ try {
27+ let logShown = false;
28+ function setUwu(isUwu) {
2829 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';
3830 if (isUwu) {
39- try {
40- localStorage.setItem('uwu', true);
41- } catch (err) { }
31+ localStorage.setItem('uwu', true);
4232 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+ }
4538 } 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');
4942 }
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;
5259 }
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+ ` ,
5678 } }
5779 />
5880 < script
0 commit comments