correção de bugs, creação propria para turmas, e preparação para criar quizzes
This commit is contained in:
@@ -81,12 +81,22 @@ class _LoginPageState extends State<LoginPage> {
|
||||
final actualRole = await AuthService.getUserRole(uid);
|
||||
print('DEBUG: Role real do usuário na Firestore: $actualRole');
|
||||
|
||||
// Validar se o role selecionado corresponde ao role real
|
||||
// Se não há role selecionado, redirecionar para role-selection
|
||||
final selectedRole = widget.selectedRole;
|
||||
if (selectedRole != null &&
|
||||
actualRole != null &&
|
||||
selectedRole != actualRole) {
|
||||
// Role não corresponde - mostrar erro
|
||||
if (selectedRole == null) {
|
||||
await AuthService.signOut();
|
||||
if (mounted) {
|
||||
setState(() => _isLoading = false);
|
||||
context.go('/role-selection');
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// Validar se o role selecionado corresponde ao role real
|
||||
if (actualRole != null && selectedRole != actualRole) {
|
||||
// Fazer logout imediato antes de mostrar erro
|
||||
await AuthService.signOut();
|
||||
|
||||
setState(() {
|
||||
_isLoading = false;
|
||||
});
|
||||
@@ -171,8 +181,7 @@ class _LoginPageState extends State<LoginPage> {
|
||||
TextButton(
|
||||
onPressed: () {
|
||||
Navigator.of(context).pop();
|
||||
// Fazer logout para limpar a sessão
|
||||
AuthService.signOut();
|
||||
context.go('/role-selection');
|
||||
},
|
||||
child: Text(
|
||||
'Voltar',
|
||||
|
||||
Reference in New Issue
Block a user