MVP Apresantação Final

This commit is contained in:
Carlos Correia
2026-07-14 20:59:16 +01:00
parent 5b25d9bef4
commit afce79b9b9
25 changed files with 503 additions and 96 deletions

View File

@@ -11,6 +11,7 @@ import 'brushing_prefs.dart';
import 'main.dart' show supabase;
import 'quiz/quiz1.dart';
import 'quiz/quiz_prefs.dart';
import 'quiz/quiz_result.dart' show kSignsMax, kFactorsMax;
import 'screens/settings_screen.dart';
import 'screens/video_screen.dart';
import 'watched_videos_prefs.dart';
@@ -61,7 +62,7 @@ class _LoggedHomeScreenState extends State<LoggedHomeScreen>
static const String _kPendingQuizScopeKey = 'pending_quiz_scope_v1';
static const double _collapsedAppBarHeight = kToolbarHeight;
static const double _expandedAppBarHeight = 216;
static const double _expandedAppBarHeight = 226;
static const double _nameOnlyAppBarHeight = 160;
int _index = 0;
@@ -426,14 +427,18 @@ class _LoggedHomeScreenState extends State<LoggedHomeScreen>
mainAxisSize: MainAxisSize.min,
children: [
_RiskArcGauge(
// Usa sempre o máximo atual do quiz (não
// o que foi gravado na última avaliação)
// para não mostrar um denominador antigo
// quando o número de perguntas muda.
value: result.signs,
max: result.signsMax,
max: kSignsMax,
label: 'Sinais',
),
const SizedBox(width: 18),
_RiskArcGauge(
value: result.factors,
max: result.factorsMax,
max: kFactorsMax,
label: 'Fatores de risco',
),
],
@@ -603,7 +608,7 @@ class _RiskArcGauge extends StatelessWidget {
builder: (context, animatedProgress, _) {
return SizedBox(
width: 108,
height: 84,
height: 92,
child: Stack(
clipBehavior: Clip.none,
children: [
@@ -633,7 +638,7 @@ class _RiskArcGauge extends StatelessWidget {
),
),
Positioned(
top: 58,
top: 68,
left: 0,
right: 0,
child: Text(
@@ -1331,7 +1336,7 @@ class _HeroQuizCard extends StatelessWidget {
),
const SizedBox(height: 5),
Text(
'27 perguntas rápidas · menos de 3 minutos',
'28 perguntas rápidas · menos de 3 minutos',
style: TextStyle(
color: Colors.white.withValues(alpha: 0.92),
fontWeight: FontWeight.w600,
@@ -2223,7 +2228,7 @@ class _PerfilTabState extends State<_PerfilTab> {
final result = snap.data;
final text = result == null
? '--'
: '${result.signs}/${result.signsMax} · ${result.factors}/${result.factorsMax}';
: '${result.signs}/$kSignsMax · ${result.factors}/$kFactorsMax';
return Container(
padding: const EdgeInsets.symmetric(
horizontal: 10,