attach NewsPage to database source
This commit is contained in:
parent
093f0d6a94
commit
53c08dff28
@ -5,6 +5,8 @@ class NewsPost(Component):
|
|||||||
title: str = ""
|
title: str = ""
|
||||||
text: str = ""
|
text: str = ""
|
||||||
date: str = ""
|
date: str = ""
|
||||||
|
subtitle: str = ""
|
||||||
|
author: str = ""
|
||||||
|
|
||||||
def build(self) -> Component:
|
def build(self) -> Component:
|
||||||
return Rectangle(
|
return Rectangle(
|
||||||
@ -12,7 +14,6 @@ class NewsPost(Component):
|
|||||||
Row(
|
Row(
|
||||||
Text(
|
Text(
|
||||||
self.title,
|
self.title,
|
||||||
align_x=0,
|
|
||||||
grow_x=True,
|
grow_x=True,
|
||||||
margin=2,
|
margin=2,
|
||||||
margin_bottom=0,
|
margin_bottom=0,
|
||||||
@ -20,7 +21,7 @@ class NewsPost(Component):
|
|||||||
fill=self.session.theme.background_color,
|
fill=self.session.theme.background_color,
|
||||||
font_size=1.3
|
font_size=1.3
|
||||||
),
|
),
|
||||||
wrap=False
|
wrap="ellipsize"
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
self.date,
|
self.date,
|
||||||
@ -33,6 +34,18 @@ class NewsPost(Component):
|
|||||||
wrap=True
|
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(
|
Text(
|
||||||
self.text,
|
self.text,
|
||||||
margin=2,
|
margin=2,
|
||||||
@ -40,6 +53,20 @@ class NewsPost(Component):
|
|||||||
fill=self.session.theme.background_color
|
fill=self.session.theme.background_color
|
||||||
),
|
),
|
||||||
wrap=True
|
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,
|
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.components.NewsPost import NewsPost
|
||||||
from src.ez_lan_manager.pages import BasePage
|
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")
|
await self.session.set_title(f"{self.session[ConfigurationService].get_lan_info().name} - Neuigkeiten")
|
||||||
|
|
||||||
def build(self) -> Component:
|
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(
|
return BasePage(
|
||||||
content=Column(
|
content=Column(
|
||||||
NewsPost(
|
*posts,
|
||||||
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"
|
|
||||||
),
|
|
||||||
align_y=0,
|
align_y=0,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user