Skip to content

Commit f33e6f2

Browse files
committed
put reflexGlobalStyles before everything and add style to radix theme root
1 parent dd993fd commit f33e6f2

File tree

3 files changed

+27
-8
lines changed

3 files changed

+27
-8
lines changed

reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { useTheme } from "$/utils/react-theme";
2-
import { createElement } from "react";
2+
import { createElement, useEffect } from "react";
33
import { ColorModeContext, defaultColorMode } from "$/utils/context";
44

55
export default function RadixThemesColorModeProvider({ children }) {
@@ -20,6 +20,16 @@ export default function RadixThemesColorModeProvider({ children }) {
2020
setTheme(mode);
2121
};
2222

23+
useEffect(() => {
24+
const radixRoot = document.querySelector(
25+
'.radix-themes[data-is-root-theme="true"]',
26+
);
27+
if (radixRoot) {
28+
radixRoot.classList.remove("light", "dark");
29+
radixRoot.classList.add(resolvedTheme);
30+
}
31+
}, [resolvedTheme]);
32+
2333
return createElement(
2434
ColorModeContext.Provider,
2535
{

reflex/compiler/templates.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,6 @@ def app_root_template(
200200
)
201201

202202
return f"""
203-
import reflexGlobalStyles from '$/styles/__reflex_global_styles.css?url';
204203
{imports_str}
205204
{dynamic_imports_str}
206205
import {{ EventLoopProvider, StateProvider, defaultColorMode }} from "$/utils/context";
@@ -211,10 +210,6 @@ def app_root_template(
211210
212211
{custom_code_str}
213212
214-
export const links = () => [
215-
{{ rel: 'stylesheet', href: reflexGlobalStyles, type: 'text/css' }}
216-
];
217-
218213
function AppWrap({{children}}) {{
219214
{_render_hooks(hooks)}
220215
return ({_RenderUtils.render(render)})

reflex/compiler/utils.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from reflex.components.base.document import Links, ScrollRestoration
1717
from reflex.components.base.document import Meta as ReactMeta
1818
from reflex.components.component import Component, ComponentStyle, CustomComponent
19-
from reflex.components.el.elements.metadata import Head, Meta, Title
19+
from reflex.components.el.elements.metadata import Head, Link, Meta, Title
2020
from reflex.components.el.elements.other import Html
2121
from reflex.components.el.elements.sectioning import Body
2222
from reflex.constants.state import FIELD_MARKER
@@ -26,7 +26,7 @@
2626
from reflex.utils import format, imports, path_ops
2727
from reflex.utils.imports import ImportVar, ParsedImportDict
2828
from reflex.utils.prerequisites import get_web_dir
29-
from reflex.vars.base import Field, Var
29+
from reflex.vars.base import Field, Var, VarData
3030

3131
# To re-export this function.
3232
merge_imports = imports.merge_imports
@@ -382,6 +382,20 @@ def create_document_root(
382382
# Always include the framework meta and link tags.
383383
always_head_components = [
384384
ReactMeta.create(),
385+
Link.create(
386+
rel="stylesheet",
387+
type="text/css",
388+
href=Var(
389+
"reflexGlobalStyles",
390+
_var_data=VarData(
391+
imports={
392+
"$/styles/__reflex_global_styles.css?url": [
393+
ImportVar(tag="reflexGlobalStyles", is_default=True)
394+
]
395+
}
396+
),
397+
),
398+
),
385399
Links.create(),
386400
]
387401
maybe_head_components = []

0 commit comments

Comments
 (0)