Atulização do quiz | Porcentagem na base de dados | Telas de Contrato com o usuario

This commit is contained in:
Carlos Correia
2026-07-13 22:28:01 +01:00
parent 824fdb8089
commit 4fcf3a475a
23 changed files with 2061 additions and 369 deletions

View File

@@ -6,6 +6,9 @@ import '../widgets/app_gradients.dart';
import '../widgets/entrance.dart';
import '../widgets/tap_bounce.dart';
import 'quiz_prefs.dart';
import 'quiz_video_guide.dart';
const String _resultGuideYoutubeId = '3q7C7txH1dE';
class QuizResultScreen extends StatefulWidget {
const QuizResultScreen({
@@ -71,10 +74,11 @@ class _QuizResultScreenState extends State<QuizResultScreen> {
.update({
'last_score': widget.finalScore,
'last_max_score': widget.maxScore,
'last_quiz_at': DateTime.now().toIso8601String(),
})
.eq('id', childId)
.catchError((_) {}),
.catchError((e) {
debugPrint('[QuizResult] Falha ao gravar score na base de dados: $e');
}),
);
}
}
@@ -113,6 +117,13 @@ class _QuizResultScreenState extends State<QuizResultScreen> {
children: [
const SizedBox(height: 6),
FadeSlideIn(
child: const QuizGuideVideoCard(
youtubeId: _resultGuideYoutubeId,
),
),
const SizedBox(height: 22),
FadeSlideIn(
delay: const Duration(milliseconds: 60),
child: const Text(
'A percentagem de risco\navaliada é de:',
textAlign: TextAlign.center,