UNPKG

analytica-frontend-lib

Version:

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

109 lines 2.67 kB
import { ScoreType } from '../../types/common'; /** * Performance data for a knowledge area */ export interface AreaKnowledgePerformance { id: string; name: string; urlCover: string | null; /** Icon identifier from backend */ icon: string; /** Hex color from backend (e.g., "#4B0082") */ color: string; percentage: number; questionsTotal: number; questionsCorrect: number; /** All IDs when areas with same name are merged (for multi-school scenarios) */ relatedIds?: string[]; } /** * Performance data for essays (Redação) */ export interface EssayPerformance { name: string; /** Hex color from backend (e.g., "#F43F5E") */ color: string; /** Icon identifier from backend */ icon: string; percentage: number; totalEssays: number; totalStudents: number; } /** * Main general overview data structure */ export interface GeneralOverviewData { overallPercentage: number; totalQuestions: number; totalCorrect: number; areas: AreaKnowledgePerformance[]; essay?: EssayPerformance; } /** * Subject item with icon and color info * Used to determine area card styling */ export interface SubjectItem { id: string; name: string; color: string; icon: string; areaKnowledgeId: string; } /** * Request parameters for general overview */ export interface GeneralOverviewParams { period: string; schoolIds?: string[]; schoolYearIds?: string[]; classIds?: string[]; studentsIds?: string[]; scoreType?: ScoreType; } /** * API response structure */ export interface GeneralOverviewApiResponse { message: string; data: GeneralOverviewData; } /** * Hook internal state */ export interface UseGeneralOverviewState { data: GeneralOverviewData | null; loading: boolean; isRefreshing: boolean; error: string | null; } /** * Hook return type */ export interface UseGeneralOverviewReturn extends UseGeneralOverviewState { fetchOverview: (params: GeneralOverviewParams, refresh?: boolean) => Promise<void>; reset: () => void; } /** * Props for GeneralOverviewSection component */ export interface GeneralOverviewSectionProps { /** Overview data to display */ data: GeneralOverviewData | null; /** Loading state */ loading?: boolean; /** Error message */ error?: string | null; /** Score display type (percentage or TRI) */ scoreType?: ScoreType; } /** * Labels for GeneralOverviewSection */ export interface GeneralOverviewLabels { title?: string; description?: string; loadingText?: string; errorText?: string; } //# sourceMappingURL=types.d.ts.map