From 167df794a49a8ed686f7969decda44141918ba8e Mon Sep 17 00:00:00 2001 From: Daveed Date: Mon, 20 Jan 2025 13:02:24 -0500 Subject: [PATCH] Displaying only future events, in ascending start date order --- src/pages/events/index.astro | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/src/pages/events/index.astro b/src/pages/events/index.astro index 03e1f97..c2371d4 100644 --- a/src/pages/events/index.astro +++ b/src/pages/events/index.astro @@ -21,10 +21,24 @@ import { slugifyStr } from "@utils/slugify"; import { markketplace } from "@config"; const stores = await getCollection("stores"); -const events = await getCollection("events"); -const store = stores.find( - (store: Store) => store.data.slug === markketplace.STORE_SLUG -); +let events = await getCollection("events"); + +const today = new Date(); + +events = events + .filter(event => new Date(event.data.startDate) > today) + .sort((a, b) => { + return ( + new Date(a.data.startDate).getTime() - + new Date(b.data.startDate).getTime() + ); + }); + +// @TODO: separate future and past events + +const store: { data: Store } = stores.find( + (store: any) => store.data?.slug === markketplace?.STORE_SLUG +) as any; const pages = await getCollection("pages"); @@ -48,7 +62,7 @@ const { currentPage, totalPages } = Astro.props; description, }} > -
+
{ @@ -77,16 +91,9 @@ const { currentPage, totalPages } = Astro.props; frontmatter={{ author: "x", title: data.Name || data.SEO?.metaTitle || "---", - pubDatetime: new Date(data.createdAt), - modDatetime: new Date(data.updatedAt), + pubDatetime: new Date(data.startDate), + modDatetime: new Date(data.startDate), description: data.SEO?.metaDescription || data.Description || "", - SEO: { - ...data.SEO, - metaTitle: data.SEO?.metaTitle || data.Name || "Store", - socialImage: { - url: data.SEO?.socialImage?.url || data.Thumbnail?.url, - }, - }, }} /> ))