Homepage/ezgg_website/pages/member.py

30 lines
839 B
Python

from __future__ import annotations
from typing import * # type: ignore
import rio
from .page_builder import build_page
from .. import components as comps
from .. import services
class Member(rio.Component):
@rio.event.on_window_size_change
async def on_window_size_change(self) -> None:
await self.force_refresh()
@rio.event.on_populate
async def on_populate(self) -> None:
await self.session.set_title("EZ GG e.V. - Mitglieder")
def build(self) -> rio.Component:
grid = rio.Grid()
for i, member in enumerate(self.session[services.DatabaseService].get_members()):
grid.add(
comps.build_member_card(member),
row=i // 2,
column=i % 2,
)
return build_page(grid, window_width=self.session.window_width)