diff --git a/ezgg_website/assets/bk_luxus_lan_15.jpeg b/ezgg_website/assets/bk_luxus_lan_15.jpeg new file mode 100644 index 0000000..d2be719 Binary files /dev/null and b/ezgg_website/assets/bk_luxus_lan_15.jpeg differ diff --git a/ezgg_website/assets/news_25_11_24.md b/ezgg_website/assets/news_25_11_24.md new file mode 100644 index 0000000..208f933 --- /dev/null +++ b/ezgg_website/assets/news_25_11_24.md @@ -0,0 +1,3 @@ +Vom 22. bis 24. November war die EZ GG zu Gast bei den BK-LAN'ern auf ihrer [LuxusLAN 15](https://bk-lan.de/party/?do=event&id=37) in Bad Kreuznach - Hargesheim. + +Wir hatten alle viel Spaß und danken für die Einladung. Gerne wieder 😄. [Hier gibt es alle Bilder vom Wochenende.](https://verwaltung.ezgg-ev.de/adm_program/modules/photos/photos.php?photo_uuid=bc0c54ce-a87e-426a-893d-2bbcc2c28ce3) diff --git a/ezgg_website/components/news_post.py b/ezgg_website/components/news_post.py index 41bf03d..d533f80 100644 --- a/ezgg_website/components/news_post.py +++ b/ezgg_website/components/news_post.py @@ -1,14 +1,20 @@ +from dataclasses import dataclass from pathlib import Path from typing import Optional +from dataclasses import dataclass import rio +@dataclass +class NewsPostImage: + path: Path + link: Optional[str] class NewsPost(rio.Component): header: str date: str article_text_path_or_text: str | Path - images: list[Path] + images: list[NewsPostImage] article_text = "" @rio.event.on_populate @@ -25,8 +31,20 @@ class NewsPost(rio.Component): def build(self) -> rio.Component: image_column = rio.Column(margin=0.5) - for image_path in self.images: - image_column.add(rio.Image(image_path, fill_mode="fit", width=18, height=18, align_x=0.01)) + for news_post_image in self.images: + image_obj = rio.Image( + news_post_image.path, + fill_mode="fit", + width=20, + height=20, + align_x=0.01 + ) + image_column.add( + rio.Link(image_obj, + target_url=news_post_image.link, + open_in_new_tab=True + ) if bool(news_post_image.link) else image_obj + ) return rio.Rectangle( content=rio.Column( rio.Row( @@ -47,7 +65,7 @@ class NewsPost(rio.Component): ) -def build_news_post(header: str, article_text_path_or_text: str | Path, date: str, images: Optional[list[Path]] = None) -> NewsPost: +def build_news_post(header: str, article_text_path_or_text: str | Path, date: str, images: Optional[list[NewsPostImage]] = None) -> NewsPost: if images is None: images = [] return NewsPost( diff --git a/ezgg_website/pages/home.py b/ezgg_website/pages/home.py index 974e9dc..53d2611 100644 --- a/ezgg_website/pages/home.py +++ b/ezgg_website/pages/home.py @@ -7,6 +7,7 @@ from from_root import from_root from .page_builder import build_page from .. import components as comps +from ..components.news_post import NewsPostImage class Home(rio.Component): @@ -31,6 +32,17 @@ class Home(rio.Component): margin_bottom=1, margin_right=1 ), + comps.build_news_post( + header="Das war die BK-LuxusLAN 15", + article_text_path_or_text=from_root("ezgg_website/assets/news_25_11_24.md"), + date="25.11.2024", + images=[ + NewsPostImage( + from_root("ezgg_website/assets/bk_luxus_lan_15.jpeg"), + "https://verwaltung.ezgg-ev.de/adm_program/modules/photos/photo_show.php?photo_uuid=bc0c54ce-a87e-426a-893d-2bbcc2c28ce3&photo_nr=3" + ) + ], + ), comps.build_news_post( header="Eine Laura und 21 Bilder", article_text_path_or_text=from_root("ezgg_website/assets/news_25_10_24.md"), @@ -59,7 +71,7 @@ class Home(rio.Component): 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")], + images=[NewsPostImage(from_root("ezgg_website/assets/a38.png"), None)], date="06.06.2024" ), comps.build_news_post( diff --git a/ezgg_website/services/database_service.py b/ezgg_website/services/database_service.py index a89d895..645b91a 100644 --- a/ezgg_website/services/database_service.py +++ b/ezgg_website/services/database_service.py @@ -118,6 +118,18 @@ class DatabaseService: def get_picture_paths(self) -> list[rio.URL]: return [ + # BK-LAN LuxusLAN 15 + rio.URL("https://verwaltung.ezgg-ev.de/adm_program/modules/photos/photo_show.php?photo_uuid=bc0c54ce-a87e-426a-893d-2bbcc2c28ce3&photo_nr=10"), + rio.URL("https://verwaltung.ezgg-ev.de/adm_program/modules/photos/photo_show.php?photo_uuid=bc0c54ce-a87e-426a-893d-2bbcc2c28ce3&photo_nr=2"), + rio.URL("https://verwaltung.ezgg-ev.de/adm_program/modules/photos/photo_show.php?photo_uuid=bc0c54ce-a87e-426a-893d-2bbcc2c28ce3&photo_nr=3"), + rio.URL("https://verwaltung.ezgg-ev.de/adm_program/modules/photos/photo_show.php?photo_uuid=bc0c54ce-a87e-426a-893d-2bbcc2c28ce3&photo_nr=4"), + rio.URL("https://verwaltung.ezgg-ev.de/adm_program/modules/photos/photo_show.php?photo_uuid=bc0c54ce-a87e-426a-893d-2bbcc2c28ce3&photo_nr=5"), + rio.URL("https://verwaltung.ezgg-ev.de/adm_program/modules/photos/photo_show.php?photo_uuid=bc0c54ce-a87e-426a-893d-2bbcc2c28ce3&photo_nr=6"), + rio.URL("https://verwaltung.ezgg-ev.de/adm_program/modules/photos/photo_show.php?photo_uuid=bc0c54ce-a87e-426a-893d-2bbcc2c28ce3&photo_nr=7"), + rio.URL("https://verwaltung.ezgg-ev.de/adm_program/modules/photos/photo_show.php?photo_uuid=bc0c54ce-a87e-426a-893d-2bbcc2c28ce3&photo_nr=8"), + rio.URL("https://verwaltung.ezgg-ev.de/adm_program/modules/photos/photo_show.php?photo_uuid=bc0c54ce-a87e-426a-893d-2bbcc2c28ce3&photo_nr=9"), + rio.URL("https://verwaltung.ezgg-ev.de/adm_program/modules/photos/photo_show.php?photo_uuid=bc0c54ce-a87e-426a-893d-2bbcc2c28ce3&photo_nr=10"), + # BL 47 rio.URL("https://verwaltung.ezgg-ev.de/adm_program/modules/photos/photo_show.php?photo_uuid=eacbaa73-db29-48e2-b0af-2f43a0e053ed&photo_nr=1"), rio.URL("https://verwaltung.ezgg-ev.de/adm_program/modules/photos/photo_show.php?photo_uuid=eacbaa73-db29-48e2-b0af-2f43a0e053ed&photo_nr=2"),