Flutter – Örnek landingPage -> güzel bir örnek çözebilene

import 'package:canli_sohbet/home_page.dart';
import 'package:canli_sohbet/locator.dart';
import 'package:canli_sohbet/servisler/auth_base.dart';
import 'package:canli_sohbet/servisler/firebase_auth_servis.dart';
import 'package:canli_sohbet/sing_in_page.dart';
import 'package:flutter/material.dart';
import 'models/user_model.dart';
class LandingPage extends StatefulWidget {
  //final AuthBase authService;
  //const LandingPage({Key key,@required this.authService}) : super(key: key);
  @override
  _LandingPageState createState() => _LandingPageState();
}
class _LandingPageState extends State<LandingPage> {
  User _user;
  AuthBase authService =  locator<FirebaseAuthServis>();
  @override
  void initState() {
    debugPrint("landing_page initstate çalıştı. Kaç kez çalıştı kontol edilecek...");
    super.initState();
    _checkUser();
  }
  @override
  Widget build(BuildContext context) {
    if (_user == null) {
      debugPrint("landing_page _user nesnesi null");
      return SignInPage(
       // authServis: authService,
        onSingIn: (user) {
          _updateUser(user);
          debugPrint(user.userId);
        },
      );
    } else {
        debugPrint("landing_page _user nesnesi dolu");
      return HomePage(
      // authServis: authService,
       user: _user,
        onSingOut: (){
          debugPrint("user_check.dart dosyasında sing out yapıldı");
          _updateUser(null);
        },
      );
    }
  }
  Future<void> _checkUser() async {
    debugPrint("landing_page _checkUser fonksiynonu çalıştı. Bu fonksiyon initstate içindedir...");
  // _user = await FirebaseAuth.instance.currentUser();
    _user = await authService.currentUser();
    return _user;
  }
  void _updateUser(User user) {
    debugPrint("landing_page _updateUser çalıştı bu landingpage içerisinde bir fonksiyondur..");
    setState(() {
      _user = user;
    });
  }
}

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir