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 router = useRouter() const hasBeenSubmitted = useMemo(() => assignment.results.map((r) => r.user).includes(user.id), [assignment.results, user.id]) return (