diff --git a/src/data/index.ts b/src/data/index.ts
index 3c752caa..b06c16fb 100644
--- a/src/data/index.ts
+++ b/src/data/index.ts
@@ -10,6 +10,7 @@ import { testInstagramData } from './test/instagram.ts';
export interface EventCalendarEntry {
date: Date;
description: string;
+ end?: Date;
image: { alt: string; src: GetImageResult };
link?: string;
title: string;
diff --git a/src/data/real/events.ts b/src/data/real/events.ts
index ada1d48d..8421168c 100644
--- a/src/data/real/events.ts
+++ b/src/data/real/events.ts
@@ -25,8 +25,11 @@ type EventRequest = {
sort?: `-${keyof EventCMS}` | keyof EventCMS;
where: {
[key in keyof EventCMS]?: {
+ equals?: EventCMS[key];
+ exists?: boolean;
greater_than?: EventCMS[key];
less_than?: EventCMS[key];
+ not_equals?: EventCMS[key];
};
};
};
@@ -48,6 +51,11 @@ export async function get3CalendarEntries(): Promise<
},
},
};
+ if (!DRAFT) {
+ request.where._status = {
+ equals: 'published',
+ };
+ }
console.log(request);
console.log(`${process.env.CMS_URL}/api/events?${qs.stringify(request)}`);
const response = await fetch(`${process.env.CMS_URL}/api/events?${qs.stringify(request)}`);
@@ -65,6 +73,11 @@ export async function get3CalendarEntries(): Promise<
},
},
};
+ if (!DRAFT) {
+ request2.where._status = {
+ equals: 'published',
+ };
+ }
const pastEventsResponse = await fetch(
`${process.env.CMS_URL}/api/events?${qs.stringify(request2)}`,
);
@@ -77,6 +90,7 @@ export async function get3CalendarEntries(): Promise<
const optimizedEvents = events.map(async (event) => ({
date: new Date(event.start),
description: event.shortDescription,
+ end: new Date(event.end),
image: await getEventImage(event.calendarCover.value).then(async (r) => ({
alt: r!.alt,
src: await getImage({
@@ -91,11 +105,23 @@ export async function get3CalendarEntries(): Promise<
}
export async function getAllPages(): Promise {
- const response = await fetch(`${process.env.CMS_URL}/api/events?draft=${DRAFT}`);
+ const request: EventRequest = {
+ draft: DRAFT,
+ where: {
+ slug: {
+ exists: true,
+ },
+ },
+ };
+ if (!DRAFT) {
+ request.where._status = {
+ equals: 'published',
+ };
+ }
+ const response = await fetch(`${process.env.CMS_URL}/api/events?${qs.stringify(request)}`);
const data = await response.json();
const events = data.docs as EventCMS[];
- const eventsWithSlug = events.filter((event) => event.slug);
- const promises = eventsWithSlug.map(async (event) => ({
+ const promises = events.map(async (event) => ({
...event,
end: new Date(event.end),
heroImage: await getEventImage(event.heroImage?.value),
diff --git a/src/data/test/events.ts b/src/data/test/events.ts
index 28238628..6a2b373b 100644
--- a/src/data/test/events.ts
+++ b/src/data/test/events.ts
@@ -36,6 +36,7 @@ export async function get3CalendarEntries(): Promise<
{
date: new Date(1999, 6, 10),
description: 'This event covers the test case for past events',
+ end: new Date(1999, 6, 13),
image: {
alt: '',
src: await getImage({ src: thirdEventImage }),
@@ -46,6 +47,7 @@ export async function get3CalendarEntries(): Promise<
{
date: new Date(2999, 10, 2),
description: 'This event will always (until the year 2999) be in the future.',
+ end: new Date(2999, 10, 5),
image: {
alt: '',
src: await getImage({ src: calendarCoverImage }),
@@ -56,6 +58,7 @@ export async function get3CalendarEntries(): Promise<
{
date: new Date(3024, 0, 28),
description: 'This is test data. Test 1 2 3. Test test.',
+ end: new Date(3024, 1, 3),
image: {
alt: '',
src: await getImage({ src: pastEvent }),
diff --git a/src/pages/datenschutz.astro b/src/pages/datenschutz.astro
index 682eccb3..a890dfd0 100644
--- a/src/pages/datenschutz.astro
+++ b/src/pages/datenschutz.astro
@@ -3,7 +3,7 @@ import Layout from '@layouts/Layout.astro';
---
-
+
Datenschutzerklärung
1. Datenschutz auf einen Blick
diff --git a/src/pages/events.astro b/src/pages/events.astro
index 15fd8915..66c5d368 100644
--- a/src/pages/events.astro
+++ b/src/pages/events.astro
@@ -1,15 +1,10 @@
---
import Hero from '@components/events/Hero.astro';
import NextEvents from '@components/events/NextEvents.astro';
-import YearlyEvents from '@components/events/YearlyEvents.svelte';
-import { eventData } from '@data';
import Layout from '@layouts/Layout.astro';
-
-const yearlyEvents = await eventData.getAllYearlyEvents();
---
-
diff --git a/src/pages/impressum.astro b/src/pages/impressum.astro
index d86b2628..9a30c0b6 100644
--- a/src/pages/impressum.astro
+++ b/src/pages/impressum.astro
@@ -3,7 +3,7 @@ import Layout from '@layouts/Layout.astro';
---
-
+
Impressum
Angaben gemäß § 5 TMG:
YoungVision e.V. Am bhf 4, 16307 Mescherin Deutschland
@@ -31,7 +31,7 @@ import Layout from '@layouts/Layout.astro';
Registereintrag
-
Registergericht: Amtsgericht Charlottenburg Registernummer: VR 32815 B
+
Registergericht: Amtsgericht Neuruppin
Registernummer: VR 5579 NP