Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import 'dart:async';
- import 'package:firebase_auth/firebase_auth.dart';
- import 'package:flutter/material.dart';
- import 'sign_in.dart';
- class HomePage extends StatefulWidget {
- @override
- _HomePageState createState() => new _HomePageState();
- }
- enum AuthStatus { notSignIn, signIn }
- class _HomePageState extends State<HomePage> {
- AuthStatus _authStatus = AuthStatus.signIn;
- initState() {
- super.initState();
- getCurrentUser().then((userId) {
- setState(() {
- _authStatus = userId == null ? AuthStatus.notSignIn : AuthStatus.signIn;
- });
- });
- }
- Future<String> getCurrentUser() async {
- try {
- FirebaseUser user = await FirebaseAuth.instance.currentUser();
- return user.uid;
- } catch (e) {
- print('Error: $e');
- return null;
- }
- }
- void signOut() async {
- try {
- FirebaseAuth.instance.signOut();
- this.setState(() {
- _authStatus = AuthStatus.notSignIn;
- });
- print("Sign out");
- } catch (e) {
- print('Error: $e');
- }
- }
- @override
- Widget build(BuildContext context) {
- switch (_authStatus) {
- case AuthStatus.notSignIn:
- return new SignInPage();
- case AuthStatus.signIn:
- return new MaterialApp(
- title: 'Fascia',
- theme: new ThemeData(
- primarySwatch: Colors.teal,
- ),
- home: new Scaffold(
- appBar: new AppBar(
- title: new Text('Fascia'),
- actions: <Widget>[
- new IconButton(
- icon: new Icon(Icons.exit_to_app),
- onPressed: signOut,
- ),
- ],
- ),
- body: new Center(
- child: new Text(
- 'Welcome Fascia user!',
- ),
- ),
- ),
- );
- }
- return null;
- }
- }
- //class MyHomePage extends StatelessWidget {
- // @override
- // Widget build(BuildContext context) {
- // return
- // }
- //}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement