CKT String|Colors

This commit is contained in:
Carlos Correia
2026-07-15 19:13:15 +01:00
parent 3214a07779
commit a8af2c6845
35 changed files with 1390 additions and 688 deletions

View File

@@ -1,4 +1,7 @@
import 'package:flutter/material.dart';
import '../colors/app_colors.dart';
import '../strings/quiz_strings.dart';
import '../strings/quiz_ui_strings.dart';
import 'quiz_checklist_screen.dart';
import 'quiz_question_screen.dart';
@@ -56,11 +59,11 @@ Route<void> quizPageRoute({required WidgetBuilder builder}) {
Route<void> quizStartRoute({String? scopeId}) {
return quizPageRoute(
builder: (_) => QuizChecklistScreen(
heading: 'Vamos ajudá-lo/a a compreender:',
heading: QuizStrings.checklistHeading,
items: const [
'Sinais de alerta podem passar despercebidos',
'Prevenir é melhor do que tratar',
'Quando deve procurar um dentista (urgência vs vigilância)',
QuizStrings.checklistItem1,
QuizStrings.checklistItem2,
QuizStrings.checklistItem3,
],
onAdvance: (context) => Navigator.of(context).pushReplacement(
quizPageRoute(builder: (_) => Quiz1Screen(scopeId: scopeId)),
@@ -83,25 +86,25 @@ class Quiz1Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 1/29',
fallbackColor: const Color(0xFFFF55A7),
question: 'O seu filho/a tem problemas respiratórios diagnosticados?',
title: QuizUiStrings.quizProgress(1, 29),
fallbackColor: AppColors.pink,
question: QuizStrings.q1Question,
answers: const [
QuizAnswer(
title: 'Sim',
description: 'Problemas respiratórios diagnosticados',
title: QuizStrings.yes,
description: QuizStrings.q1YesDescription,
weight: 2,
value: 'sim',
),
QuizAnswer(
title: 'Não',
description: 'Sem problemas respiratórios diagnosticados',
title: QuizStrings.no,
description: QuizStrings.q1NoDescription,
weight: 1,
value: 'nao',
),
QuizAnswer(
title: 'Não sei',
description: 'Não tenho a certeza',
title: QuizStrings.dontKnow,
description: QuizStrings.dontKnowDescription,
weight: 1,
value: 'nao_sei',
helpVideoId: 6,
@@ -127,25 +130,25 @@ class Quiz2Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 2/29',
fallbackColor: const Color(0xFF2F9E94),
question: 'O seu filho/a respira habitualmente pela boca?',
title: QuizUiStrings.quizProgress(2, 29),
fallbackColor: AppColors.teal,
question: QuizStrings.q2Question,
answers: const [
QuizAnswer(
title: 'Sim',
description: 'Respira habitualmente pela boca',
title: QuizStrings.yes,
description: QuizStrings.q2YesDescription,
weight: 2,
value: 'sim',
),
QuizAnswer(
title: 'Não',
description: 'Não respira habitualmente pela boca',
title: QuizStrings.no,
description: QuizStrings.q2NoDescription,
weight: 1,
value: 'nao',
),
QuizAnswer(
title: 'Não sei',
description: 'Não tenho a certeza',
title: QuizStrings.dontKnow,
description: QuizStrings.dontKnowDescription,
weight: 1,
value: 'nao_sei',
helpVideoId: 10,
@@ -171,25 +174,25 @@ class Quiz3Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 3/29',
fallbackColor: const Color(0xFFFF55A7),
question: 'O seu filho/a ressona habitualmente durante a noite?',
title: QuizUiStrings.quizProgress(3, 29),
fallbackColor: AppColors.pink,
question: QuizStrings.q3Question,
answers: const [
QuizAnswer(
title: 'Sim',
description: 'Ressonar habitualmente durante a noite',
title: QuizStrings.yes,
description: QuizStrings.q3YesDescription,
weight: 2,
value: 'sim',
),
QuizAnswer(
title: 'Não',
description: 'Não ressona habitualmente',
title: QuizStrings.no,
description: QuizStrings.q3NoDescription,
weight: 1,
value: 'nao',
),
QuizAnswer(
title: 'Não sei',
description: 'Não tenho a certeza',
title: QuizStrings.dontKnow,
description: QuizStrings.dontKnowDescription,
weight: 1,
value: 'nao_sei',
helpVideoId: 8,
@@ -215,25 +218,25 @@ class Quiz4Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 4/29',
fallbackColor: const Color(0xFFFF55A7),
question: 'O seu filho/a sente habitualmente o nariz "tapado"?',
title: QuizUiStrings.quizProgress(4, 29),
fallbackColor: AppColors.pink,
question: QuizStrings.q4Question,
answers: const [
QuizAnswer(
title: 'Sim',
description: 'Sente habitualmente o nariz tapado',
title: QuizStrings.yes,
description: QuizStrings.q4YesDescription,
weight: 2,
value: 'sim',
),
QuizAnswer(
title: 'Não',
description: 'Não sente habitualmente o nariz tapado',
title: QuizStrings.no,
description: QuizStrings.q4NoDescription,
weight: 1,
value: 'nao',
),
QuizAnswer(
title: 'Não sei',
description: 'Não tenho a certeza',
title: QuizStrings.dontKnow,
description: QuizStrings.dontKnowDescription,
weight: 1,
value: 'nao_sei',
helpVideoId: 1,
@@ -259,27 +262,25 @@ class Quiz5Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 5/29',
fallbackColor: const Color(0xFFFF55A7),
question:
'Durante o sono, o seu filho/a tem habitualmente interrupções da respiração?',
title: QuizUiStrings.quizProgress(5, 29),
fallbackColor: AppColors.pink,
question: QuizStrings.q5Question,
answers: const [
QuizAnswer(
title: 'Sim',
description:
'Tem habitualmente interrupções da respiração durante o sono',
title: QuizStrings.yes,
description: QuizStrings.q5YesDescription,
weight: 2,
value: 'sim',
),
QuizAnswer(
title: 'Não',
description: 'Não tem interrupções da respiração durante o sono',
title: QuizStrings.no,
description: QuizStrings.q5NoDescription,
weight: 1,
value: 'nao',
),
QuizAnswer(
title: 'Não sei',
description: 'Não tenho a certeza',
title: QuizStrings.dontKnow,
description: QuizStrings.dontKnowDescription,
weight: 1,
value: 'nao_sei',
helpVideoId: 7,
@@ -305,19 +306,19 @@ class Quiz6Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 6/29',
fallbackColor: const Color(0xFF2F9E94),
question: 'O seu filho/a range os dentes com frequência?',
title: QuizUiStrings.quizProgress(6, 29),
fallbackColor: AppColors.teal,
question: QuizStrings.q6Question,
answers: const [
QuizAnswer(
title: 'Sim',
description: 'Range os dentes com frequência',
title: QuizStrings.yes,
description: QuizStrings.q6YesDescription,
weight: 2,
value: 'sim',
),
QuizAnswer(
title: 'Não',
description: 'Não range os dentes com frequência',
title: QuizStrings.no,
description: QuizStrings.q6NoDescription,
weight: 1,
value: 'nao',
),
@@ -342,25 +343,25 @@ class Quiz7Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 7/29',
fallbackColor: const Color(0xFFFF55A7),
question: 'O seu filho/a habitualmente tem alergias sazonais?',
title: QuizUiStrings.quizProgress(7, 29),
fallbackColor: AppColors.pink,
question: QuizStrings.q7Question,
answers: const [
QuizAnswer(
title: 'Sim',
description: 'Habitualmente tem alergias sazonais',
title: QuizStrings.yes,
description: QuizStrings.q7YesDescription,
weight: 2,
value: 'sim',
),
QuizAnswer(
title: 'Não',
description: 'Não tem alergias sazonais',
title: QuizStrings.no,
description: QuizStrings.q7NoDescription,
weight: 1,
value: 'nao',
),
QuizAnswer(
title: 'Não sei',
description: 'Não tenho a certeza',
title: QuizStrings.dontKnow,
description: QuizStrings.dontKnowDescription,
weight: 1,
value: 'nao_sei',
helpVideoId: 2,
@@ -386,25 +387,25 @@ class Quiz8Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 8/29',
fallbackColor: const Color(0xFFFF55A7),
question: 'O seu filho/a acorda com saliva seca na cara ou na almofada?',
title: QuizUiStrings.quizProgress(8, 29),
fallbackColor: AppColors.pink,
question: QuizStrings.q8Question,
answers: const [
QuizAnswer(
title: 'Sim',
description: 'Acorda com saliva seca na cara ou na almofada',
title: QuizStrings.yes,
description: QuizStrings.q8YesDescription,
weight: 2,
value: 'sim',
),
QuizAnswer(
title: 'Não',
description: 'Não acorda com saliva seca',
title: QuizStrings.no,
description: QuizStrings.q8NoDescription,
weight: 1,
value: 'nao',
),
QuizAnswer(
title: 'Não sei',
description: 'Não tenho a certeza',
title: QuizStrings.dontKnow,
description: QuizStrings.dontKnowDescription,
weight: 1,
value: 'nao_sei',
helpVideoId: 9,
@@ -430,25 +431,25 @@ class Quiz9Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 9/29',
fallbackColor: const Color(0xFF2F9E94),
question: 'O seu filho/a teve ou costuma ter com frequência otites?',
title: QuizUiStrings.quizProgress(9, 29),
fallbackColor: AppColors.teal,
question: QuizStrings.q9Question,
answers: const [
QuizAnswer(
title: 'Sim',
description: 'Teve ou costuma ter com frequência otites',
title: QuizStrings.yes,
description: QuizStrings.q9YesDescription,
weight: 2,
value: 'sim',
),
QuizAnswer(
title: 'Não',
description: 'Não teve ou não costuma ter otites',
title: QuizStrings.no,
description: QuizStrings.q9NoDescription,
weight: 1,
value: 'nao',
),
QuizAnswer(
title: 'Não sei',
description: 'Não tenho a certeza',
title: QuizStrings.dontKnow,
description: QuizStrings.dontKnowDescription,
weight: 1,
value: 'nao_sei',
helpVideoId: 3,
@@ -474,25 +475,25 @@ class Quiz10Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 10/29',
fallbackColor: const Color(0xFFFF55A7),
question: 'O seu filho/a teve ou costuma ter com frequência amigdalites?',
title: QuizUiStrings.quizProgress(10, 29),
fallbackColor: AppColors.pink,
question: QuizStrings.q10Question,
answers: const [
QuizAnswer(
title: 'Sim',
description: 'Teve ou costuma ter com frequência amigdalites',
title: QuizStrings.yes,
description: QuizStrings.q10YesDescription,
weight: 2,
value: 'sim',
),
QuizAnswer(
title: 'Não',
description: 'Não teve ou não costuma ter amigdalites',
title: QuizStrings.no,
description: QuizStrings.q10NoDescription,
weight: 1,
value: 'nao',
),
QuizAnswer(
title: 'Não sei',
description: 'Não tenho a certeza',
title: QuizStrings.dontKnow,
description: QuizStrings.dontKnowDescription,
weight: 1,
value: 'nao_sei',
helpVideoId: 4,
@@ -518,26 +519,25 @@ class Quiz11Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 11/29',
fallbackColor: const Color(0xFF2F9E94),
question:
'O seu filho/a teve ou costuma ter com frequência bronquiolites?',
title: QuizUiStrings.quizProgress(11, 29),
fallbackColor: AppColors.teal,
question: QuizStrings.q11Question,
answers: const [
QuizAnswer(
title: 'Sim',
description: 'Teve ou costuma ter com frequência bronquiolites',
title: QuizStrings.yes,
description: QuizStrings.q11YesDescription,
weight: 2,
value: 'sim',
),
QuizAnswer(
title: 'Não',
description: 'Não teve ou não costuma ter bronquiolites',
title: QuizStrings.no,
description: QuizStrings.q11NoDescription,
weight: 1,
value: 'nao',
),
QuizAnswer(
title: 'Não sei',
description: 'Não tenho a certeza',
title: QuizStrings.dontKnow,
description: QuizStrings.dontKnowDescription,
weight: 1,
value: 'nao_sei',
helpVideoId: 5,
@@ -563,19 +563,19 @@ class Quiz12Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 12/29',
fallbackColor: const Color(0xFFFF55A7),
question: 'O seu filho/a apresenta dificuldades a mastigar?',
title: QuizUiStrings.quizProgress(12, 29),
fallbackColor: AppColors.pink,
question: QuizStrings.q12Question,
answers: const [
QuizAnswer(
title: 'Sim',
description: 'Apresenta dificuldades a mastigar',
title: QuizStrings.yes,
description: QuizStrings.q12YesDescription,
weight: 2,
value: 'sim',
),
QuizAnswer(
title: 'Não',
description: 'Não apresenta dificuldades a mastigar',
title: QuizStrings.no,
description: QuizStrings.q12NoDescription,
weight: 1,
value: 'nao',
),
@@ -600,19 +600,19 @@ class Quiz13Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 13/29',
fallbackColor: const Color(0xFF2F9E94),
question: 'O seu filho/a habitualmente é lento a comer?',
title: QuizUiStrings.quizProgress(13, 29),
fallbackColor: AppColors.teal,
question: QuizStrings.q13Question,
answers: const [
QuizAnswer(
title: 'Sim',
description: 'Habitualmente é lento a comer',
title: QuizStrings.yes,
description: QuizStrings.q13YesDescription,
weight: 2,
value: 'sim',
),
QuizAnswer(
title: 'Não',
description: 'Não é lento a comer',
title: QuizStrings.no,
description: QuizStrings.q13NoDescription,
weight: 1,
value: 'nao',
),
@@ -637,19 +637,19 @@ class Quiz14Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 14/29',
fallbackColor: const Color(0xFFFF55A7),
question: 'O seu filho/a habitualmente prefere comer alimentos moles?',
title: QuizUiStrings.quizProgress(14, 29),
fallbackColor: AppColors.pink,
question: QuizStrings.q14Question,
answers: const [
QuizAnswer(
title: 'Sim',
description: 'Habitualmente prefere comer alimentos moles',
title: QuizStrings.yes,
description: QuizStrings.q14YesDescription,
weight: 2,
value: 'sim',
),
QuizAnswer(
title: 'Não',
description: 'Não prefere alimentos moles',
title: QuizStrings.no,
description: QuizStrings.q14NoDescription,
weight: 1,
value: 'nao',
),
@@ -674,25 +674,25 @@ class Quiz15Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 15/29',
fallbackColor: const Color(0xFFFF55A7),
question: 'Em bebé apenas foi alimentado por biberão?',
title: QuizUiStrings.quizProgress(15, 29),
fallbackColor: AppColors.pink,
question: QuizStrings.q15Question,
answers: const [
QuizAnswer(
title: 'Sim',
description: 'Em bebé apenas foi alimentado por biberão',
title: QuizStrings.yes,
description: QuizStrings.q15YesDescription,
weight: 2,
value: 'sim',
),
QuizAnswer(
title: 'Não',
description: 'Não foi apenas alimentado por biberão',
title: QuizStrings.no,
description: QuizStrings.q15NoDescription,
weight: 1,
value: 'nao',
),
QuizAnswer(
title: 'Não sei',
description: 'Não tenho a certeza',
title: QuizStrings.dontKnow,
description: QuizStrings.dontKnowDescription,
weight: 1,
value: 'nao_sei',
helpVideoId: 11,
@@ -718,25 +718,25 @@ class Quiz16Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 16/29',
fallbackColor: const Color(0xFF2F9E94),
question: 'O seu filho/a usa ou usou chupeta com frequência?',
title: QuizUiStrings.quizProgress(16, 29),
fallbackColor: AppColors.teal,
question: QuizStrings.q16Question,
answers: const [
QuizAnswer(
title: 'Sim',
description: 'Usa ou usou chupeta com frequência',
title: QuizStrings.yes,
description: QuizStrings.q16YesDescription,
weight: 2,
value: 'sim',
),
QuizAnswer(
title: 'Não',
description: 'Não usa ou não usou chupeta com frequência',
title: QuizStrings.no,
description: QuizStrings.q16NoDescription,
weight: 1,
value: 'nao',
),
QuizAnswer(
title: 'Não sei',
description: 'Não tenho a certeza',
title: QuizStrings.dontKnow,
description: QuizStrings.dontKnowDescription,
weight: 1,
value: 'nao_sei',
helpVideoId: 12,
@@ -762,25 +762,25 @@ class Quiz17Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 17/29',
fallbackColor: const Color(0xFFFF55A7),
question: 'O seu filho/a chucha ou já chuchou o dedo com frequência?',
title: QuizUiStrings.quizProgress(17, 29),
fallbackColor: AppColors.pink,
question: QuizStrings.q17Question,
answers: const [
QuizAnswer(
title: 'Sim',
description: 'Chucha ou já chuchou o dedo com frequência',
title: QuizStrings.yes,
description: QuizStrings.q17YesDescription,
weight: 2,
value: 'sim',
),
QuizAnswer(
title: 'Não',
description: 'Não chucha ou não chuchou o dedo com frequência',
title: QuizStrings.no,
description: QuizStrings.q17NoDescription,
weight: 1,
value: 'nao',
),
QuizAnswer(
title: 'Não sei',
description: 'Não tenho a certeza',
title: QuizStrings.dontKnow,
description: QuizStrings.dontKnowDescription,
weight: 1,
value: 'nao_sei',
helpVideoId: 13,
@@ -814,23 +814,22 @@ class Quiz18Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 18/29',
fallbackColor: const Color(0xFFFF55A7),
title: QuizUiStrings.quizProgress(18, 29),
fallbackColor: AppColors.pink,
answerImageAspectRatio: 1.5,
question:
'Qual das seguintes imagens é mais parecida com a postura do seu filho/a?',
question: QuizStrings.q18Question,
answers: const [
QuizAnswer(
title: 'Postura inadequada',
description: 'Postura curvada, ombros e pescoço projetados',
title: QuizStrings.q18Answer1Title,
description: QuizStrings.q18Answer1Description,
weight: 2,
hideTitle: true,
value: 'postura_inadequada',
imagePath: 'assets/mockup_images/0.1.png',
),
QuizAnswer(
title: 'Postura correta',
description: 'Postura ereta, coluna alinhada',
title: QuizStrings.q18Answer2Title,
description: QuizStrings.q18Answer2Description,
weight: 1,
hideTitle: true,
value: 'postura_correta',
@@ -857,14 +856,13 @@ class Quiz19Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 19/29',
fallbackColor: const Color(0xFFFF55A7),
question:
'Qual das seguintes imagens é mais parecida com o perfil do seu filho/a?',
title: QuizUiStrings.quizProgress(19, 29),
fallbackColor: AppColors.pink,
question: QuizStrings.q19Question,
answers: [
QuizAnswer(
title: 'Perfil convexo',
description: 'Perfil facial convexo',
title: QuizStrings.q19Answer1Title,
description: QuizStrings.q19Answer1Description,
weight: 2,
hideTitle: true,
value: 'perfil_convexo',
@@ -875,8 +873,8 @@ class Quiz19Screen extends StatelessWidget {
),
),
QuizAnswer(
title: 'Perfil reto',
description: 'Perfil facial reto',
title: QuizStrings.q19Answer2Title,
description: QuizStrings.q19Answer2Description,
weight: 1,
hideTitle: true,
value: 'perfil_reto',
@@ -887,8 +885,8 @@ class Quiz19Screen extends StatelessWidget {
),
),
QuizAnswer(
title: 'Perfil côncavo',
description: 'Perfil facial côncavo',
title: QuizStrings.q19Answer3Title,
description: QuizStrings.q19Answer3Description,
weight: 2,
hideTitle: true,
value: 'perfil_concavo',
@@ -919,21 +917,21 @@ class Quiz20Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 20/29',
fallbackColor: const Color(0xFF2F9E94),
question: 'Qual é a posição da boca do seu filho/a habitualmente?',
title: QuizUiStrings.quizProgress(20, 29),
fallbackColor: AppColors.teal,
question: QuizStrings.q20Question,
answers: [
const QuizAnswer(
title: 'Boca fechada',
description: 'Boca fechada habitualmente',
title: QuizStrings.q20Answer1Title,
description: QuizStrings.q20Answer1Description,
weight: 1,
hideTitle: true,
value: 'boca_fechada',
imagePath: 'assets/mockup_images/7.png',
),
QuizAnswer(
title: 'Boca entreaberta',
description: 'Boca entreaberta habitualmente',
title: QuizStrings.q20Answer2Title,
description: QuizStrings.q20Answer2Description,
weight: 2,
hideTitle: true,
value: 'boca_entreaberta',
@@ -964,14 +962,13 @@ class Quiz21Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 21/29',
fallbackColor: const Color(0xFFFF55A7),
question:
'Qual das imagens, na zona abaixo dos olhos, se assemelha mais ao seu filho/a?',
title: QuizUiStrings.quizProgress(21, 29),
fallbackColor: AppColors.pink,
question: QuizStrings.q21Question,
answers: [
QuizAnswer(
title: 'Sem sinais',
description: 'Sem olheiras visíveis abaixo dos olhos',
title: QuizStrings.q21Answer1Title,
description: QuizStrings.q21Answer1Description,
weight: 1,
hideTitle: true,
value: 'sem_olheiras',
@@ -982,8 +979,8 @@ class Quiz21Screen extends StatelessWidget {
),
),
QuizAnswer(
title: 'Sinal de risco',
description: 'Olheiras visíveis abaixo dos olhos',
title: QuizStrings.q21Answer2Title,
description: QuizStrings.q21Answer2Description,
weight: 2,
hideTitle: true,
value: 'com_olheiras',
@@ -1014,15 +1011,14 @@ class Quiz22Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 22/29',
fallbackColor: const Color(0xFFFF55A7),
title: QuizUiStrings.quizProgress(22, 29),
fallbackColor: AppColors.pink,
isSignQuestion: true,
question:
'Qual das imagens é mais parecida com o queixo do seu filho/a com a boca fechada?',
question: QuizStrings.q22Question,
answers: [
QuizAnswer(
title: 'Queixo relaxado',
description: 'Queixo liso e relaxado com a boca fechada',
title: QuizStrings.q22Answer1Title,
description: QuizStrings.q22Answer1Description,
weight: 1,
hideTitle: true,
value: 'queixo_correto',
@@ -1034,8 +1030,8 @@ class Quiz22Screen extends StatelessWidget {
),
),
const QuizAnswer(
title: 'Queixo tenso',
description: 'Queixo tenso/franzido com a boca fechada',
title: QuizStrings.q22Answer2Title,
description: QuizStrings.q22Answer2Description,
weight: 2,
hideTitle: true,
value: 'queixo_tenso',
@@ -1070,31 +1066,30 @@ class Quiz23Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 23/29',
fallbackColor: const Color(0xFF2F9E94),
title: QuizUiStrings.quizProgress(23, 29),
fallbackColor: AppColors.teal,
isSignQuestion: true,
question:
'Qual das seguintes imagens se assemelha à boca do seu filho/a?',
question: QuizStrings.q23Question,
answers: const [
QuizAnswer(
title: 'Dentição sobreposta',
description: 'Dentes sobrepostos/tortos',
title: QuizStrings.q23Answer1Title,
description: QuizStrings.q23Answer1Description,
weight: 2,
hideTitle: true,
value: 'dentes_sobrepostos',
imagePath: 'assets/mockup_images/10.png',
),
QuizAnswer(
title: 'Dentição alinhada',
description: 'Dentição bem alinhada, sem apinhamento',
title: QuizStrings.q23Answer2Title,
description: QuizStrings.q23Answer2Description,
weight: 1,
hideTitle: true,
value: 'dentes_alinhados',
imagePath: 'assets/mockup_images/11.png',
),
QuizAnswer(
title: 'Dentição desalinhada',
description: 'Dentição desalinhada/apinhada',
title: QuizStrings.q23Answer3Title,
description: QuizStrings.q23Answer3Description,
weight: 2,
hideTitle: true,
value: 'dentes_desalinhados',
@@ -1121,31 +1116,30 @@ class Quiz24Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 24/29',
fallbackColor: const Color(0xFF2F9E94),
title: QuizUiStrings.quizProgress(24, 29),
fallbackColor: AppColors.teal,
isSignQuestion: true,
question:
'Qual das seguintes imagens se assemelha à boca do seu filho/a?',
question: QuizStrings.q24Question,
answers: const [
QuizAnswer(
title: 'Apinhamento moderado',
description: 'Dentes rodados/desalinhados de forma mais visível',
title: QuizStrings.q24Answer1Title,
description: QuizStrings.q24Answer1Description,
weight: 2,
hideTitle: true,
value: 'apinhamento_moderado',
imagePath: 'assets/mockup_images/16.png',
),
QuizAnswer(
title: 'Ligeiro desalinhamento',
description: 'Pequeno desalinhamento ou espaço entre alguns dentes',
title: QuizStrings.q24Answer2Title,
description: QuizStrings.q24Answer2Description,
weight: 1,
hideTitle: true,
value: 'apinhamento_leve',
imagePath: 'assets/mockup_images/15.png',
),
QuizAnswer(
title: 'Apinhamento acentuado',
description: 'Dentes muito sobrepostos entre si',
title: QuizStrings.q24Answer3Title,
description: QuizStrings.q24Answer3Description,
weight: 2,
hideTitle: true,
value: 'apinhamento_acentuado',
@@ -1172,22 +1166,21 @@ class Quiz25Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 25/29',
fallbackColor: const Color(0xFFFF55A7),
question:
'Qual das seguintes imagens se assemelha ao freio labial do seu filho/a?',
title: QuizUiStrings.quizProgress(25, 29),
fallbackColor: AppColors.pink,
question: QuizStrings.q25Question,
answers: const [
QuizAnswer(
title: 'Freio labial correto',
description: 'Inserção do freio labial mais alta',
title: QuizStrings.q25Answer1Title,
description: QuizStrings.q25Answer1Description,
weight: 1,
hideTitle: true,
value: 'freio_labial_correto',
imagePath: 'assets/mockup_images/20.png',
),
QuizAnswer(
title: 'Freio labial inadequado',
description: 'Inserção do freio labial baixa, entre os dentes',
title: QuizStrings.q25Answer2Title,
description: QuizStrings.q25Answer2Description,
weight: 2,
hideTitle: true,
value: 'freio_labial_inadequado',
@@ -1214,22 +1207,21 @@ class Quiz26Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 26/29',
fallbackColor: const Color(0xFFFF55A7),
question:
'Qual das seguintes imagens se assemelha ao freio lingual do seu filho/a?',
title: QuizUiStrings.quizProgress(26, 29),
fallbackColor: AppColors.pink,
question: QuizStrings.q26Question,
answers: const [
QuizAnswer(
title: 'Freio lingual inadequado',
description: 'Freio lingual curto/apertado (língua em coração)',
title: QuizStrings.q26Answer1Title,
description: QuizStrings.q26Answer1Description,
weight: 2,
hideTitle: true,
value: 'freio_lingual_inadequado',
imagePath: 'assets/mockup_images/17.png',
),
QuizAnswer(
title: 'Freio lingual correto',
description: 'Língua move-se livremente, sem restrição visível',
title: QuizStrings.q26Answer2Title,
description: QuizStrings.q26Answer2Description,
weight: 1,
hideTitle: true,
value: 'freio_lingual_correto',
@@ -1256,31 +1248,30 @@ class Quiz27Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 27/29',
fallbackColor: const Color(0xFF2F9E94),
title: QuizUiStrings.quizProgress(27, 29),
fallbackColor: AppColors.teal,
isSignQuestion: true,
question:
'Qual das seguintes imagens se assemelha com a boca do seu filho/a?',
question: QuizStrings.q27Question,
answers: const [
QuizAnswer(
title: 'Dentição desalinhada',
description: 'Dentição desalinhada/apinhada',
title: QuizStrings.q27Answer1Title,
description: QuizStrings.q27Answer1Description,
weight: 2,
hideTitle: true,
value: 'dentes_desalinhados_3',
imagePath: 'assets/mockup_images/23.JPEG',
),
QuizAnswer(
title: 'Dentição sobreposta',
description: 'Dentes sobrepostos/tortos',
title: QuizStrings.q27Answer2Title,
description: QuizStrings.q27Answer2Description,
weight: 2,
hideTitle: true,
value: 'dentes_sobrepostos_3',
imagePath: 'assets/mockup_images/24.png',
),
QuizAnswer(
title: 'Dentição alinhada',
description: 'Dentição bem alinhada, sem apinhamento',
title: QuizStrings.q27Answer3Title,
description: QuizStrings.q27Answer3Description,
weight: 1,
hideTitle: true,
value: 'dentes_alinhados_3',
@@ -1307,23 +1298,22 @@ class Quiz28Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 28/29',
fallbackColor: const Color(0xFF2F9E94),
title: QuizUiStrings.quizProgress(28, 29),
fallbackColor: AppColors.teal,
isSignQuestion: true,
question:
'Qual das seguintes imagens se assemelha à boca do seu filho/a?',
question: QuizStrings.q28Question,
answers: const [
QuizAnswer(
title: 'Dentição alinhada',
description: 'Dentição bem alinhada, sem apinhamento',
title: QuizStrings.q28Answer1Title,
description: QuizStrings.q28Answer1Description,
weight: 1,
hideTitle: true,
value: 'dentes_alinhados_2',
imagePath: 'assets/mockup_images/29.jpeg',
),
QuizAnswer(
title: 'Dentição desalinhada',
description: 'Dentes sobrepostos/apinhados',
title: QuizStrings.q28Answer2Title,
description: QuizStrings.q28Answer2Description,
weight: 2,
hideTitle: true,
value: 'dentes_desalinhados_2',
@@ -1350,24 +1340,23 @@ class Quiz29Screen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return QuizQuestionScreen(
title: 'Quiz 29/29',
fallbackColor: const Color(0xFFFF55A7),
title: QuizUiStrings.quizProgress(29, 29),
fallbackColor: AppColors.pink,
isSignQuestion: true,
correctBadgeLabel: 'Posição saudável',
question:
'Qual das seguintes imagens se assemelha ao céu da boca do seu filho/a?',
correctBadgeLabel: QuizStrings.q29CorrectBadgeLabel,
question: QuizStrings.q29Question,
answers: const [
QuizAnswer(
title: 'Posição profunda incorreta',
description: 'Palato estreito/profundo, em forma de V',
title: QuizStrings.q29Answer1Title,
description: QuizStrings.q29Answer1Description,
weight: 2,
hideTitle: true,
value: 'palato_v',
imagePath: 'assets/mockup_images/26.png',
),
QuizAnswer(
title: 'Posição em U saudável',
description: 'Palato largo, em forma de U',
title: QuizStrings.q29Answer2Title,
description: QuizStrings.q29Answer2Description,
weight: 1,
hideTitle: true,
value: 'palato_u',