import type { Grade, Subject } from "~/types/api"; import { formatGrade } from "~/utils/gradeCalculations"; interface GradeTableProps { grades: Grade[]; subject?: Subject; onEdit?: (grade: Grade) => void; onDelete?: (gradeId: string) => void; deletingGradeId?: string | null; } export function GradeTable({ grades, subject, onEdit, onDelete, deletingGradeId }: GradeTableProps) { if (grades.length === 0) { return (
| Date | Name | Category | Grade | Percentage | Weight | Actions |
|---|---|---|---|---|---|---|
| {new Date(grade.date).toLocaleDateString()} |
{grade.name || "Unnamed"}
{grade.notes && (
{grade.notes}
)}
|
{grade.category_name} | {grade.grade} / {grade.max_grade} | {formatGrade(percentage)}% | {grade.weight_in_category}x |
{onEdit && (
)}
{onDelete && (
)}
|