Skip to content

Commit 5992b25

Browse files
committed
clean up logs + clean up inline scripts
1 parent c17d55b commit 5992b25

File tree

4 files changed

+118
-128
lines changed

4 files changed

+118
-128
lines changed

src/app/layout.tsx

Lines changed: 2 additions & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import '../styles/sandpack.css';
1010
import {generateMetadata as generateSeoMetadata} from '../utils/generateMetadata';
1111
import {Suspense} from 'react';
1212
import {DevContentRefresher} from 'components/DevContentRefresher';
13+
import {ThemeScript} from 'components/ThemeScript';
14+
import {UwuScript} from 'components/UwuScript';
1315

1416
export async function generateMetadata() {
1517
const metadata = generateSeoMetadata({
@@ -30,124 +32,6 @@ export const viewport = {
3032
],
3133
};
3234

33-
function ThemeScript() {
34-
return (
35-
<script
36-
id="theme-script"
37-
dangerouslySetInnerHTML={{
38-
__html: `
39-
(function () {
40-
function setTheme(newTheme) {
41-
window.__theme = newTheme;
42-
if (newTheme === 'dark') {
43-
document.documentElement.classList.add('dark');
44-
} else if (newTheme === 'light') {
45-
document.documentElement.classList.remove('dark');
46-
}
47-
}
48-
49-
var preferredTheme;
50-
try {
51-
preferredTheme = localStorage.getItem('theme');
52-
} catch (err) { }
53-
54-
window.__setPreferredTheme = function(newTheme) {
55-
preferredTheme = newTheme;
56-
setTheme(newTheme);
57-
try {
58-
localStorage.setItem('theme', newTheme);
59-
} catch (err) { }
60-
};
61-
62-
var initialTheme = preferredTheme;
63-
var darkQuery = window.matchMedia('(prefers-color-scheme: dark)');
64-
65-
if (!initialTheme) {
66-
initialTheme = darkQuery.matches ? 'dark' : 'light';
67-
}
68-
setTheme(initialTheme);
69-
70-
darkQuery.addEventListener('change', function (e) {
71-
if (!preferredTheme) {
72-
setTheme(e.matches ? 'dark' : 'light');
73-
}
74-
});
75-
76-
document.documentElement.classList.add(
77-
window.navigator.platform.includes('Mac')
78-
? "platform-mac"
79-
: "platform-win"
80-
);
81-
})();
82-
`,
83-
}}
84-
/>
85-
);
86-
}
87-
88-
function UwuScript() {
89-
return (
90-
<script
91-
id="uwu-script"
92-
dangerouslySetInnerHTML={{
93-
__html: `
94-
(function () {
95-
try {
96-
let logShown = false;
97-
function setUwu(isUwu) {
98-
try {
99-
if (isUwu) {
100-
localStorage.setItem('uwu', true);
101-
document.documentElement.classList.add('uwu');
102-
if (!logShown) {
103-
console.log('uwu mode! turn off with ?uwu=0');
104-
console.log('logo credit to @sawaratsuki1004 via https://github.com/SAWARATSUKI/ServiceLogos');
105-
logShown = true;
106-
}
107-
} else {
108-
localStorage.removeItem('uwu');
109-
document.documentElement.classList.remove('uwu');
110-
console.log('uwu mode off. turn on with ?uwu');
111-
}
112-
} catch (err) { }
113-
}
114-
window.__setUwu = setUwu;
115-
function checkQueryParam() {
116-
const params = new URLSearchParams(window.location.search);
117-
const value = params.get('uwu');
118-
switch(value) {
119-
case '':
120-
case 'true':
121-
case '1':
122-
return true;
123-
case 'false':
124-
case '0':
125-
return false;
126-
default:
127-
return null;
128-
}
129-
}
130-
function checkLocalStorage() {
131-
try {
132-
return localStorage.getItem('uwu') === 'true';
133-
} catch (err) {
134-
return false;
135-
}
136-
}
137-
const uwuQueryParam = checkQueryParam();
138-
if (uwuQueryParam != null) {
139-
setUwu(uwuQueryParam);
140-
} else if (checkLocalStorage()) {
141-
document.documentElement.classList.add('uwu');
142-
}
143-
} catch (err) { }
144-
})();
145-
`,
146-
}}
147-
/>
148-
);
149-
}
150-
15135
function FontPreload() {
15236
return (
15337
<>

src/components/ThemeScript.jsx

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
function ThemeInlineScript() {
2+
function setTheme(newTheme) {
3+
window.__theme = newTheme;
4+
if (newTheme === 'dark') {
5+
document.documentElement.classList.add('dark');
6+
} else if (newTheme === 'light') {
7+
document.documentElement.classList.remove('dark');
8+
}
9+
}
10+
11+
var preferredTheme;
12+
try {
13+
preferredTheme = localStorage.getItem('theme');
14+
} catch (err) {}
15+
16+
window.__setPreferredTheme = function (newTheme) {
17+
preferredTheme = newTheme;
18+
setTheme(newTheme);
19+
try {
20+
localStorage.setItem('theme', newTheme);
21+
} catch (err) {}
22+
};
23+
24+
var initialTheme = preferredTheme;
25+
var darkQuery = window.matchMedia('(prefers-color-scheme: dark)');
26+
27+
if (!initialTheme) {
28+
initialTheme = darkQuery.matches ? 'dark' : 'light';
29+
}
30+
setTheme(initialTheme);
31+
32+
darkQuery.addEventListener('change', function (e) {
33+
if (!preferredTheme) {
34+
setTheme(e.matches ? 'dark' : 'light');
35+
}
36+
});
37+
38+
document.documentElement.classList.add(
39+
window.navigator.platform.includes('Mac') ? 'platform-mac' : 'platform-win'
40+
);
41+
}
42+
43+
export function ThemeScript() {
44+
return (
45+
<script
46+
id="theme-script"
47+
dangerouslySetInnerHTML={{
48+
__html: `(${ThemeInlineScript.toString()})()`,
49+
}}
50+
/>
51+
);
52+
}

src/components/UwuScript.jsx

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
function UwuInlineScript() {
2+
try {
3+
let logShown = false;
4+
function setUwu(isUwu) {
5+
try {
6+
if (isUwu) {
7+
localStorage.setItem('uwu', true);
8+
document.documentElement.classList.add('uwu');
9+
if (!logShown) {
10+
console.log('uwu mode! turn off with ?uwu=0');
11+
console.log(
12+
'logo credit to @sawaratsuki1004 via https://github.com/SAWARATSUKI/ServiceLogos'
13+
);
14+
logShown = true;
15+
}
16+
} else {
17+
localStorage.removeItem('uwu');
18+
document.documentElement.classList.remove('uwu');
19+
console.log('uwu mode off. turn on with ?uwu');
20+
}
21+
} catch (err) {}
22+
}
23+
window.__setUwu = setUwu;
24+
function checkQueryParam() {
25+
const params = new URLSearchParams(window.location.search);
26+
const value = params.get('uwu');
27+
switch (value) {
28+
case '':
29+
case 'true':
30+
case '1':
31+
return true;
32+
case 'false':
33+
case '0':
34+
return false;
35+
default:
36+
return null;
37+
}
38+
}
39+
function checkLocalStorage() {
40+
try {
41+
return localStorage.getItem('uwu') === 'true';
42+
} catch (err) {
43+
return false;
44+
}
45+
}
46+
const uwuQueryParam = checkQueryParam();
47+
if (uwuQueryParam != null) {
48+
setUwu(uwuQueryParam);
49+
} else if (checkLocalStorage()) {
50+
document.documentElement.classList.add('uwu');
51+
}
52+
} catch (err) {}
53+
}
54+
55+
export function UwuScript() {
56+
return (
57+
<script
58+
id="uwu-script"
59+
dangerouslySetInnerHTML={{
60+
__html: `(${UwuInlineScript.toString()})()`,
61+
}}
62+
/>
63+
);
64+
}

src/utils/generateMDX.tsx

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,6 @@ async function readFromCache(
3636
try {
3737
const cached = await store.get(hash);
3838
if (cached) {
39-
console.log(
40-
`Cache hit: Compiled MDX for /${path} loaded from ${CACHE_PATH}`
41-
);
4239
return JSON.parse(cached.toString());
4340
}
4441
} catch (error) {
@@ -55,9 +52,6 @@ async function writeToCache(
5552
): Promise<void> {
5653
try {
5754
await store.set(hash, Buffer.from(JSON.stringify(result)));
58-
console.log(
59-
`Cache updated: Compiled MDX for /${path} saved to ${CACHE_PATH}`
60-
);
6155
} catch (error) {
6256
console.warn(`Cache write failed for /${path}:`, error);
6357
}
@@ -89,10 +83,6 @@ export async function generateMDX(
8983
return {content: <MDXContent components={{...MDXComponents}} />, toc, meta};
9084
}
9185

92-
if (process.env.NODE_ENV === 'production') {
93-
console.log(`Cache miss for MDX for /${path} from ${CACHE_PATH}`);
94-
}
95-
9686
const compiled = await compile(mdx, {
9787
remarkPlugins: [
9888
...remarkPlugins,

0 commit comments

Comments
 (0)