HomeController

PHOTO EMBED

Tue May 17 2022 09:04:43 GMT+0000 (UTC)

Saved by @Vesko_devv #dart

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 
    }
  }
}
content_copyCOPY