Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import 'package:firebase_bloc/app/modules/login/login_bloc.dart';
- import 'package:firebase_bloc/app/modules/login/login_module.dart';
- import 'package:flutter/material.dart';
- import 'package:font_awesome_flutter/font_awesome_flutter.dart';
- class LoginPage extends StatefulWidget {
- final String title;
- const LoginPage({Key key, this.title = "Login"}) : super(key: key);
- @override
- _LoginPageState createState() => _LoginPageState();
- }
- class _LoginPageState extends State<LoginPage> {
- @override
- Widget build(BuildContext context) {
- return Material(
- child: Stack(
- fit: StackFit.expand,
- children: <Widget>[
- Image.network(
- "https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcTgdmgiXDeDj7Osrvbdl1Ppuos_q_uCDIUZims8fBQjFzXwRoxX",
- fit: BoxFit.cover,
- ),
- Container(
- color: Colors.grey[800].withOpacity(0.4),
- ),
- SingleChildScrollView(
- child: _LoginContent(),
- ),
- ],
- ),
- );
- }
- }
- class _LoginContent extends StatelessWidget {
- final LoginBloc bloc = LoginModule.to.bloc<LoginBloc>();
- @override
- Widget build(BuildContext context) {
- return Column(
- mainAxisAlignment: MainAxisAlignment.center,
- children: <Widget>[
- FlutterLogo(size: 72),
- Container(height: 120),
- StreamBuilder<bool>(
- stream: bloc.outLoading,
- initialData: false,
- builder: (context, snapshot) {
- return AnimatedCrossFade(
- firstChild: _botoes(context),
- secondChild: Padding(
- padding: const EdgeInsets.only(top: 110),
- child: CircularProgressIndicator(),
- ),
- duration: Duration(milliseconds: 500),
- crossFadeState: snapshot.data
- ? CrossFadeState.showSecond
- : CrossFadeState.showFirst,
- );
- },
- ),
- TextField(
- onChanged: bloc.phoneIn.add,
- onSubmitted: (String value) => bloc.onClickTelefone(context),
- keyboardType: TextInputType.number,
- ),
- ],
- );
- }
- }
- _botoes(BuildContext context) {
- final LoginBloc bloc = LoginModule.to.bloc<LoginBloc>();
- return Column(
- children: <Widget>[
- RaisedButton.icon(
- color: Colors.green,
- textColor: Colors.white,
- icon: Icon(Icons.phone),
- label: Text("Login com telefone"),
- onPressed: () => bloc.onClickTelefone(context),
- // onPressed: () {},
- ),
- RaisedButton.icon(
- color: Colors.red,
- textColor: Colors.white,
- icon: Icon(FontAwesomeIcons.google),
- label: Text("Login com com google"),
- onPressed: () => bloc.onClickGoogle(context),
- ),
- RaisedButton.icon(
- color: Colors.blue,
- textColor: Colors.white,
- icon: Icon(FontAwesomeIcons.facebookF),
- label: Text("Login com facebook"),
- onPressed: () => bloc.onClickFacebook(context),
- ),
- ],
- );
- }
Advertisement
Add Comment
Please, Sign In to add comment