Homepage/ezgg_website/pages/home.py
2024-10-18 10:52:54 +02:00

71 lines
2.7 KiB
Python

from __future__ import annotations
from typing import * # type: ignore
import rio
from from_root import from_root
from .page_builder import build_page
from .. import components as comps
class Home(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.")
def build(self) -> rio.Component:
self.session.get_permission_level = True
return build_page(rio.Column(
rio.Rectangle(
content=rio.Markdown("### Willkommen auf der Homepage der EZ GG e.V.", margin=1),
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,
margin_bottom=1,
margin_right=1
),
comps.build_news_post(
header="LANd in Sicht!",
article_text_path_or_text=from_root("ezgg_website/assets/news_18_10_24.md"),
date="18.10.2024"
),
comps.build_news_post(
header="Doppelte Neuaufnahme",
article_text_path_or_text=from_root("ezgg_website/assets/news_10_08_24.md"),
date="10.08.2024"
),
comps.build_news_post(
header="Weiterer Neuzugang im Verein!",
article_text_path_or_text=from_root("ezgg_website/assets/news_23_07_24.md"),
date="23.07.2024"
),
comps.build_news_post(
header="Neuzugang im Verein!",
article_text_path_or_text=from_root("ezgg_website/assets/news_19_07_24.md"),
date="19.07.2024"
),
comps.build_news_post(
header="Eintragung abgeschlossen!",
article_text_path_or_text=from_root("ezgg_website/assets/news_06_06_24.md"),
images=[from_root("ezgg_website/assets/a38.png")],
date="06.06.2024"
),
comps.build_news_post(
header="Beitrittsformular verfügbar",
article_text_path_or_text=from_root("ezgg_website/assets/news_02_06_24.md"),
date="02.06.2024"
),
comps.build_news_post(
header="Startschuss für Homepage",
article_text_path_or_text=from_root("ezgg_website/assets/news_27_05_24.md"),
date="24.05.2024"
)
), window_width=self.session.window_width)