From 39732d12f500ca3392fe09899aeb9a9aa4c8442f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Brand=C3=A9ho?= Date: Mon, 30 Jan 2023 01:00:02 +0100 Subject: [PATCH] Catch a JS Error + code cleanup (#384) --- pynecone/components/media/icon.py | 25 +++++++++++++++++++++++ pynecone/middleware/hydrate_middleware.py | 4 ++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/pynecone/components/media/icon.py b/pynecone/components/media/icon.py index 507d7fd17..a03f1b0c5 100644 --- a/pynecone/components/media/icon.py +++ b/pynecone/components/media/icon.py @@ -13,3 +13,28 @@ class Icon(ChakraIconComponent): """An image icon.""" tag = "None" + + @classmethod + def create(cls, *children, **props): + """Initialize the Icon component. + + Run some additional checks on Icon component. + + Args: + children: The positional arguments + props: The keyword arguments + + Raises: + AttributeError: The errors tied to bad usage of the Icon component. + + Returns: + The created component. + """ + if children: + raise AttributeError( + f"Passing children to Icon component is not allowed: remove positional arguments {children} to fix" + ) + if "tag" not in props.keys(): + raise AttributeError("Missing 'tag' keyword-argument for Icon") + + return super().create(*children, **props) diff --git a/pynecone/middleware/hydrate_middleware.py b/pynecone/middleware/hydrate_middleware.py index b5b405a73..111b3c31b 100644 --- a/pynecone/middleware/hydrate_middleware.py +++ b/pynecone/middleware/hydrate_middleware.py @@ -27,9 +27,9 @@ class HydrateMiddleware(Middleware): An optional state to return. """ if event.name == utils.get_hydrate_event(state): - route = event.router_data.get("pathname", "") + route = event.router_data.get(constants.RouteVar.PATH, "") if route == "/": - load_event = app.load_events.get("index") + load_event = app.load_events.get(constants.INDEX_ROUTE) elif route: load_event = app.load_events.get(route.lstrip("/")) else: