default color_mode is now system color (#3457)

This commit is contained in:
Thomas Brandého 2024-06-07 18:56:07 +02:00 committed by GitHub
parent e42d4ed9ef
commit c04ed58d2e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 22 additions and 22 deletions

View File

@ -1,22 +1,21 @@
import { useTheme } from "next-themes"
import { useEffect, useState } from "react"
import { ColorModeContext, defaultColorMode } from "/utils/context.js"
import { useTheme } from "next-themes";
import { useEffect, useState } from "react";
import { ColorModeContext, defaultColorMode } from "/utils/context.js";
export default function RadixThemesColorModeProvider({ children }) {
const {theme, setTheme} = useTheme()
const [colorMode, setColorMode] = useState(defaultColorMode)
useEffect(() => {
setColorMode(theme)
}, [theme])
const toggleColorMode = () => {
setTheme(theme === "light" ? "dark" : "light")
}
return (
<ColorModeContext.Provider value={[ colorMode, toggleColorMode ]}>
{children}
</ColorModeContext.Provider>
)
}
const { resolvedTheme, setTheme } = useTheme();
const [colorMode, setColorMode] = useState(defaultColorMode);
useEffect(() => {
setColorMode(resolvedTheme);
}, [resolvedTheme]);
const toggleColorMode = () => {
setTheme(resolvedTheme === "light" ? "dark" : "light");
};
return (
<ColorModeContext.Provider value={[colorMode, toggleColorMode]}>
{children}
</ColorModeContext.Provider>
);
}

View File

@ -17,7 +17,7 @@ from reflex.components.component import (
)
from reflex.config import get_config
from reflex.state import BaseState
from reflex.style import LIGHT_COLOR_MODE
from reflex.style import SYSTEM_COLOR_MODE
from reflex.utils.exec import is_prod_mode
from reflex.utils.imports import ImportVar
from reflex.vars import Var
@ -79,7 +79,7 @@ def _compile_contexts(state: Optional[Type[BaseState]], theme: Component | None)
"""
appearance = getattr(theme, "appearance", None)
if appearance is None:
appearance = LIGHT_COLOR_MODE
appearance = SYSTEM_COLOR_MODE
return (
templates.CONTEXT.render(
initial_state=utils.compile_state(state),

View File

@ -12,6 +12,7 @@ from reflex.vars import BaseVar, Var, VarData
VarData.update_forward_refs() # Ensure all type definitions are resolved
SYSTEM_COLOR_MODE: str = "system"
LIGHT_COLOR_MODE: str = "light"
DARK_COLOR_MODE: str = "dark"