UNPKG

analytica-frontend-lib

Version:

Repositório público dos componentes utilizados nas plataformas da Analytica Ensino

115 lines 2.86 kB
/** * Activity Details Types * Types and helper functions for activity details components */ /** * Student activity status enum */ export declare const STUDENT_ACTIVITY_STATUS: { readonly CONCLUIDO: "CONCLUIDO"; readonly AGUARDANDO_CORRECAO: "AGUARDANDO_CORRECAO"; readonly AGUARDANDO_RESPOSTA: "AGUARDANDO_RESPOSTA"; readonly NAO_ENTREGUE: "NAO_ENTREGUE"; }; export type StudentActivityStatus = (typeof STUDENT_ACTIVITY_STATUS)[keyof typeof STUDENT_ACTIVITY_STATUS]; /** * Student data interface */ export interface ActivityStudentData { studentId: string; studentName: string; answeredAt: string | null; timeSpent: number; score: number | null; status: StudentActivityStatus; } /** * Pagination interface */ export interface Pagination { total: number; page: number; limit: number; totalPages: number; hasNext?: boolean; hasPrev?: boolean; } /** * General statistics interface */ export interface GeneralStats { averageScore: number; completionPercentage: number; } /** * Question statistics interface */ export interface QuestionStats { mostCorrect: number[]; mostIncorrect: number[]; notAnswered: number[]; } /** * Activity metadata interface */ export interface ActivityMetadata { id: string; title: string; startDate: string | null; finalDate: string | null; schoolName: string; year: string; subjectName: string; className: string; } /** * Activity details data interface */ export interface ActivityDetailsData { activity?: ActivityMetadata; students: ActivityStudentData[]; pagination: Pagination; generalStats: GeneralStats; questionStats: QuestionStats; } /** * Activity details query params interface */ export interface ActivityDetailsQueryParams { page?: number; limit?: number; sortBy?: 'name' | 'score' | 'answeredAt'; sortOrder?: 'asc' | 'desc'; status?: StudentActivityStatus; } /** * Activity student table item interface */ export interface ActivityStudentTableItem extends Record<string, unknown> { id: string; studentId: string; studentName: string; status: StudentActivityStatus; answeredAt: string | null; timeSpent: number; score: number | null; } /** * Status badge configuration interface */ export interface StatusBadgeConfig { label: string; bgColor: string; textColor: string; } /** * Activity availability status enum * Used to determine if an activity is available based on start/end dates */ export declare const ACTIVITY_AVAILABILITY: { readonly DISPONIVEL: "DISPONIVEL"; readonly NAO_INICIADA: "NAO_INICIADA"; readonly EXPIRADA: "EXPIRADA"; }; export type ActivityAvailability = (typeof ACTIVITY_AVAILABILITY)[keyof typeof ACTIVITY_AVAILABILITY]; //# sourceMappingURL=activityDetails.d.ts.map