Skip to content

Commit 9e57229

Browse files
committed
feat(react): add DEFAULT_THEME constant and update theme mode handling in AsgardeoProvider and ThemeProvider
1 parent eafd146 commit 9e57229

File tree

4 files changed

+12
-7
lines changed

4 files changed

+12
-7
lines changed

packages/javascript/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ export {I18nBundle, I18nTranslations, I18nMetadata} from './models/i18n';
119119

120120
export {default as AsgardeoJavaScriptClient} from './AsgardeoJavaScriptClient';
121121

122-
export {default as createTheme} from './theme/createTheme';
122+
export {default as createTheme, DEFAULT_THEME} from './theme/createTheme';
123123
export {ThemeColors, ThemeConfig, Theme, ThemeMode, ThemeDetection} from './theme/types';
124124

125125
export {default as bem} from './utils/bem';

packages/javascript/src/theme/createTheme.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
* under the License.
3333
*/
3434

35-
import {Theme, ThemeConfig, ThemeVars} from './types';
35+
import {Theme, ThemeConfig, ThemeMode, ThemeVars} from './types';
3636
import {RecursivePartial} from '../models/utility-types';
3737
import VendorConstants from '../constants/VendorConstants';
3838

@@ -57,7 +57,7 @@ const lightTheme: ThemeConfig = {
5757
dark: '#174ea6',
5858
},
5959
secondary: {
60-
main: '#424242',
60+
main: '#8b8b8b',
6161
contrastText: '#ffffff',
6262
dark: '#212121',
6363
},
@@ -160,7 +160,7 @@ const darkTheme: ThemeConfig = {
160160
dark: '#174ea6',
161161
},
162162
secondary: {
163-
main: '#424242',
163+
main: '#8b8b8b',
164164
contrastText: '#ffffff',
165165
dark: '#212121',
166166
},
@@ -655,4 +655,6 @@ const createTheme = (config: RecursivePartial<ThemeConfig> = {}, isDark = false)
655655
};
656656
};
657657

658+
export const DEFAULT_THEME: ThemeMode = 'light';
659+
658660
export default createTheme;

packages/react/src/contexts/Asgardeo/AsgardeoProvider.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import {
2727
GetBrandingPreferenceConfig,
2828
BrandingPreference,
2929
IdToken,
30+
DEFAULT_THEME,
3031
} from '@asgardeo/browser';
3132
import {FC, RefObject, PropsWithChildren, ReactElement, useEffect, useMemo, useRef, useState, useCallback} from 'react';
3233
import AsgardeoContext from './AsgardeoContext';
@@ -399,10 +400,11 @@ const AsgardeoProvider: FC<PropsWithChildren<AsgardeoProviderProps>> = ({
399400
};
400401

401402
const isDarkMode: boolean = useMemo(() => {
402-
if (!preferences?.theme?.mode || preferences.theme.mode === 'system') {
403+
if (preferences.theme.mode === 'system') {
403404
return window.matchMedia('(prefers-color-scheme: dark)').matches;
404405
}
405-
return preferences.theme.mode === 'dark';
406+
407+
return preferences.theme.mode === DEFAULT_THEME;
406408
}, [preferences?.theme?.mode]);
407409

408410
const handleProfileUpdate = (payload: User): void => {

packages/react/src/contexts/Theme/ThemeProvider.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import {
2828
createMediaQueryListener,
2929
BrowserThemeDetection,
3030
ThemePreferences,
31+
DEFAULT_THEME,
3132
} from '@asgardeo/browser';
3233
import ThemeContext from './ThemeContext';
3334
import useBrandingContext from '../Branding/useBrandingContext';
@@ -109,7 +110,7 @@ const applyThemeToDOM = (theme: Theme) => {
109110
const ThemeProvider: FC<PropsWithChildren<ThemeProviderProps>> = ({
110111
children,
111112
theme: themeConfig,
112-
mode = 'system',
113+
mode = DEFAULT_THEME,
113114
detection = {},
114115
inheritFromBranding = true,
115116
}: PropsWithChildren<ThemeProviderProps>): ReactElement => {

0 commit comments

Comments
 (0)