import { Session } from "@/hooks/useSessions"; import { Assignment } from "@/interfaces/results"; import { User } from "@/interfaces/user"; import { activeAssignmentFilter, futureAssignmentFilter, } from "@/utils/assignments"; import { sortByModuleName } from "@/utils/moduleUtils"; import clsx from "clsx"; import moment from "moment"; import { useRouter } from "next/router"; import { useMemo } from "react"; import Button from "../Low/Button"; import ModuleBadge from "../ModuleBadge"; interface Props { assignment: Assignment; user: User; session?: Session; startAssignment: (assignment: Assignment) => void; resumeAssignment: (session: Session) => void; } export default function AssignmentCard({ user, assignment, session, startAssignment, resumeAssignment, }: Props) { const hasBeenSubmitted = useMemo( () => assignment.results.map((r) => r.user).includes(user.id), [assignment.results, user.id] ); return (