CKT String|Colors
This commit is contained in:
@@ -1,9 +1,12 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import '../colors/app_colors.dart';
|
||||
|
||||
import '../main.dart' show supabase;
|
||||
import '../widgets/app_gradients.dart';
|
||||
import '../colors/app_gradients.dart';
|
||||
import '../strings/quiz_result_strings.dart';
|
||||
import '../strings/quiz_ui_strings.dart';
|
||||
import '../widgets/entrance.dart';
|
||||
import '../widgets/liquid_waves_background.dart';
|
||||
import '../widgets/tap_bounce.dart';
|
||||
@@ -106,20 +109,8 @@ class _QuizResultScreenState extends State<QuizResultScreen> {
|
||||
MaterialPageRoute<void>(
|
||||
builder: (_) => QuizVideoGuideScreen(
|
||||
youtubeId: _resultGuideYoutubeId,
|
||||
heading: 'Visualize o seguinte vídeo',
|
||||
caption:
|
||||
'Assista para compreender a importância de um diagnóstico '
|
||||
'precoce e de realizar tratamento ortodôntico intercetivo, '
|
||||
'ou seja, uma intervenção realizada na infância, tipicamente '
|
||||
'durante a fase de dentição mista (presença tanto de dentes '
|
||||
'de leite como de permanentes).\n\nO seu propósito é '
|
||||
'identificar, prevenir ou reduzir a gravidade de maloclusões '
|
||||
'e problemas no desenvolvimento dos maxilares enquanto os '
|
||||
'ossos e dentes ainda estão em crescimento.\n\nEsta '
|
||||
'intervenção aproveita a fase de desenvolvimento craniofacial '
|
||||
'para influenciar o crescimento ósseo, redirecionar a '
|
||||
'mandíbula, corrigir o alinhamento dos maxilares ou criar '
|
||||
'espaço para a erupção correta dos dentes permanentes.',
|
||||
heading: QuizResultStrings.watchTheFollowingVideo,
|
||||
caption: QuizResultStrings.resultVideoCaption,
|
||||
onAdvance: (context) =>
|
||||
Navigator.of(context).popUntil((r) => r.isFirst),
|
||||
),
|
||||
@@ -137,7 +128,7 @@ class _QuizResultScreenState extends State<QuizResultScreen> {
|
||||
body: Stack(
|
||||
clipBehavior: Clip.none,
|
||||
children: [
|
||||
Positioned.fill(child: Container(color: const Color(0xFFFAFAF7))),
|
||||
Positioned.fill(child: Container(color: AppColors.background)),
|
||||
const LiquidWavesBackground(),
|
||||
SafeArea(
|
||||
child: Center(
|
||||
@@ -157,12 +148,12 @@ class _QuizResultScreenState extends State<QuizResultScreen> {
|
||||
const SizedBox(height: 10),
|
||||
FadeSlideIn(
|
||||
child: const Text(
|
||||
'O resultado avaliado é de:',
|
||||
QuizResultStrings.resultHeading,
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontSize: 18,
|
||||
fontWeight: FontWeight.w900,
|
||||
color: Color(0xFFFF55A7),
|
||||
color: AppColors.pink,
|
||||
height: 1.2,
|
||||
),
|
||||
),
|
||||
@@ -177,15 +168,16 @@ class _QuizResultScreenState extends State<QuizResultScreen> {
|
||||
_ResultRing(
|
||||
value: signs,
|
||||
max: kSignsMax,
|
||||
color: const Color(0xFF2F9E94),
|
||||
color: AppColors.teal,
|
||||
label:
|
||||
'Sinais de má\noclusão instalados',
|
||||
QuizResultStrings.signsRingLabel,
|
||||
),
|
||||
_ResultRing(
|
||||
value: factors,
|
||||
max: kFactorsMax,
|
||||
color: const Color(0xFFFF55A7),
|
||||
label: 'Fatores de\nrisco associados',
|
||||
color: AppColors.pink,
|
||||
label:
|
||||
QuizResultStrings.factorsRingLabel,
|
||||
),
|
||||
],
|
||||
),
|
||||
@@ -194,14 +186,15 @@ class _QuizResultScreenState extends State<QuizResultScreen> {
|
||||
FadeSlideIn(
|
||||
delay: const Duration(milliseconds: 100),
|
||||
child: _ResultSection(
|
||||
heading: 'Conclusões:',
|
||||
body:
|
||||
'Foram identificados $signs de $kSignsMax '
|
||||
'sinais de má oclusão já instalada e '
|
||||
'$factors de $kFactorsMax fatores de '
|
||||
'risco frequentemente associados a '
|
||||
'má oclusão.',
|
||||
bodyColor: const Color(0xFFFF55A7),
|
||||
heading:
|
||||
QuizResultStrings.conclusionsHeading,
|
||||
body: QuizResultStrings.conclusionsBody(
|
||||
signs: signs,
|
||||
signsMax: kSignsMax,
|
||||
factors: factors,
|
||||
factorsMax: kFactorsMax,
|
||||
),
|
||||
bodyColor: AppColors.pink,
|
||||
bodyWeight: FontWeight.w800,
|
||||
),
|
||||
),
|
||||
@@ -209,19 +202,23 @@ class _QuizResultScreenState extends State<QuizResultScreen> {
|
||||
FadeSlideIn(
|
||||
delay: const Duration(milliseconds: 140),
|
||||
child: _ResultSection(
|
||||
heading: 'O que deve fazer agora',
|
||||
heading:
|
||||
QuizResultStrings.whatToDoNowHeading,
|
||||
body: recommend
|
||||
? 'Com base neste resultado, recomendamos a marcação de uma consulta com Odontopediatra ou Ortodontista para uma avaliação presencial.'
|
||||
: 'Não foram encontrados sinais ou fatores de risco relevantes. Continue a acompanhar a saúde oral do seu filho/a com as consultas de rotina habituais.',
|
||||
? QuizResultStrings
|
||||
.whatToDoNowRecommend
|
||||
: QuizResultStrings
|
||||
.whatToDoNowNoConcerns,
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 16),
|
||||
FadeSlideIn(
|
||||
delay: const Duration(milliseconds: 180),
|
||||
child: _ResultSection(
|
||||
heading: 'Importante saber',
|
||||
body:
|
||||
'Este resultado não substitui uma avaliação presencial, nem tem função de diagnóstico. O objetivo é ajudá-lo a estar mais atento aos sinais identificados e a não adiar uma consulta que pode fazer a diferença no desenvolvimento oral do seu filho/a.',
|
||||
heading: QuizResultStrings
|
||||
.importantToKnowHeading,
|
||||
body: QuizResultStrings
|
||||
.importantToKnowBody,
|
||||
),
|
||||
),
|
||||
],
|
||||
@@ -254,7 +251,7 @@ class _QuizResultScreenState extends State<QuizResultScreen> {
|
||||
if (!context.mounted) return;
|
||||
_goToVideo();
|
||||
},
|
||||
child: const Text('Avançar'),
|
||||
child: const Text(QuizUiStrings.advance),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user