diff --git a/src/ezgg_lan_manager/components/UserInfoBox.py b/src/ezgg_lan_manager/components/UserInfoBox.py index 9038b68..3fa5689 100644 --- a/src/ezgg_lan_manager/components/UserInfoBox.py +++ b/src/ezgg_lan_manager/components/UserInfoBox.py @@ -60,8 +60,10 @@ class UserInfoBox(Component): self.session[LocalDataService].del_session(self.session[LocalData].stored_session_token) self.session[LocalData].stored_session_token = None self.session.attach(self.session[LocalData]) - await self.status_change_cb() + if self.status_change_cb is not None: + await self.status_change_cb() await self.session[RefreshService].trigger_refresh() + self.session.navigate_to("") @event.on_populate async def async_init(self) -> None: diff --git a/src/ezgg_lan_manager/services/LocalDataService.py b/src/ezgg_lan_manager/services/LocalDataService.py index a8fb882..aed4e7e 100644 --- a/src/ezgg_lan_manager/services/LocalDataService.py +++ b/src/ezgg_lan_manager/services/LocalDataService.py @@ -21,5 +21,6 @@ class LocalDataService: self._session[key] = session return key - def del_session(self, token: str) -> None: - self._session.pop(token, None) + def del_session(self, token: Optional[str]) -> None: + if token is not None: + self._session.pop(token, None)