CKT 1.0.1

This commit is contained in:
Carlos Correia
2026-07-15 02:40:22 +01:00
parent fb39e1f722
commit 9c21887fc7
49 changed files with 255 additions and 288 deletions

View File

@@ -15,12 +15,14 @@ final ValueNotifier<bool> forceHomeScreen = ValueNotifier<bool>(false);
/// Quando um cadastro (signUp) acabou de acontecer, guarda o uid da conta
/// nova aqui — o AuthGate mostra o [TermsGateScreen] em vez do LoggedHome
/// enquanto este valor corresponder à sessão ativa. Aceitar limpa o valor
/// (avança para a Home); recusar apaga a conta e termina a sessão.
/// enquanto este valor corresponder à sessão ativa. É o primeiro dos dois
/// gates a ser mostrado, antes do [PrivacyGateScreen]. Aceitar limpa o
/// valor (avança para o próximo passo); recusar apaga a conta e termina a
/// sessão.
final ValueNotifier<String?> pendingTermsUserId = ValueNotifier<String?>(null);
/// Igual a [pendingTermsUserId], mas para o consentimento de privacidade
/// que o AuthGate mostra primeiro, antes do TermsGateScreen.
/// que o AuthGate mostra depois do TermsGateScreen.
final ValueNotifier<String?> pendingPrivacyUserId = ValueNotifier<String?>(
null,
);
@@ -126,15 +128,6 @@ class _AuthGateState extends State<AuthGate> {
child = const SizedBox.shrink();
} else if (forcedHome || user == null || user.id != _validatedUserId) {
child = const HomeScreen(key: ValueKey('home_screen'));
} else if (pendingPrivacyUid == user.id) {
child = PrivacyGateScreen(
key: const ValueKey('privacy_gate_screen'),
userId: user.id,
onAccepted: () {
pendingPrivacyUserId.value = null;
PrivacyGatePrefs.clearPendingUid();
},
);
} else if (pendingUid == user.id) {
child = TermsGateScreen(
key: const ValueKey('terms_gate_screen'),
@@ -144,6 +137,15 @@ class _AuthGateState extends State<AuthGate> {
TermsGatePrefs.clearPendingUid();
},
);
} else if (pendingPrivacyUid == user.id) {
child = PrivacyGateScreen(
key: const ValueKey('privacy_gate_screen'),
userId: user.id,
onAccepted: () {
pendingPrivacyUserId.value = null;
PrivacyGatePrefs.clearPendingUid();
},
);
} else {
child = const LoggedHomeScreen(key: ValueKey('logged_home_screen'));
}