From bf8c1bb947130116ba1a3713113472bf2148a114 Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Thu, 14 Sep 2023 19:45:26 -0500 Subject: [PATCH] useTheme --- src/lib/design-system/index.tsx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/lib/design-system/index.tsx b/src/lib/design-system/index.tsx index 61fc2bbd1a..cae17badba 100644 --- a/src/lib/design-system/index.tsx +++ b/src/lib/design-system/index.tsx @@ -62,8 +62,12 @@ export const ThemeProvider = ({ ) +export function useTheme() { + return React.useContext(Context) +} + export function useBreakpoints() { - const {theme} = React.useContext(Context) + const {theme} = useTheme() const [breakpoints, setBreakpoints] = React.useState( theme.getActiveBreakpoints({width: Dimensions.get('window').width}), ) @@ -83,12 +87,12 @@ export function useBreakpoints() { } export function usePick(props: ComponentProps) { - const {theme} = React.useContext(Context) + const {theme} = useTheme() return React.useMemo(() => theme.pick(props), [props, theme]) } export function useStyle(props: StyleProps) { - const {theme} = React.useContext(Context) + const {theme} = useTheme() const breakpoints = useBreakpoints() const {styles: responsiveStyles} = usePick(props) return React.useMemo(() => { @@ -104,7 +108,7 @@ export function useStyles>( ): { [Name in keyof O]: ReturnType } { - const {theme} = React.useContext(Context) + const {theme} = useTheme() const breakpoints = useBreakpoints() return React.useMemo(() => { return Object.entries(styles).reduce((acc, [key, style]) => {