gerenciamento e criação de turmas junto de correções na tela de professores

This commit is contained in:
2026-05-10 18:23:32 +01:00
parent 0f382e970b
commit 8e88ad4586
5 changed files with 507 additions and 18 deletions

View File

@@ -6,6 +6,47 @@
## [Unreleased]
### Added
- **Class Creation Feature (ETAPA 1)** - Teachers can now create classes from the dashboard
- New "Criar Turma" button in Teacher Dashboard Quick Actions
- Simple dialog interface for entering class name
- Automatic generation of 6-character unique class codes (A-Z, 0-9)
- Firestore integration saving class data (name, teacherId, code, timestamp)
- Visual feedback with loading indicator and success/error messages
- **Classes List Display (ETAPA 2)** - Teachers can now view their created classes
- New "As Minhas Turmas" section in Teacher Dashboard
- Real-time StreamBuilder to fetch classes from Firestore
- **CORREÇÃO**: O erro anterior foi tentar usar `GridView` horizontal para um layout que exige colunas fixas
- **SOLUÇÃO**: Usar `ListView.builder` com `scrollDirection: Axis.horizontal`
- Cada item do ListView é uma `Column` contendo 2 cards (índice * 2 e índice * 2 + 1)
- Cards mantêm exatamente o mesmo tamanho e estilo da lista vertical original
- Layout: Card 1, 3, 5... (top row) | Card 2, 4, 6... (bottom row)
- Scroll horizontal para visualizar todas as turmas
- Visual cards showing class name and access code
- Empty state message when no classes exist
- Loading state with CircularProgressIndicator
### Fixed
- **Unified Quick Action Cards Text Style**
- "Upload Conteúdo" and "Criar Quiz" cards now match "Criar Turma" text alignment
- All cards use `Column` with `crossAxisAlignment: CrossAxisAlignment.start` for text section
- Subtitle text supports 2 lines with `maxLines: 2` and `height: 1.2`
- Consistent typography: title fontSize 16, subtitle fontSize 12
- "Criar Quiz" subtitle changed to "Avaliações interativas"
- **Pixel Overflow in Classes List Widget**
- **Causa**: Tentativa de usar `GridView` horizontal para layout de colunas fixas
- **Solução**: Substituir por `ListView.builder` com `scrollDirection: Axis.horizontal`
- Cada item do ListView é uma `Column` com 2 cards (índice * 2 e índice * 2 + 1)
- Cards mantêm tamanho original da lista vertical (sem constraints artificiais)
- Altura do SizedBox: 280 pixels (suficiente para 2 cards + spacing)
- **Pixel Overflow in Teacher Dashboard Cards**
- Replaced fixed height constraints with flexible `BoxConstraints(minHeight: 135, maxHeight: 160)`
- Fixed overflow issues in "Upload Conteúdo" and "Criar Turma" cards
- Cards now properly adapt to different screen sizes and content
### Planned Features
- Voice interaction capabilities
- Advanced analytics dashboard