Homepage/ezgg_website/pages/member.py
2024-05-28 07:09:18 +02:00

30 lines
863 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):
def __init__(self, database_service: services.database_service.DatabaseService) -> None:
super().__init__()
self._database_service = database_service
@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._database_service.get_members()):
grid.add(
comps.MemberCard(member),
row=i // 2,
column=i % 2,
)
return build_page(grid, window_width=self.session.window_width)