Skip to main content

Page specific color mode

The default way to add color mode in your application or website is to wrap it in the ChakraProvider which provides a way to change the color mode to light or dark depending on system/user preferences.

In reality, you might run into scenarios where you want to lock a page to a specific color mode (light or dark).

A combination of LightMode or DarkMode components and the undocumented GlobalStyle component can help you achieve this.

The GlobalStyle component provides the styles defined in theme.styles.global to the elements on entire page.

Note 🚨: The caveat of this approach is that you won't be able to switch between color modes. You're effectively "locking" the mode.

Let's say we want to lock the page to light mode, you can import the LightMode component and wrap the page within it.

import { LightMode, GlobalStyle } from '@chakra-ui/react';

function Page() {
return (
<LightMode>
<GlobalStyle />
{/* rest of your page */}
</LightMode>
);
}