Я пытаюсь отправить двух пользователей «Поставщики услуг» и «Пользователи» на разные страницы, как только они войдут в систему. Но приложение отправляет обоих пользователей на один и тот же экран. Вот код ниже:
onPressed: () async {
if (_formkey.currentState.validate()) {
setState(() => loading = true);
print("valid");
dynamic result =
await _auth.signInWithEmailAndPassword(
email.trim(), password);
dynamic sth =
DatabaseService(uid: result).getrole();
if (result == null) {
setState(
() {
error =
"Couldn't sign in with this credential";
loading = false;
},
);
} else {
if (sth == "User") {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => MyApp()));
} else if (sth == "Service Provider") {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>
ServiceHome()));
}
;
}
}
}),
и эта функция перехватывает перед оператором if из приведенного выше кода
final user = Provider.of<User>(context);
if (user == null)
{
return Authenticate();
}
else
{
return Home();
}
}
}