Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 11 additions & 4 deletions reflex/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -1010,11 +1010,18 @@ def _app_root(self, app_wrappers: dict[tuple[int, str], Component]) -> Component
for component in tuple(app_wrappers.values()):
app_wrappers.update(component._get_all_app_wrap_components())
order = sorted(app_wrappers, key=lambda k: k[0], reverse=True)
root = parent = copy.deepcopy(app_wrappers[order[0]])
for key in order[1:]:
root = copy.deepcopy(app_wrappers[order[0]])

def reducer(parent: Component, key: tuple[int, str]) -> Component:
child = copy.deepcopy(app_wrappers[key])
parent.children.append(child)
parent = child
return child

functools.reduce(
lambda parent, key: reducer(parent, key),
order[1:],
root,
)
return root

def _should_compile(self) -> bool:
Expand Down Expand Up @@ -1274,7 +1281,7 @@ def memoized_toast_provider():

toast_provider = Fragment.create(memoized_toast_provider())

app_wrappers[(1, "ToasterProvider")] = toast_provider
app_wrappers[(44, "ToasterProvider")] = toast_provider

# Add the app wraps to the app.
for key, app_wrap in chain(
Expand Down
Loading