attach NewsPage to database source
This commit is contained in:
parent
093f0d6a94
commit
53c08dff28
@ -5,6 +5,8 @@ class NewsPost(Component):
|
||||
title: str = ""
|
||||
text: str = ""
|
||||
date: str = ""
|
||||
subtitle: str = ""
|
||||
author: str = ""
|
||||
|
||||
def build(self) -> Component:
|
||||
return Rectangle(
|
||||
@ -12,7 +14,6 @@ class NewsPost(Component):
|
||||
Row(
|
||||
Text(
|
||||
self.title,
|
||||
align_x=0,
|
||||
grow_x=True,
|
||||
margin=2,
|
||||
margin_bottom=0,
|
||||
@ -20,7 +21,7 @@ class NewsPost(Component):
|
||||
fill=self.session.theme.background_color,
|
||||
font_size=1.3
|
||||
),
|
||||
wrap=False
|
||||
wrap="ellipsize"
|
||||
),
|
||||
Text(
|
||||
self.date,
|
||||
@ -33,6 +34,18 @@ class NewsPost(Component):
|
||||
wrap=True
|
||||
)
|
||||
),
|
||||
Text(
|
||||
self.subtitle,
|
||||
grow_x=True,
|
||||
margin=2,
|
||||
margin_top=0,
|
||||
margin_bottom=0,
|
||||
style=TextStyle(
|
||||
fill=self.session.theme.background_color,
|
||||
font_size=0.8
|
||||
),
|
||||
wrap="ellipsize"
|
||||
),
|
||||
Text(
|
||||
self.text,
|
||||
margin=2,
|
||||
@ -40,6 +53,20 @@ class NewsPost(Component):
|
||||
fill=self.session.theme.background_color
|
||||
),
|
||||
wrap=True
|
||||
),
|
||||
Text(
|
||||
f"Geschrieben von {self.author}",
|
||||
align_x=0,
|
||||
grow_x=True,
|
||||
margin=2,
|
||||
margin_top=0,
|
||||
margin_bottom=1,
|
||||
style=TextStyle(
|
||||
fill=self.session.theme.background_color,
|
||||
font_size=0.5,
|
||||
italic=True
|
||||
),
|
||||
wrap=False
|
||||
)
|
||||
),
|
||||
fill=self.session.theme.primary_color,
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
from rio import Text, Column, Rectangle, TextStyle, Component, event
|
||||
from rio import Column, Component, event
|
||||
|
||||
from src.ez_lan_manager import ConfigurationService
|
||||
from src.ez_lan_manager import ConfigurationService, NewsService
|
||||
from src.ez_lan_manager.components.NewsPost import NewsPost
|
||||
from src.ez_lan_manager.pages import BasePage
|
||||
|
||||
@ -10,25 +10,16 @@ class NewsPage(Component):
|
||||
await self.session.set_title(f"{self.session[ConfigurationService].get_lan_info().name} - Neuigkeiten")
|
||||
|
||||
def build(self) -> Component:
|
||||
posts = [NewsPost(
|
||||
title=news.title,
|
||||
subtitle=news.subtitle,
|
||||
text=news.content,
|
||||
date=news.news_date.strftime("%d.%m.%Y"),
|
||||
author=news.author.user_name
|
||||
) for news in self.session[NewsService].get_news()[:8]]
|
||||
return BasePage(
|
||||
content=Column(
|
||||
NewsPost(
|
||||
title="EZ LAN Manager",
|
||||
text="Der EZ LAN Manager ist die offizielle Software der EZ GG e.V. um LAn-Parties zu verwalten."
|
||||
"Ist schon echt cool wie der funktioniert! So kann LAN Party richtig geschmeidig ablaufen.",
|
||||
date="23.08.2024"
|
||||
),
|
||||
NewsPost(
|
||||
title="Alkohöl",
|
||||
text="Der Verein 'EZ GG e.V.' ist bekannt für seinen unstillbaren Durst. "
|
||||
"Bei jedem Treffen fließt der Alkohol in Strömen – egal ob Bier, Wein oder Hochprozentiges. "
|
||||
"Kein Glas bleibt lange leer, und bevor der Pegel auch nur ansatzweise sinkt, "
|
||||
"wird schon nachgefüllt. Die Mitglieder feiern ausgiebig und trinken dabei so viel, "
|
||||
"dass die Vorräte nie lange halten. Bei jeder Gelegenheit wird angestoßen, "
|
||||
"die Stimmung steigt und der Alkohol fließt ohne Ende. "
|
||||
"Ihr Motto: 'Kein Abend ohne reichlich Alkohol!'",
|
||||
date="23.08.2024"
|
||||
),
|
||||
*posts,
|
||||
align_y=0,
|
||||
)
|
||||
)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user