diff --git a/apps/web/src/app/schedule/page.tsx b/apps/web/src/app/schedule/page.tsx index 7e234311..868914a7 100644 --- a/apps/web/src/app/schedule/page.tsx +++ b/apps/web/src/app/schedule/page.tsx @@ -1,17 +1,68 @@ import { Suspense } from "react"; -import Loading from "@/components/shared/Loading"; import UserScheduleView from "@/components/schedule/UserScheduleView"; -import Navbar from "@/components/shared/Navbar"; +import ScheduleTimeline from "../dash/schedule/schedule-timeline"; +import Loading from "@/components/shared/Loading"; +import { getAllEvents } from "db/functions"; +import { headers } from "next/headers"; +import { VERCEL_IP_TIMEZONE_HEADER_KEY } from "@/lib/constants"; +import { getClientTimeZone } from "@/lib/utils/client/shared"; +import { Badge } from "@/components/shadcn/ui/badge"; +import c from "config"; import { Skeleton } from "@/components/shadcn/ui/skeleton"; -export default function EventsPage() { +import Navbar from "@/components/shared/Navbar"; +export default async function Page() { + const sched = await getAllEvents(); + + const currentEvent = sched.filter((e) => { + const currentTime = new Date(); + return e.startTime < currentTime && e.endTime > currentTime; + })[0]; + const userTimeZoneHeaderKey = headers().get(VERCEL_IP_TIMEZONE_HEADER_KEY); + const userTimeZone = getClientTimeZone(userTimeZoneHeaderKey); return ( <> }> +
+

+ Schedule +

+
+

Current

+
+

+ {currentEvent?.title || "No current events"}{" "} + {currentEvent && ( + + )[currentEvent?.type], + }} + > +

+ {currentEvent?.type} +

+ + )} +

+
+
+
+ }> - + {/* */} + ); } + +export const runtime = "edge"; +export const revalidate = 60;