Atualização do quiz e videos(incompleto)
This commit is contained in:
@@ -25,32 +25,28 @@ class _QuizRandomScreenState extends State<QuizRandomScreen> {
|
||||
answerType: QuizAnswerType.image,
|
||||
answers: const [
|
||||
QuizAnswer(
|
||||
//1.jpeg
|
||||
title: 'Opção A',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha à face do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/images/face_a.png',
|
||||
imagePath: 'assets/mockup_images/1.jpeg',
|
||||
),
|
||||
QuizAnswer(
|
||||
//2.jpeg
|
||||
title: 'Opção B',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha à face do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/images/face_b.png',
|
||||
imagePath: 'assets/mockup_images/2.jpeg',
|
||||
),
|
||||
QuizAnswer(
|
||||
//3.jpeg
|
||||
title: 'Opção C',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha à face do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/images/face_c.png',
|
||||
),
|
||||
QuizAnswer(
|
||||
title: 'Opção D',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha à face do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/images/face_d.png',
|
||||
imagePath: 'assets/mockup_images/3.jpeg',
|
||||
),
|
||||
],
|
||||
),
|
||||
@@ -58,36 +54,24 @@ class _QuizRandomScreenState extends State<QuizRandomScreen> {
|
||||
id: 2,
|
||||
title: 'Quiz 2/26',
|
||||
question:
|
||||
'Qual das seguintes imagens se assemelha à boca do seu filho/a?',
|
||||
'Qual das seguintes imagens se assemelha à posição boca do seu filho/a habitualmente?',
|
||||
answerType: QuizAnswerType.image,
|
||||
answers: const [
|
||||
QuizAnswer(
|
||||
//4.jpeg
|
||||
title: 'Opção A',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha à boca do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/images/mouth_a.png',
|
||||
imagePath: 'assets/mockup_images/4.jpeg',
|
||||
),
|
||||
QuizAnswer(
|
||||
//5.png
|
||||
title: 'Opção B',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha à boca do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/images/mouth_b.png',
|
||||
),
|
||||
QuizAnswer(
|
||||
title: 'Opção C',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha à boca do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/images/mouth_c.png',
|
||||
),
|
||||
QuizAnswer(
|
||||
title: 'Opção D',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha à boca do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/images/mouth_d.png',
|
||||
imagePath: 'assets/mockup_images/5.png',
|
||||
),
|
||||
],
|
||||
),
|
||||
@@ -99,32 +83,20 @@ class _QuizRandomScreenState extends State<QuizRandomScreen> {
|
||||
answerType: QuizAnswerType.image,
|
||||
answers: const [
|
||||
QuizAnswer(
|
||||
//8.jpeg
|
||||
title: 'Opção A',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha às olheiras do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/images/dark_circles_a.png',
|
||||
imagePath: 'assets/mockup_images/8.jpeg',
|
||||
),
|
||||
QuizAnswer(
|
||||
//9.png
|
||||
title: 'Opção B',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha às olheiras do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/images/dark_circles_b.png',
|
||||
),
|
||||
QuizAnswer(
|
||||
title: 'Opção C',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha às olheiras do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/images/dark_circles_c.png',
|
||||
),
|
||||
QuizAnswer(
|
||||
title: 'Opção D',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha às olheiras do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/images/dark_circles_d.png',
|
||||
imagePath: 'assets/mockup_images/9.png',
|
||||
),
|
||||
],
|
||||
),
|
||||
@@ -136,48 +108,55 @@ class _QuizRandomScreenState extends State<QuizRandomScreen> {
|
||||
answerType: QuizAnswerType.image,
|
||||
answers: const [
|
||||
QuizAnswer(
|
||||
//6.jpeg
|
||||
title: 'Opção A',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha ao queixo do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/images/chin_a.png',
|
||||
imagePath: 'assets/mockup_images/6.jpeg',
|
||||
),
|
||||
QuizAnswer(
|
||||
//7.png
|
||||
title: 'Opção B',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha ao queixo do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/images/chin_b.png',
|
||||
),
|
||||
QuizAnswer(
|
||||
title: 'Opção C',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha ao queixo do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/images/chin_c.png',
|
||||
),
|
||||
QuizAnswer(
|
||||
title: 'Opção D',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha ao queixo do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/images/chin_d.png',
|
||||
imagePath: 'assets/mockup_images/7.png',
|
||||
),
|
||||
],
|
||||
),
|
||||
QuizQuestion(
|
||||
id: 5,
|
||||
title: 'Quiz 5/26',
|
||||
question: 'Quantos dentes tem o seu filho/a em cima na boca?',
|
||||
answerType: QuizAnswerType.number,
|
||||
answers: const [],
|
||||
),
|
||||
QuizQuestion(
|
||||
id: 6,
|
||||
title: 'Quiz 6/26',
|
||||
question: 'Quantos dentes tem o seu filho/a em baixo na boca?',
|
||||
answerType: QuizAnswerType.number,
|
||||
answers: const [],
|
||||
question:
|
||||
'Qual das seguintes imagens se assemelha à boca do seu filho/a?',
|
||||
answerType: QuizAnswerType.image,
|
||||
answers: const [
|
||||
QuizAnswer(
|
||||
//14.jpeg
|
||||
title: 'Opção A',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha à boca do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/mockup_images/14.jpeg',
|
||||
),
|
||||
QuizAnswer(
|
||||
//15.png
|
||||
title: 'Opção B',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha à boca do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/mockup_images/15.png',
|
||||
),
|
||||
QuizAnswer(
|
||||
//16.png
|
||||
title: 'Opção C',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha à boca do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/mockup_images/16.png',
|
||||
),
|
||||
],
|
||||
),
|
||||
QuizQuestion(
|
||||
id: 7,
|
||||
@@ -187,32 +166,28 @@ class _QuizRandomScreenState extends State<QuizRandomScreen> {
|
||||
answerType: QuizAnswerType.image,
|
||||
answers: const [
|
||||
QuizAnswer(
|
||||
//10.png
|
||||
title: 'Opção A',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha à boca do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/images/mouth2_a.png',
|
||||
imagePath: 'assets/mockup_images/10.png',
|
||||
),
|
||||
QuizAnswer(
|
||||
//11.png
|
||||
title: 'Opção B',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha à boca do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/images/mouth2_b.png',
|
||||
imagePath: 'assets/mockup_images/11.png',
|
||||
),
|
||||
QuizAnswer(
|
||||
//13.png
|
||||
title: 'Opção C',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha à boca do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/images/mouth2_c.png',
|
||||
),
|
||||
QuizAnswer(
|
||||
title: 'Opção D',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha à boca do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/images/mouth2_d.png',
|
||||
imagePath: 'assets/mockup_images/13.png',
|
||||
),
|
||||
],
|
||||
),
|
||||
@@ -224,32 +199,45 @@ class _QuizRandomScreenState extends State<QuizRandomScreen> {
|
||||
answerType: QuizAnswerType.image,
|
||||
answers: const [
|
||||
QuizAnswer(
|
||||
//17.png
|
||||
title: 'Opção A',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha ao freio do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/images/frenulum_a.png',
|
||||
imagePath: 'assets/mockup_images/17.png',
|
||||
),
|
||||
QuizAnswer(
|
||||
//18.jpeg
|
||||
title: 'Opção B',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha ao freio do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/images/frenulum_b.png',
|
||||
imagePath: 'assets/mockup_images/18.jpeg',
|
||||
),
|
||||
],
|
||||
),
|
||||
QuizQuestion(
|
||||
id: 8,
|
||||
title: 'Quiz 8/26',
|
||||
question:
|
||||
'Qual das seguintes imagens se assemelha ao freio do seu filho/a?',
|
||||
answerType: QuizAnswerType.image,
|
||||
answers: const [
|
||||
QuizAnswer(
|
||||
title: 'Opção C',
|
||||
//19.jpeg
|
||||
title: 'Opção A',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha ao freio do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/images/frenulum_c.png',
|
||||
imagePath: 'assets/mockup_images/19.jpeg',
|
||||
),
|
||||
QuizAnswer(
|
||||
title: 'Opção D',
|
||||
//20.png
|
||||
title: 'Opção B',
|
||||
description:
|
||||
'Selecione se a imagem se assemelha ao freio do seu filho/a',
|
||||
weight: 2,
|
||||
imagePath: 'assets/images/frenulum_d.png',
|
||||
imagePath: 'assets/mockup_images/20.png',
|
||||
),
|
||||
],
|
||||
),
|
||||
@@ -652,6 +640,7 @@ class _QuizRandomScreenState extends State<QuizRandomScreen> {
|
||||
isFinal: isLastQuestion,
|
||||
showBackButton: _currentQuestionIndex > 0,
|
||||
answerType: currentQuestion.answerType,
|
||||
questionImagePaths: currentQuestion.questionImagePaths,
|
||||
onFinished: isLastQuestion
|
||||
? () {
|
||||
Navigator.of(context).pushReplacement(
|
||||
@@ -675,6 +664,8 @@ class QuizQuestion {
|
||||
final String question;
|
||||
final List<QuizAnswer> answers;
|
||||
final QuizAnswerType answerType;
|
||||
// Reference images shown ABOVE the question text (visualization only).
|
||||
final List<String> questionImagePaths;
|
||||
|
||||
QuizQuestion({
|
||||
required this.id,
|
||||
@@ -682,5 +673,41 @@ class QuizQuestion {
|
||||
required this.question,
|
||||
required this.answers,
|
||||
this.answerType = QuizAnswerType.text,
|
||||
this.questionImagePaths = const [],
|
||||
});
|
||||
}
|
||||
|
||||
// Helper: returns the asset path for a numbered mockup image (0..27).
|
||||
// Use in QuizAnswer.imagePath or QuizQuestion.questionImagePaths.
|
||||
String mockup(int n) => 'assets/mockup_images/$n${_mockupExt[n] ?? '.png'}';
|
||||
|
||||
const Map<int, String> _mockupExt = {
|
||||
0: '.png',
|
||||
1: '.jpeg',
|
||||
2: '.jpeg',
|
||||
3: '.jpeg',
|
||||
4: '.jpeg',
|
||||
5: '.png',
|
||||
6: '.jpeg',
|
||||
7: '.png',
|
||||
8: '.jpeg',
|
||||
9: '.png',
|
||||
10: '.png',
|
||||
11: '.png',
|
||||
12: '.png',
|
||||
13: '.png',
|
||||
14: '.jpeg',
|
||||
15: '.png',
|
||||
16: '.png',
|
||||
17: '.png',
|
||||
18: '.jpeg',
|
||||
19: '.jpeg',
|
||||
20: '.png',
|
||||
21: '.jpeg',
|
||||
22: '.png',
|
||||
23: '.jpeg',
|
||||
24: '.png',
|
||||
25: '.jpg',
|
||||
26: '.png',
|
||||
27: '.png',
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user