feat(frontend): add restitution result screen (completes student flow)
This commit is contained in:
@@ -2,9 +2,11 @@ import "package:flutter/material.dart";
|
||||
import "package:google_fonts/google_fonts.dart";
|
||||
import "../theme/ensup_colors.dart";
|
||||
import "../models/emprunt_item.dart";
|
||||
import "../models/anomalie_retour.dart";
|
||||
import "../widgets/ensup_top_bar.dart";
|
||||
import "../widgets/brand_corners.dart";
|
||||
import "../widgets/etat_checklist.dart";
|
||||
import "resultat_retour_screen.dart";
|
||||
|
||||
/// Checklist de retour (RG16) : l'étudiant indique l'état de chaque accessoire
|
||||
/// au retour, en vue de la comparaison avec la checklist de départ.
|
||||
@@ -24,8 +26,20 @@ class _ChecklistRetourScreenState extends State<ChecklistRetourScreen> {
|
||||
);
|
||||
|
||||
void _valider() {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
const SnackBar(content: Text("Résultat de la restitution — écran à venir")),
|
||||
final accessoires = widget.emprunt.materiel.accessoires;
|
||||
final anomalies = <AnomalieRetour>[];
|
||||
for (var i = 0; i < _etats.length; i++) {
|
||||
if (_etats[i] == EtatChecklist.absent) {
|
||||
anomalies.add(AnomalieRetour(element: accessoires[i], etatRetour: "Absent au retour"));
|
||||
} else if (_etats[i] == EtatChecklist.deteriore) {
|
||||
anomalies.add(AnomalieRetour(element: accessoires[i], etatRetour: "Détérioré au retour"));
|
||||
}
|
||||
}
|
||||
|
||||
Navigator.of(context).push(
|
||||
MaterialPageRoute(
|
||||
builder: (_) => ResultatRetourScreen(emprunt: widget.emprunt, anomalies: anomalies),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user