add db service, add member page

This commit is contained in:
David Rodenkirchen
2024-05-27 10:01:27 +02:00
parent a27d28498c
commit 474ec1b211
8 changed files with 121 additions and 0 deletions
+1
View File
@@ -1,3 +1,4 @@
from .navigation import Navigation
from .header import Header
from .news_post import NewsPost
from .member_card import MemberInfo, MemberCard
+36
View File
@@ -0,0 +1,36 @@
from pathlib import Path
from dataclasses import dataclass
import rio
@dataclass
class MemberInfo:
picture_path: Path
name: str
position: str
entry_date: str
class MemberCard(rio.Component):
def __init__(self, info: MemberInfo) -> None:
super().__init__()
self._info = info
self.align_y = 0
self.margin_top = 0
self.margin_bottom = 2
self.margin_right = 1
def build(self) -> rio.Component:
return rio.Rectangle(
content=rio.Column(
rio.Image(self._info.picture_path, height=9, margin_bottom=1.3),
rio.Text(self._info.name, margin_bottom=0.4, style=rio.TextStyle(font_weight="bold")),
rio.Text(self._info.position, margin_bottom=0.4, style=rio.TextStyle(italic=True)),
rio.Text(f"Mitglied seit {self._info.entry_date}", style=rio.TextStyle(italic=True), margin_bottom=0.4)
),
fill=self.session.theme.neutral_color,
corner_radius=self.session.theme.corner_radius_medium,
shadow_radius=0.5,
shadow_color=self.session.theme.hud_color,
shadow_offset_y=0
)