Skip to content

Commit e03ed93

Browse files
committed
Add: Entry introduce top level app dark mode
1 parent 690b86f commit e03ed93

1 file changed

Lines changed: 16 additions & 1 deletion

File tree

src/Entry.tsx

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {
55
mergeNetworks,
66
} from '@dynamic-labs/sdk-react-core';
77
import { PostHogProvider } from 'posthog-js/react';
8-
import React from 'react';
8+
import React, { useEffect, useState } from 'react';
99
import { HelmetProvider } from 'react-helmet-async';
1010
import { IntlProvider } from 'react-intl';
1111
import { Provider as ReduxProvider } from 'react-redux';
@@ -43,10 +43,25 @@ if (__COMMIT_HASH__) {
4343

4444
const Entry = ({ store }: Props) => {
4545
const apolloClient = getContext(ContextModule.ApolloClient);
46+
const [isDarkMode, setIsDarkMode] = useState(
47+
localStorage.getItem('isDarkMode') === 'true' || false,
48+
);
49+
50+
useEffect(() => {
51+
function checkAppTheme() {
52+
setIsDarkMode(localStorage.getItem('isDarkMode') === 'true');
53+
}
54+
window.addEventListener('storage', checkAppTheme);
55+
56+
return () => {
57+
window.removeEventListener('storage', checkAppTheme);
58+
};
59+
}, []);
4660

4761
return (
4862
<DynamicContextProvider
4963
mobileExperience="redirect"
64+
theme={isDarkMode ? 'dark' : 'light'}
5065
logLevel={import.meta.env.DEV ? 'warn' : 'error'}
5166
settings={{
5267
environmentId: import.meta.env.DYNAMIC_ENV_ID,

0 commit comments

Comments
 (0)