Skip to content

Commit 77296af

Browse files
author
Leopold Pinkernell
committed
🐛 Fix 'Maximum update depth exceeded' error in ColorSchemeProvider
1 parent f66ed3b commit 77296af

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

packages/core/src/components/color-scheme-provider/ColorSchemeProvider.tsx

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { ChaynsDesignSettings, ChaynsParagraphFormat, ColorMode, useSite } from 'chayns-api';
2-
import React, { createContext, FC, ReactNode, useContext } from 'react';
2+
import React, { createContext, FC, ReactNode, useContext, useMemo } from 'react';
33
import { createGlobalStyle, ThemeProvider } from 'styled-components';
44
import { StyledColorSchemeProvider } from './ColorSchemeProvider.styles';
55
import { useChaynsTheme } from './hooks/useChaynsTheme';
@@ -90,6 +90,10 @@ const ColorSchemeProvider: FC<ColorSchemeProviderProps> = ({
9090
const colorMode = colorModeProp ?? internalColorMode;
9191
const overrideParagraphFormat =
9292
(color && color !== internalColor) || (colorMode && colorMode !== internalColorMode);
93+
const paragraphFormat = useMemo(
94+
() => (overrideParagraphFormat ? [] : undefined),
95+
[overrideParagraphFormat],
96+
);
9397

9498
const contextValue = useChaynsTheme({
9599
color,
@@ -98,7 +102,7 @@ const ColorSchemeProvider: FC<ColorSchemeProviderProps> = ({
98102
siteId,
99103
customVariables,
100104
// Overrides the paragraphFormat on changed color or colorMode
101-
paragraphFormat: overrideParagraphFormat ? [] : undefined,
105+
paragraphFormat,
102106
});
103107

104108
return (

0 commit comments

Comments
 (0)