Skip to content

Commit

Permalink
Fixing events listings with date range not showing on events page aft…
Browse files Browse the repository at this point in the history
…er the current date passed the start date of the event
  • Loading branch information
gabros20 committed Feb 3, 2025
1 parent b64ae01 commit 2d73d7e
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 16 deletions.
28 changes: 19 additions & 9 deletions src/app/events/page.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
import * as React from "react";
import Container from "@/components/Container/Container";
import EventCard from "@/components/EventList/EventCard";
import meta from "@/components/Meta/Meta";
import seo from "@/data/events/seo";
import { eventData } from "@/data/events/event";
import EventCard from "@/components/EventList/EventCard";
import Container from "@/components/Container/Container";
import { Row, Col } from "@/macros/Grids";
import { Display, Body, Heading } from "@/macros/Copy";
import seo from "@/data/events/seo";
import { Body, Display, Heading } from "@/macros/Copy";
import { Col, Row } from "@/macros/Grids";
import Icon from "@/macros/Icons/Icon";
import ArrowLongSVG from "@/macros/SVGs/ArrowLongSVG";
import Link from "@/macros/Link/Link";
import ArrowLongSVG from "@/macros/SVGs/ArrowLongSVG";

export const metadata = meta(seo);

Expand All @@ -21,8 +20,19 @@ const EventsPage = () => {
// Handle date-based events
try {
if (!event.startDate.includes("-")) return true;
const eventDate = new Date(event.startDate);
return eventDate >= new Date();
const eventStartDate = new Date(event.startDate);
const eventEndDate = event.endDate ? new Date(event.endDate) : eventStartDate;

// Normalize current date to remove time component
const currentDate = new Date();
currentDate.setHours(0, 0, 0, 0);
eventStartDate.setHours(0, 0, 0, 0);
eventEndDate.setHours(0, 0, 0, 0);

// Event is upcoming/ongoing if:
// - Current date is within the event date range (inclusive) OR
// - Start date is in the future
return (currentDate >= eventStartDate && currentDate <= eventEndDate) || eventStartDate >= currentDate;
} catch (e) {
console.error("Invalid date format:", event.startDate);
return false;
Expand Down
23 changes: 16 additions & 7 deletions src/app/past-events/page.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
import * as React from "react";
import Container from "@/components/Container/Container";
import EventCard from "@/components/EventList/EventCard";
import meta from "@/components/Meta/Meta";
import seo from "@/data/events/past-events-seo";
import { eventData } from "@/data/events/event";
import EventCard from "@/components/EventList/EventCard";
import Container from "@/components/Container/Container";
import { Row, Col } from "@/macros/Grids";
import { Display, Body } from "@/macros/Copy";
import seo from "@/data/events/past-events-seo";
import { Body, Display } from "@/macros/Copy";
import { Col, Row } from "@/macros/Grids";

export const metadata = meta(seo);

Expand All @@ -18,7 +17,17 @@ const PastEventsPage = () => {
// Handle date-based events
try {
if (!event.startDate.includes("-")) return false;
return new Date(event.startDate) < new Date();
const eventStartDate = new Date(event.startDate);
const eventEndDate = event.endDate ? new Date(event.endDate) : eventStartDate;

// Normalize current date to remove time component
const currentDate = new Date();
currentDate.setHours(0, 0, 0, 0);
eventStartDate.setHours(0, 0, 0, 0);
eventEndDate.setHours(0, 0, 0, 0);

// Event is past only if it's completely over
return currentDate > eventEndDate;
} catch (e) {
console.error("Invalid date format:", event.startDate);
return false;
Expand Down

0 comments on commit 2d73d7e

Please sign in to comment.