from typing import Optional from rio import Column, Component, event, Spacer from src.ezgg_lan_manager import ConfigurationService, UserService from src.ezgg_lan_manager.components.MainViewContentBox import MainViewContentBox from src.ezgg_lan_manager.components.UserEditForm import UserEditForm from src.ezgg_lan_manager.types.SessionStorage import SessionStorage from src.ezgg_lan_manager.types.User import User class EditProfilePage(Component): user: Optional[User] = None pfp: Optional[bytes] = None @event.on_populate async def on_populate(self) -> None: await self.session.set_title(f"{self.session[ConfigurationService].get_lan_info().name} - Profil bearbeiten") self.user = await self.session[UserService].get_user(self.session[SessionStorage].user_id) self.pfp = await self.session[UserService].get_profile_picture(self.user.user_id) def build(self) -> Component: return Column( MainViewContentBox(UserEditForm(is_own_profile=True)), Spacer(grow_y=True) )