Atulização do quiz | Porcentagem na base de dados | Telas de Contrato com o usuario

This commit is contained in:
Carlos Correia
2026-07-13 22:28:01 +01:00
parent 824fdb8089
commit 4fcf3a475a
23 changed files with 2061 additions and 369 deletions

26
lib/terms_gate_prefs.dart Normal file
View File

@@ -0,0 +1,26 @@
import 'package:shared_preferences/shared_preferences.dart';
/// Guarda em disco o uid de uma conta que acabou de se registar e ainda não
/// aceitou os Termos e Condições. Um simples valor em memória não chega:
/// se o sistema matar o processo entre o cadastro e a aceitação (comum em
/// Android quando a app fica em segundo plano), reabrir a app perderia o
/// estado "pendente" e o utilizador entraria direto na Home sem nunca ter
/// aceitado nada.
class TermsGatePrefs {
static const String _kPendingUidKey = 'pending_terms_uid';
static Future<String?> getPendingUid() async {
final prefs = await SharedPreferences.getInstance();
return prefs.getString(_kPendingUidKey);
}
static Future<void> setPendingUid(String uid) async {
final prefs = await SharedPreferences.getInstance();
await prefs.setString(_kPendingUidKey, uid);
}
static Future<void> clearPendingUid() async {
final prefs = await SharedPreferences.getInstance();
await prefs.remove(_kPendingUidKey);
}
}