banner.py 1016 B

123456789101112131415161718192021222324252627282930313233
  1. """Banner components."""
  2. from typing import Optional
  3. from pynecone.components.component import Component
  4. from pynecone.components.layout import Box, Cond, Fragment
  5. from pynecone.components.typography import Text
  6. from pynecone.vars import Var
  7. class ConnectionBanner(Cond):
  8. """A connection banner component."""
  9. @classmethod
  10. def create(cls, comp: Optional[Component] = None) -> Component:
  11. """Create a connection banner component.
  12. Args:
  13. comp: The component to render when there's a server connection error.
  14. Returns:
  15. The connection banner component.
  16. """
  17. if not comp:
  18. comp = Box.create(
  19. Text.create(
  20. "cannot connect to server. Check if server is reachable",
  21. bg="red",
  22. color="white",
  23. ),
  24. textAlign="center",
  25. )
  26. return super().create(Var.create("notConnected"), comp, Fragment.create()) # type: ignore