Skip to content

Commit 42e77b1

Browse files
authored
remove toaster outside of radix (#5827)
* remove toaster outside of radix * fix unit tests
1 parent 5606d1c commit 42e77b1

File tree

2 files changed

+15
-8
lines changed

2 files changed

+15
-8
lines changed

reflex/app.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1022,11 +1022,18 @@ def _app_root(self, app_wrappers: dict[tuple[int, str], Component]) -> Component
10221022
for component in tuple(app_wrappers.values()):
10231023
app_wrappers.update(component._get_all_app_wrap_components())
10241024
order = sorted(app_wrappers, key=lambda k: k[0], reverse=True)
1025-
root = parent = copy.deepcopy(app_wrappers[order[0]])
1026-
for key in order[1:]:
1025+
root = copy.deepcopy(app_wrappers[order[0]])
1026+
1027+
def reducer(parent: Component, key: tuple[int, str]) -> Component:
10271028
child = copy.deepcopy(app_wrappers[key])
10281029
parent.children.append(child)
1029-
parent = child
1030+
return child
1031+
1032+
functools.reduce(
1033+
lambda parent, key: reducer(parent, key),
1034+
order[1:],
1035+
root,
1036+
)
10301037
return root
10311038

10321039
def _should_compile(self) -> bool:
@@ -1286,7 +1293,7 @@ def memoized_toast_provider():
12861293

12871294
toast_provider = Fragment.create(memoized_toast_provider())
12881295

1289-
app_wrappers[(1, "ToasterProvider")] = toast_provider
1296+
app_wrappers[(44, "ToasterProvider")] = toast_provider
12901297

12911298
# Add the app wraps to the app.
12921299
for key, app_wrap in chain(

tests/units/test_app.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1377,12 +1377,12 @@ def test_app_wrap_compile_theme(
13771377
"""onError:((_error, _info) => (addEvents([(ReflexEvent("reflex___state____state.reflex___state____frontend_event_exception_state.handle_frontend_exception", ({ ["info"] : ((((_error["name"]+": ")+_error["message"])+"\\n")+_error["stack"]), ["component_stack"] : _info["componentStack"] }), ({ })))], [_error, _info], ({ }))))"""
13781378
"},"
13791379
"jsx(RadixThemesColorModeProvider,{},"
1380+
"jsx(Fragment,{},"
1381+
"jsx(MemoizedToastProvider,{},),"
13801382
"jsx(RadixThemesTheme,{accentColor:\"plum\",css:{...theme.styles.global[':root'], ...theme.styles.global.body}},"
13811383
"jsx(Fragment,{},"
13821384
"jsx(DefaultOverlayComponents,{},),"
13831385
"jsx(Fragment,{},"
1384-
"jsx(MemoizedToastProvider,{},),"
1385-
"jsx(Fragment,{},"
13861386
"children"
13871387
"))))))" + (")" if react_strict_mode else "") + ")"
13881388
"\n}"
@@ -1452,12 +1452,12 @@ def page():
14521452
"},"
14531453
'jsx(RadixThemesText,{as:"p"},'
14541454
"jsx(RadixThemesColorModeProvider,{},"
1455+
"jsx(Fragment,{},"
1456+
"jsx(MemoizedToastProvider,{},),"
14551457
"jsx(Fragment2,{},"
14561458
"jsx(Fragment,{},"
14571459
"jsx(DefaultOverlayComponents,{},),"
14581460
"jsx(Fragment,{},"
1459-
"jsx(MemoizedToastProvider,{},),"
1460-
"jsx(Fragment,{},"
14611461
"children"
14621462
")))))))" + (")" if react_strict_mode else "") + "))\n}"
14631463
)

0 commit comments

Comments
 (0)