CKT 1.0.1
This commit is contained in:
@@ -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'));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user