analytica-frontend-lib
Version:
Repositório público dos componentes utilizados nas plataformas da Analytica Ensino
1 lines • 3.03 kB
Source Map (JSON)
{"version":3,"sources":["../src/components/StudentLessonProgressModal/types.ts"],"sourcesContent":["/**\n * Status of lesson progress\n */\nexport type LessonProgressStatus = 'completed' | 'in_progress' | 'no_data';\n\n/**\n * Content item (deepest level - individual lessons)\n */\nexport interface ContentProgressItem {\n content: {\n id: string;\n name: string;\n };\n progress: number;\n isCompleted: boolean;\n}\n\n/**\n * Subtopic item with contents\n */\nexport interface SubtopicProgressItem {\n subtopic: {\n id: string;\n name: string;\n };\n progress: number;\n status: LessonProgressStatus;\n contents: ContentProgressItem[];\n}\n\n/**\n * Topic item with subtopics (top level)\n */\nexport interface TopicProgressItem {\n topic: {\n id: string;\n name: string;\n };\n progress: number;\n status: LessonProgressStatus;\n subtopics: SubtopicProgressItem[];\n}\n\n/**\n * Student lesson progress data structure\n * Matches backend GET /performance/student/:studentId response directly\n */\nexport interface StudentLessonProgressData {\n /** Student name */\n name: string;\n /** Overall completion rate percentage (0-100) */\n overallCompletionRate: number;\n /** Topic with best result */\n bestResult: string | null;\n /** Topic with biggest difficulty */\n biggestDifficulty: string | null;\n /** Lesson progress items by topic */\n lessonProgress: TopicProgressItem[];\n}\n\n/**\n * Customizable labels for the modal\n */\nexport interface StudentLessonProgressLabels {\n /** Modal title */\n title: string;\n /** Completion rate label */\n completionRateLabel: string;\n /** Best result label */\n bestResultLabel: string;\n /** Biggest difficulty label */\n biggestDifficultyLabel: string;\n /** Lesson progress section title */\n lessonProgressTitle: string;\n /** No data message */\n noDataMessage: string;\n /** Error message prefix */\n errorMessagePrefix: string;\n}\n\n/**\n * Default labels in Portuguese (pt-BR)\n */\nexport const DEFAULT_LESSON_PROGRESS_LABELS: StudentLessonProgressLabels = {\n title: 'Desempenho',\n completionRateLabel: 'CONCLUÍDO',\n bestResultLabel: 'MELHOR RESULTADO',\n biggestDifficultyLabel: 'MAIOR DIFICULDADE',\n lessonProgressTitle: 'Conclusão das aulas',\n noDataMessage: 'Sem dados ainda!',\n errorMessagePrefix: 'Erro ao carregar dados',\n};\n\n/**\n * Props for StudentLessonProgressModal component\n */\nexport interface StudentLessonProgressModalProps {\n /** Whether the modal is open */\n isOpen: boolean;\n /** Callback to close the modal */\n onClose: () => void;\n /** Student lesson progress data */\n data: StudentLessonProgressData | null;\n /** Loading state */\n loading?: boolean;\n /** Error message */\n error?: string | null;\n /** Custom labels */\n labels?: Partial<StudentLessonProgressLabels>;\n}\n"],"mappings":";AAmFO,IAAM,iCAA8D;AAAA,EACzE,OAAO;AAAA,EACP,qBAAqB;AAAA,EACrB,iBAAiB;AAAA,EACjB,wBAAwB;AAAA,EACxB,qBAAqB;AAAA,EACrB,eAAe;AAAA,EACf,oBAAoB;AACtB;","names":[]}