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

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
/// consentiu a partilha de dados/privacidade. Um simples valor em memória
/// não chega: se o sistema matar o processo entre o cadastro e o
/// consentimento (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 consentido nada.
class PrivacyGatePrefs {
static const String _kPendingUidKey = 'pending_privacy_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);
}
}