import MarkdownDisplay from "@/components/MarkdownDisplay"; import { LocalAssignment } from "@/features/local/assignments/models/localAssignment"; import { rubricItemIsExtraCredit } from "@/features/local/assignments/models/rubricItem"; import { assignmentPoints } from "@/features/local/assignments/models/utils/assignmentPointsUtils"; import { formatHumanReadableDate } from "@/services/utils/dateFormat"; import React, { Fragment } from "react"; export default function AssignmentPreview({ assignment, }: { assignment: LocalAssignment; }) { const totalPoints = assignmentPoints(assignment.rubric); const extraPoints = assignment.rubric.reduce( (sum, cur) => (rubricItemIsExtraCredit(cur) ? sum + cur.points : sum), 0 ); return (
Due Date
{formatHumanReadableDate(assignment.dueAt)}
Lock Date
{assignment.lockAt && formatHumanReadableDate(assignment.lockAt)}
Assignment Group Name
{assignment.localAssignmentGroupName}
Submission Types
    {assignment.submissionTypes.map((t) => (
  • {t}
  • ))}
File Upload Types
    {assignment.allowedFileUploadExtensions.map((t) => (
  • {t}
  • ))}




Rubric - {totalPoints} Points

{extraPoints !== 0 && (
{extraPoints} Extra Credit Points
)}
{assignment.rubric.map((rubricItem, i) => (
{rubricItemIsExtraCredit(rubricItem) ? "Extra Credit" : ""}
{rubricItem.points}
{rubricItem.label}
))}
); }