Skip to content

Commit 0897dac

Browse files
committed
fix: dark theme ios
1 parent 5d7166d commit 0897dac

3 files changed

Lines changed: 31 additions & 5 deletions

File tree

frontend/index.html

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,22 @@
77
<meta name="apple-mobile-web-app-capable" content="yes">
88
<meta name="theme-color" content="#fbfbfb" media="(prefers-color-scheme: light)" />
99
<meta name="theme-color" content="#161616" media="(prefers-color-scheme: dark)" />
10+
<script>
11+
(function () {
12+
try {
13+
var stored = localStorage.getItem('selectedTheme');
14+
var isDark = stored === 'Dark' ||
15+
(stored == null && window.matchMedia &&
16+
window.matchMedia('(prefers-color-scheme: dark)').matches);
17+
if (isDark) document.documentElement.classList.add('dark');
18+
var color = isDark ? '#161616' : '#fbfbfb';
19+
document.head.querySelectorAll('meta[name="theme-color"]').forEach(function (m) {
20+
m.removeAttribute('media');
21+
m.setAttribute('content', color);
22+
});
23+
} catch (e) { }
24+
})();
25+
</script>
1026
<title>DocsGPT</title>
1127
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
1228
</head>

frontend/src/hooks/index.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -98,11 +98,18 @@ export function useDarkTheme() {
9898

9999
useEffect(() => {
100100
localStorage.setItem('selectedTheme', isDarkTheme ? 'Dark' : 'Light');
101-
if (isDarkTheme) {
102-
document.body?.classList.add('dark');
103-
} else {
104-
document.body?.classList.remove('dark');
105-
}
101+
const action = isDarkTheme ? 'add' : 'remove';
102+
document.body?.classList[action]('dark');
103+
document.documentElement.classList[action]('dark');
104+
105+
const color = isDarkTheme ? '#161616' : '#fbfbfb';
106+
document.head
107+
.querySelectorAll<HTMLMetaElement>('meta[name="theme-color"]')
108+
.forEach((m) => {
109+
m.removeAttribute('media');
110+
m.setAttribute('content', color);
111+
});
112+
106113
setComponentMounted(true);
107114
}, [isDarkTheme]);
108115

frontend/src/index.css

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,9 @@ layer(base);
195195
}
196196
}
197197

198+
html {
199+
background-color: var(--background);
200+
}
198201
body.dark {
199202
background-color: var(--background);
200203
}

0 commit comments

Comments
 (0)