Skip to content

Instantly share code, notes, and snippets.

@felangel
Created April 27, 2019 18:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save felangel/d494b1d1ea38281c7fb2cb82ebae678f to your computer and use it in GitHub Desktop.
Save felangel/d494b1d1ea38281c7fb2cb82ebae678f to your computer and use it in GitHub Desktop.
[flutter_firebase_login] Login Screen
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_firebase_login/user_repository.dart';
import 'package:flutter_firebase_login/login/login.dart';
class LoginScreen extends StatefulWidget {
final UserRepository _userRepository;
LoginScreen({Key key, @required UserRepository userRepository})
: assert(userRepository != null),
_userRepository = userRepository,
super(key: key);
State<LoginScreen> createState() => _LoginScreenState();
}
class _LoginScreenState extends State<LoginScreen> {
LoginBloc _loginBloc;
UserRepository get _userRepository => widget._userRepository;
@override
void initState() {
super.initState();
_loginBloc = LoginBloc(
userRepository: _userRepository,
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Login')),
body: BlocProvider<LoginBloc>(
bloc: _loginBloc,
child: LoginForm(userRepository: _userRepository),
),
);
}
@override
void dispose() {
_loginBloc.dispose();
super.dispose();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment