Skip to content

Commit b948e97

Browse files
authored
Dark theme by default (#410)
1 parent 98e9024 commit b948e97

File tree

3 files changed

+17
-5
lines changed

3 files changed

+17
-5
lines changed

app/layout.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ const openSauce = localFont({
5858
},
5959
],
6060
variable: '--openSauce',
61+
preload: false,
6162
})
6263

6364
const roboto = localFont({
@@ -74,6 +75,7 @@ const roboto = localFont({
7475
},
7576
],
7677
variable: '--roboto',
78+
preload: false,
7779
})
7880

7981
const archivo = localFont({
@@ -90,23 +92,25 @@ const archivo = localFont({
9092
},
9193
],
9294
variable: '--archivo',
95+
preload: false,
9396
})
9497

9598
export default function RootLayout({ children }: { children: React.ReactNode }) {
9699
return (
97-
<html lang='en'>
100+
<html lang='en' suppressHydrationWarning>
98101
<head>
99102
<script
100103
dangerouslySetInnerHTML={{
101104
__html: `
102105
(function() {
103106
try {
104107
const theme = JSON.parse(localStorage.getItem('UI')?.trim() || 'null');
105-
if (theme === "DARK") {
108+
if (theme === "DARK" || theme === null) {
106109
document.documentElement.classList.add('dark');
107110
}
108111
} catch (e) {
109112
console.error('Failed to parse theme from localStorage:', e);
113+
document.documentElement.classList.add('dark');
110114
}
111115
})();
112116
`,

next.config.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/** @type {import('next').NextConfig} */
22
const nextConfig = {
33
reactStrictMode: false,
4-
webpack(config) {
4+
webpack(config, { dev }) {
55
config.module.rules.push({
66
test: /\.svg$/,
77
use: ['@svgr/webpack'],
@@ -13,6 +13,11 @@ const nextConfig = {
1313
topLevelAwait: true,
1414
}
1515

16+
// Suppress source map warnings for third-party modules in development
17+
if (dev) {
18+
config.devtool = 'cheap-module-source-map'
19+
}
20+
1621
return config
1722
},
1823
}

src/components/NetworkPeerSpeedometer/NetworkPeerSpeedometer.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ const NetworkPeerSpeedometer: FC<NetworkPeerSpeedometerProps> = ({ peerData }) =
1717
const mode = useRecoilValue(uiMode)
1818
const { connected } = peerData
1919

20+
// Ensure connected value is a valid number to prevent NaN in transform attributes
21+
const safeConnectedValue = typeof connected === 'number' && !isNaN(connected) ? connected : 0
22+
2023
return (
2124
<Tooltip
2225
id='peerCount'
@@ -40,7 +43,7 @@ const NetworkPeerSpeedometer: FC<NetworkPeerSpeedometerProps> = ({ peerData }) =
4043
darkMode='dark:text-white'
4144
type='text-caption2'
4245
>
43-
{connected}
46+
{safeConnectedValue}
4447
</Typography>
4548
<ReactSpeedometer
4649
width={90}
@@ -63,7 +66,7 @@ const NetworkPeerSpeedometer: FC<NetworkPeerSpeedometerProps> = ({ peerData }) =
6366
labelFontSize='6px'
6467
valueTextFontSize='9px'
6568
segmentColors={['tomato', 'gold', 'limegreen']}
66-
value={connected}
69+
value={safeConnectedValue}
6770
maxValue={100}
6871
textColor={'transparent'}
6972
/>

0 commit comments

Comments
 (0)