CTK 1.0.2

This commit is contained in:
Carlos Correia
2026-07-15 17:46:14 +01:00
parent 9c21887fc7
commit 3214a07779
9 changed files with 211 additions and 150 deletions

View File

@@ -82,6 +82,7 @@ class QuizQuestionScreen extends StatefulWidget {
this.suggestedVideoTitle,
this.fallbackColor,
this.answerImageAspectRatio,
this.correctBadgeLabel = 'Posição certa',
});
final String title;
@@ -115,6 +116,11 @@ class QuizQuestionScreen extends StatefulWidget {
/// imagem colapsar, mostra-se um bloco colorido com o ícone da app.
final Color? fallbackColor;
/// Texto do selo mostrado sobre a imagem certa ao revelar a resposta —
/// customizável por pergunta (ex.: "Posição saudável" em vez do genérico
/// "Posição certa", quando faz mais sentido para o contexto da pergunta).
final String correctBadgeLabel;
@override
State<QuizQuestionScreen> createState() => _QuizQuestionScreenState();
}
@@ -445,6 +451,8 @@ class _QuizQuestionScreenState extends State<QuizQuestionScreen> {
? 2.3
: 1.5),
reveal: _revealed,
correctLabel: widget
.correctBadgeLabel,
onTap: _revealed
? null
: () =>
@@ -820,6 +828,7 @@ class _QuizAnswerTile extends StatelessWidget {
required this.onTap,
this.imageAspectRatio = 4 / 3,
this.reveal = false,
this.correctLabel = 'Posição certa',
});
final QuizAnswer answer;
@@ -831,6 +840,10 @@ class _QuizAnswerTile extends StatelessWidget {
/// errada — ver [_QuizQuestionScreenState._revealed].
final bool reveal;
/// Texto do selo quando [isCorrect] — customizável por pergunta (ex.:
/// "Posição saudável" em vez do genérico "Posição certa").
final String correctLabel;
@override
Widget build(BuildContext context) {
final bool isCorrect = answer.weight == 1;
@@ -991,7 +1004,7 @@ class _QuizAnswerTile extends StatelessWidget {
),
const SizedBox(width: 4),
Text(
isCorrect ? 'Resposta certa' : 'Resposta inadequada',
isCorrect ? correctLabel : 'Posição inadequada',
style: const TextStyle(
color: Colors.white,
fontWeight: FontWeight.w800,