import type { DashboardHomeShellData } from "../shared/dashboard-types";

export type TeacherClassroomDetailStudentItem = {
	id: number;
	name: string;
	email: string;
	initials: string;
	statusLabel: string;
	redoCountLabel: string;
	combinedScoreLabel: string;
	note: string;
	href: string;
	selected: boolean;
	endangeredRank: 1 | 2 | 3 | null;
};

export type TeacherClassroomRedoAssignmentItem = {
	id: number;
	title: string;
	statusLabel: string;
	statusTone: "review" | "progress" | "muted" | "success";
	dueLabel: string;
	progressLabel: string;
	nextStepLabel: string;
	note: string;
	href: string;
};

export type TeacherClassroomDetailData = {
	shell: DashboardHomeShellData;
	classroom: {
		id: number;
		name: string;
		description: string;
		codeLabel: string;
		stats: Array<{ label: string; value: string; note: string }>;
	};
	students: {
		title: string;
		description: string;
		items: TeacherClassroomDetailStudentItem[];
	};
	selectedStudent: {
		id: number | null;
		name: string | null;
		email: string | null;
		note: string;
	};
	redoAssignments: {
		title: string;
		description: string;
		items: TeacherClassroomRedoAssignmentItem[];
	};
};
