From 75e6919f13d850946228781172061a13f4d4bace Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Fri, 24 Oct 2025 12:47:27 +0200 Subject: [PATCH] Enhance news component functionality and UI; implement dynamic grid layout in PublicNews.vue, add visibility and expiration options in news management, and update API to handle new fields for improved news filtering and display. --- components/PublicNews.vue | 55 +++++++++------ pages/mitgliederbereich/news.vue | 113 +++++++++++++++++++++++++++---- server/api/news-public.get.js | 19 +++++- server/api/news.post.js | 4 +- server/data/news.json | 11 +++ 5 files changed, 167 insertions(+), 35 deletions(-) diff --git a/components/PublicNews.vue b/components/PublicNews.vue index 3baf3fc..6458508 100644 --- a/components/PublicNews.vue +++ b/components/PublicNews.vue @@ -11,25 +11,27 @@

-
-
-
- - {{ formatDate(item.created) }} -
- -

- {{ item.title }} -

- -

- {{ item.content }} -

-
+
+
+
+
+ + {{ formatDate(item.created) }} +
+ +

+ {{ item.title }} +

+ +

+ {{ item.content }} +

+
+
@@ -60,6 +62,21 @@ const formatDate = (dateString) => { }) } +const getGridClass = () => { + const count = news.value.length + + if (count === 1) { + // Eine Kachel: Eine Spalte, zentriert + return 'grid-cols-1 place-items-center' + } else if (count === 2) { + // Zwei Kacheln: Zwei Spalten, zentriert, gleiche Höhe + return 'grid-cols-1 md:grid-cols-2 place-items-stretch' + } else { + // Drei oder mehr Kacheln: Normale Grid-Darstellung + return 'grid-cols-1 md:grid-cols-2 lg:grid-cols-3' + } +} + onMounted(() => { loadNews() }) diff --git a/pages/mitgliederbereich/news.vue b/pages/mitgliederbereich/news.vue index bae118c..66ca9db 100644 --- a/pages/mitgliederbereich/news.vue +++ b/pages/mitgliederbereich/news.vue @@ -43,6 +43,20 @@ Öffentlich + + + Ausgeblendet + + + + Abgelaufen +
@@ -145,6 +159,40 @@
+
+
+ + +

+ Nach diesem Datum wird die News automatisch nicht mehr auf der Startseite angezeigt. +

+
+ +
+ + +
+
+
{{ errorMessage }} @@ -177,7 +225,7 @@