diff --git a/nextjs/src/app/course/[courseName]/calendar/CalendarMonth.tsx b/nextjs/src/app/course/[courseName]/calendar/CalendarMonth.tsx index b299cb6..9952fdc 100644 --- a/nextjs/src/app/course/[courseName]/calendar/CalendarMonth.tsx +++ b/nextjs/src/app/course/[courseName]/calendar/CalendarMonth.tsx @@ -1,16 +1,10 @@ -"use client" +"use client"; import { useState } from "react"; import { CalendarMonthModel } from "./calendarMonthUtils"; -import { DayOfWeek, LocalCourse } from "@/models/local/localCourse"; +import { DayOfWeek } from "@/models/local/localCourse"; import Day from "./Day"; -export const CalendarMonth = ({ - month, - localCourse, -}: { - month: CalendarMonthModel; - localCourse: LocalCourse; -}) => { +export const CalendarMonth = ({ month }: { month: CalendarMonthModel }) => { const [isCollapsed, setIsCollapsed] = useState(false); const isInPast = @@ -40,14 +34,7 @@ export const CalendarMonth = ({
{weekDaysList.map((day) => ( -
+
{day}
))} @@ -63,4 +50,4 @@ export const CalendarMonth = ({
); -} +}; diff --git a/nextjs/src/app/course/[courseName]/calendar/CourseCalendar.tsx b/nextjs/src/app/course/[courseName]/calendar/CourseCalendar.tsx index 0c41053..c784c6b 100644 --- a/nextjs/src/app/course/[courseName]/calendar/CourseCalendar.tsx +++ b/nextjs/src/app/course/[courseName]/calendar/CourseCalendar.tsx @@ -5,27 +5,23 @@ import { getMonthsBetweenDates } from "./calendarMonthUtils"; import { CalendarMonth } from "./CalendarMonth"; export default function CourseCalendar() { - const context = useCourseContext(); + const { + localCourse: { + settings: { startDate, endDate }, + }, + } = useCourseContext(); - const startDate = getDateFromStringOrThrow( - context.localCourse.settings.startDate, + const startDateTime = getDateFromStringOrThrow( + startDate, "course start date" ); - const endDate = getDateFromStringOrThrow( - context.localCourse.settings.endDate, - "course end date" - ); - - const months = getMonthsBetweenDates(startDate, endDate); + const endDateTime = getDateFromStringOrThrow(endDate, "course end date"); + const months = getMonthsBetweenDates(startDateTime, endDateTime); return ( <> {months.map((month) => ( - + ))} ); diff --git a/nextjs/src/app/course/[courseName]/calendar/Day.tsx b/nextjs/src/app/course/[courseName]/calendar/Day.tsx index 48d6cc7..4cde432 100644 --- a/nextjs/src/app/course/[courseName]/calendar/Day.tsx +++ b/nextjs/src/app/course/[courseName]/calendar/Day.tsx @@ -6,7 +6,9 @@ import { useCourseContext } from "../context/courseContext"; export default function Day({ day, month }: { day: Date; month: number }) { const context = useCourseContext(); - const backgroundClass = day.getMonth() + 1 != month ? "" : "bg-slate-900"; + + const isInSameMonth = day.getMonth() + 1 != month + const backgroundClass = isInSameMonth ? "" : "bg-slate-900"; const todaysAssignments = context.localCourse.modules .flatMap((m) => m.assignments) @@ -15,13 +17,11 @@ export default function Day({ day, month }: { day: Date; month: number }) { a.dueAt, "due at for assignment in day" ); - - const isSame = + return ( dueDate.getFullYear() === day.getFullYear() && dueDate.getMonth() === day.getMonth() && - dueDate.getDate() === day.getDate(); - if (a.name === "Chapter 3") console.log(a.name, dueDate, day, isSame); - return isSame; + dueDate.getDate() === day.getDate() + ); }); const todaysQuizzes = context.localCourse.modules .flatMap((m) => m.quizzes) diff --git a/nextjs/src/app/course/[courseName]/calendar/calendarMonthUtils.ts b/nextjs/src/app/course/[courseName]/calendar/calendarMonthUtils.ts index 8e039f1..44ab5cf 100644 --- a/nextjs/src/app/course/[courseName]/calendar/calendarMonthUtils.ts +++ b/nextjs/src/app/course/[courseName]/calendar/calendarMonthUtils.ts @@ -32,7 +32,7 @@ function createCalendarMonth(year: number, month: number): CalendarMonthModel { return new Date(year, month - 1, currentDay++); } else { currentDay++; - return new Date(year, month, currentDay - daysInMonth); + return new Date(year, month, currentDay - daysInMonth - 1); } }) );