코딩하는 제리

[Flutter/Project](Instagram Clone) Firebase auth 상태 파일 본문

Flutter/Project_InstaClone(완)

[Flutter/Project](Instagram Clone) Firebase auth 상태 파일

JerryCho 2021. 2. 2. 18:18


소스코드 및 pubspec.yaml

// models/firebase_auth_state.dart

import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/foundation.dart';

class FirebaseAuthState extends ChangeNotifier {
  // 기본값은 로딩으로 함.
  FirebaseAuthStatus _firebaseAuthStatus = FirebaseAuthStatus.progress;

  User _firebaseUser;

  // [] -> 옵션
  void changeFirebaseAuthStatus([FirebaseAuthStatus firebaseAuthStatus]) {
    if (firebaseAuthStatus != null) {
      _firebaseAuthStatus = firebaseAuthStatus;
    } else if (_firebaseUser != null) {
      // 유저 데이터가 있으면 singin
      _firebaseAuthStatus = FirebaseAuthStatus.singin;
    } else {
      _firebaseAuthStatus = FirebaseAuthStatus.signout;
    }
    notifyListeners();
  }
}

enum FirebaseAuthStatus { signout, progress, singin }
Comments