class HomeController extends GetxController {
late GoogleSignIn googleSign; // tip GoogleSignIn koji nam treba
var isSignIn = false.obs; // stavljamo da je sign in po default-u false i obs
FirebaseAuth firebaseAuth = FirebaseAuth.instance; // kreiramo instancu od firebase-a
@override
void onInit() {
super.onInit();
}
@override
void onReady() async {
googleSign = GoogleSignIn(); // smjestamo u varijablu googlesignin funkciju koja je od googl-a funkcija
// prvi agument funkcije ever je ujedno i argument funkcije dolje
ever(isSignIn, handleAuthStateChange); //svaki put kad se sign in promijeni trigeruje se prikazana funkcija
firebaseAuth.authStateChanges().listen((event) {
isSignIn.value = event != null; // slusa sami event i smjesta u signInValue event ako je razlicit od null
});
super.onReady();
}
@override
void onClose() {}
// funckija alp je loggenIn makni sve rute i posalji usera na Welcome i salje argument
void handleAuthStateChange(isLoggedIn) {
if (isLoggedIn) {
Get.offAllNamed(Routes.WELCOME, arguments: firebaseAuth.currentUser);
} else {
Get.offAllNamed(Routes.LOGIN); // ako je login false saljemo na login stranicu
}
}
}
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter