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