Relatório EBD (criar sessão / preencher classe)
Relatório EBD (criar sessão / preencher classe)
Section titled “Relatório EBD (criar sessão / preencher classe)”Implementação: frontend/lib/presentation/modules/ebd_report/ebd_report_page.dart — widget EbdReportPage, modos EbdReportMode.sessionSetup e EbdReportMode.classFill.
Regras: PRD-0003, TDD architecture/tdd/ebd-report/tdd-relatorio-ebd.md, ADR-0007, ADR-0024.
Pré-visualização — preencher classe
Section titled “Pré-visualização — preencher classe”Ficheiros em public/ui-mockups/ + estilos partilhados mock-base.css (cor de destaque alinhada ao tema da documentação).
Pré-visualização — criar sessão
Section titled “Pré-visualização — criar sessão”Referência rápida (estrutura)
Section titled “Referência rápida (estrutura)”Comum aos modos
Section titled “Comum aos modos”- AppBar — voltar + título do modo.
- Texto introdutório.
- Card — Igreja (somente leitura), Data (
EbdReportDateSelector, só domingos no app), erro opcional, botão Carregar sessao / Criar/abrir sessao. - Após carregar: conteúdo específico do modo + botão Salvar.
Modo classFill
Section titled “Modo classFill”Classe vinculada → descrição → professor / assistentes (com regras de vínculo) → bloco de adesão se não vinculado → LessonFormCard (showAssignmentFields: false) → Salvar preenchimento da classe.
Modo sessionSetup
Section titled “Modo sessionSetup”EbdSessionFormWidget (dados da sessão + responsáveis) → LessonListEditor (checkboxes das classes) → Salvar sessao.
Componentes filhos
Section titled “Componentes filhos”| Componente | Ficheiro |
|---|---|
EbdReportDateSelector | widgets/ebd_report_date_selector.dart |
EbdSessionFormWidget | widgets/ebd_session_form_widget.dart |
LessonListEditor | widgets/lesson_list_editor.dart |
LessonFormCard | widgets/lesson_form_card.dart |
Incorporar o app real (opcional)
Section titled “Incorporar o app real (opcional)”Para um iframe com o Flutter Web a correr (ex.: http://localhost:xxxxx), use o mesmo padrão de ui-mockup-frame noutra página interna ou em ambiente de equipa — não versionar URL local fixa no repositório; prefira variável de ambiente ou documentação do comando flutter run -d chrome.