tudo sobre a memoria da ia, formatação, memória e conhecimento de pdfs, junto da inserção de pdfs
This commit is contained in:
@@ -7,6 +7,28 @@
|
||||
## [Unreleased]
|
||||
|
||||
### Added
|
||||
- **Teacher Materials Page (Upload Conteúdo)** - Nova tela dedicada para upload de materiais para a IA
|
||||
- Novo ficheiro: `lib/features/materials/presentation/pages/teacher_materials_page.dart`
|
||||
- Acedida através do card "Upload Conteúdo" no dashboard do professor (usando `Navigator.push`)
|
||||
- **Funcionalidades:**
|
||||
- Visualização de materiais já enviados via `StreamBuilder` do Firestore
|
||||
- Lista com ícones do tipo (PDF = vermelho, Imagem = azul)
|
||||
- Formato de data: dd/MM/yyyy HH:mm
|
||||
- Estados: loading, empty, error
|
||||
- **Upload de ficheiros:**
|
||||
- FloatingActionButton "Adicionar" com bottom sheet de opções
|
||||
- PDF: seleção via `file_selector` (packages: `file_selector: ^1.0.3`)
|
||||
- Imagem da Galeria: via `image_picker` (ImageSource.gallery)
|
||||
- Foto da Câmara: via `image_picker` (ImageSource.camera)
|
||||
- **Firebase Integration:**
|
||||
- Upload para Firebase Storage: `materials/{teacherId}/{timestamp}_{filename}`
|
||||
- Documento Firestore na coleção `materials` com campos: `teacherId`, `fileName`, `fileUrl`, `type`, `createdAt`, `storagePath`
|
||||
- Query filtrada por `teacherId` e ordenada por `createdAt` descendente
|
||||
- **UX:**
|
||||
- Snackbars de feedback (sucesso verde, erro vermelho)
|
||||
- Loading indicator no FAB durante upload
|
||||
- Design consistente com o dashboard (AppBar teal #82C9BD, gradiente)
|
||||
|
||||
- **Student Classes List (ETAPA 5)** - Students can now view their enrolled classes on the home page
|
||||
- New `StudentClassesListWidget` at `/lib/features/dashboard/presentation/widgets/student_classes_list_widget.dart`
|
||||
- Query: `.collection('enrollments').where('studentId', isEqualTo: currentUser.uid).orderBy('joinedAt', descending: true)`
|
||||
|
||||
Reference in New Issue
Block a user