From 58fa6ad279c4ede8ed3b7ea6bcedbaeefe8cd973 Mon Sep 17 00:00:00 2001 From: Cole Morgan Date: Wed, 26 Mar 2025 17:43:49 -0400 Subject: [PATCH] feat: implemented events views --- src/app/events/page.tsx | 69 ++++++++++-- src/app/globals.css | 3 +- src/components/events/CalendarEvent.tsx | 93 --------------- .../{ => CalendarListView}/MonthlyEvent.tsx | 0 .../{ => CalendarListView}/MonthlyEvents.tsx | 0 .../{ => CalendarMonthView}/Calendar.tsx | 12 +- .../{ => CalendarMonthView}/CalendarDay.tsx | 8 +- .../{ => CalendarMonthView}/CalendarDays.tsx | 0 .../CalendarMonthView/CalendarEvent.tsx | 53 +++++++++ .../CalendarSkeleton.tsx | 0 .../MobileCalendarEvent.tsx | 2 +- .../CalendarWeekView/WeekViewCalendar.tsx | 63 +++++++++++ .../events/CalendarWeekView/WeekViewDay.tsx | 106 ++++++++++++++++++ .../events/CalendarWeekView/WeekViewEvent.tsx | 55 +++++++++ src/components/events/EventModal.tsx | 67 +++++++++++ src/hooks/useCalendarEvents.ts | 64 +++++++++++ src/hooks/useResponsiveDayCount.ts | 27 +++++ 17 files changed, 509 insertions(+), 113 deletions(-) delete mode 100644 src/components/events/CalendarEvent.tsx rename src/components/events/{ => CalendarListView}/MonthlyEvent.tsx (100%) rename src/components/events/{ => CalendarListView}/MonthlyEvents.tsx (100%) rename src/components/events/{ => CalendarMonthView}/Calendar.tsx (87%) rename src/components/events/{ => CalendarMonthView}/CalendarDay.tsx (88%) rename src/components/events/{ => CalendarMonthView}/CalendarDays.tsx (100%) create mode 100644 src/components/events/CalendarMonthView/CalendarEvent.tsx rename src/components/events/{ => CalendarMonthView}/CalendarSkeleton.tsx (100%) rename src/components/events/{ => CalendarMonthView}/MobileCalendarEvent.tsx (96%) create mode 100644 src/components/events/CalendarWeekView/WeekViewCalendar.tsx create mode 100644 src/components/events/CalendarWeekView/WeekViewDay.tsx create mode 100644 src/components/events/CalendarWeekView/WeekViewEvent.tsx create mode 100644 src/components/events/EventModal.tsx create mode 100644 src/hooks/useCalendarEvents.ts create mode 100644 src/hooks/useResponsiveDayCount.ts diff --git a/src/app/events/page.tsx b/src/app/events/page.tsx index e743475..66540a7 100644 --- a/src/app/events/page.tsx +++ b/src/app/events/page.tsx @@ -1,19 +1,74 @@ "use client"; -import Calendar from "@/components/events/Calendar"; -import MonthlyEvents from "@/components/events/MonthlyEvents"; +import Calendar from "@/components/events/CalendarMonthView/Calendar"; +import FiveDayCalendar from "@/components/events/CalendarWeekView/WeekViewCalendar"; +import MonthlyEvents from "@/components/events/CalendarListView/MonthlyEvents"; +import { FaRegCalendarAlt, FaList } from "react-icons/fa"; import Footer from "@/components/Footer"; +import { Clock, Calendar as CalendarIcon, List } from "lucide-react"; +import { useState } from "react"; export default function Events() { + const [calendarView, setCalendarView] = useState<"month" | "day" | "list">( + "month", + ); + return ( <>
-
-
- - +
+

Events

+

+ Discover everything you need to know about upcoming{" "} + club events and{" "} + exclusive opportunities. +

+

Views:

+ + {/* buttons to change view */} +
+ + + +
+ {/* end buttons */} + + {/* Views */} + {calendarView === "day" && } + {calendarView === "month" && } + {calendarView === "list" && } +
-