Parcourir la source

ConnectionModal uses Cond for rendering (#1739)

Masen Furer il y a 1 an
Parent
commit
f9fad58769

+ 4 - 1
reflex/components/layout/cond.py

@@ -24,7 +24,10 @@ class Cond(Component):
 
     @classmethod
     def create(
-        cls, cond: Var, comp1: Component, comp2: Optional[Component]
+        cls,
+        cond: Var,
+        comp1: Component,
+        comp2: Optional[Component] = None,
     ) -> Component:
         """Create a conditional component.
 

+ 11 - 8
reflex/components/overlay/banner.py

@@ -4,7 +4,7 @@ from __future__ import annotations
 from typing import Optional
 
 from reflex.components.component import Component
-from reflex.components.layout import Box, Cond, Fragment
+from reflex.components.layout import Box, Cond
 from reflex.components.overlay.modal import Modal
 from reflex.components.typography import Text
 from reflex.vars import Var
@@ -37,7 +37,7 @@ def default_connection_error() -> list[str | Var]:
     ]
 
 
-class ConnectionBanner(Cond):
+class ConnectionBanner(Component):
     """A connection banner component."""
 
     @classmethod
@@ -60,10 +60,10 @@ class ConnectionBanner(Cond):
                 textAlign="center",
             )
 
-        return super().create(has_connection_error, comp, Fragment.create())  # type: ignore
+        return Cond.create(has_connection_error, comp)
 
 
-class ConnectionModal(Modal):
+class ConnectionModal(Component):
     """A connection status modal window."""
 
     @classmethod
@@ -78,8 +78,11 @@ class ConnectionModal(Modal):
         """
         if not comp:
             comp = Text.create(*default_connection_error())
-        return super().create(
-            header="Connection Error",
-            body=comp,
-            is_open=has_connection_error,
+        return Cond.create(
+            has_connection_error,
+            Modal.create(
+                header="Connection Error",
+                body=comp,
+                is_open=has_connection_error,
+            ),
         )

+ 2 - 2
reflex/components/overlay/banner.pyi

@@ -16,12 +16,12 @@ has_connection_error.type_
 
 def default_connection_error() -> list[str | Var]: ...
 
-class ConnectionBanner(Cond):
+class ConnectionBanner(Component):
     @overload
     @classmethod
     def create(cls, *children, **props) -> "ConnectionBanner": ...  # type: ignore
 
-class ConnectionModal(Modal):
+class ConnectionModal(Component):
     @overload
     @classmethod
     def create(cls, *children, **props) -> "ConnectionModal": ...  # type: ignore