Skip to content

Commit 8886038

Browse files
committed
feat: add dark splash screen, ref #4398
1 parent d4c99d5 commit 8886038

File tree

5 files changed

+36
-4
lines changed

5 files changed

+36
-4
lines changed

public/assets/base.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,7 @@
4444
font-weight: 400;
4545
font-style: normal;
4646
}
47+
48+
.splash-screen {
49+
background-color: #4a423b !important;
50+
}

public/assets/splash-screen.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
var isDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
2+
3+
var body = document.querySelector('body');
4+
var html = document.querySelector('html');
5+
var defClassName = 'splash-screen';
6+
7+
if (!isDark) {
8+
body?.classList.remove(defClassName);
9+
html.classList.remove(defClassName);
10+
}

public/html/index.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<!doctype html>
2-
<html class="mode__full-page light">
2+
<html class="mode__full-page light splash-screen">
33
<!--
44
Hello! Thanks for showing interest in our code.
55
Interested in joining our team? To learn more, email us:
@@ -31,8 +31,9 @@
3131
type="font/woff2"
3232
/>
3333
</head>
34-
<body>
34+
<body class="splash-screen">
3535
<div id="app"></div>
36+
<script src="/assets/splash-screen.js"></script>
3637
<script src="browser-polyfill.js"></script>
3738
</body>
3839
</html>

public/html/popup.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
<!doctype html>
2-
<html class="mode__popup light">
2+
<html class="mode__popup light splash-screen">
33
<head>
44
<meta charset="UTF-8" />
55
<meta name="viewport" content="width=device-width, initial-scale=1" />
66
<link href="/assets/base.css" rel="stylesheet" />
77
</head>
8-
<body>
8+
<body class="splash-screen">
99
<div id="app"></div>
10+
<script src="/assets/splash-screen.js"></script>
1011
<script src="browser-polyfill.js"></script>
1112
</body>
1213
</html>

src/app/common/theme-provider.tsx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,26 @@ function setUserSelectedTheme(theme: UserSelectedTheme) {
4747
interface ThemeSwitcherProviderProps {
4848
children: React.JSX.Element | React.JSX.Element[];
4949
}
50+
51+
function removeDefaultBg() {
52+
const body = document.querySelector('body');
53+
const html = document.querySelector('html');
54+
const defClassName = 'splash-screen';
55+
56+
if (!body || !html) return;
57+
58+
body.classList.remove(defClassName);
59+
html.classList.remove(defClassName);
60+
}
61+
5062
export function ThemeSwitcherProvider({ children }: ThemeSwitcherProviderProps) {
5163
const userSelectedTheme = useUserSelectedTheme();
5264
const [theme, setTheme] = useState<ComputedTheme>(() => getComputedTheme(userSelectedTheme));
5365

66+
useEffect(() => {
67+
removeDefaultBg();
68+
}, []);
69+
5470
useEffect(() => {
5571
switch (userSelectedTheme) {
5672
case 'system': {

0 commit comments

Comments
 (0)