30 lines
823 B
Python
30 lines
823 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)
|