@@ -3,10 +3,12 @@ import 'package:flutter/material.dart';
3
3
import 'package:flutter_twitter_clone/helper/constant.dart' ;
4
4
import 'package:flutter_twitter_clone/helper/enum.dart' ;
5
5
import 'package:flutter_twitter_clone/helper/theme.dart' ;
6
+ import 'package:flutter_twitter_clone/helper/utility.dart' ;
6
7
import 'package:flutter_twitter_clone/model/user.dart' ;
7
8
import 'package:flutter_twitter_clone/state/authState.dart' ;
8
9
import 'package:flutter_twitter_clone/widgets/customWidgets.dart' ;
9
10
import 'package:flutter_twitter_clone/widgets/newWidget/customLoader.dart' ;
11
+ import 'package:flutter_twitter_clone/widgets/newWidget/title_text.dart' ;
10
12
import 'package:provider/provider.dart' ;
11
13
12
14
class Signup extends StatefulWidget {
@@ -61,6 +63,9 @@ class _SignupState extends State<Signup> {
61
63
_entryFeild ('Confirm password' ,
62
64
controller: _confirmController, isPassword: true ),
63
65
_submitButton (context),
66
+
67
+ Divider (),
68
+ _googleLoginButton (context)
64
69
],
65
70
),
66
71
),
@@ -112,6 +117,40 @@ class _SignupState extends State<Signup> {
112
117
);
113
118
}
114
119
120
+ Widget _googleLoginButton (BuildContext context) {
121
+ return Container (
122
+ alignment: Alignment .center,
123
+ margin: EdgeInsets .symmetric (vertical: 35 ),
124
+ child: Row (
125
+ mainAxisAlignment: MainAxisAlignment .center,
126
+ children: < Widget > [
127
+ MaterialButton (
128
+ elevation: 2 ,
129
+ shape:
130
+ RoundedRectangleBorder (borderRadius: BorderRadius .circular (10 )),
131
+ color: Colors .white,
132
+ onPressed: _googleLogin,
133
+ padding: EdgeInsets .symmetric (horizontal: 30 , vertical: 10 ),
134
+ child: Row (
135
+ children: < Widget > [
136
+ Image .asset (
137
+ 'assets/images/google_logo.png' ,
138
+ height: 20 ,
139
+ width: 20 ,
140
+ ),
141
+ SizedBox (width: 10 ),
142
+ TitleText (
143
+ 'Continue with Google' ,
144
+ color: Colors .black54,
145
+ ),
146
+ ],
147
+ ),
148
+ ),
149
+ ],
150
+ ),
151
+ );
152
+ }
153
+
115
154
void _submitForm () {
116
155
if (_emailController.text == null ||
117
156
_emailController.text.isEmpty ||
@@ -160,6 +199,25 @@ class _SignupState extends State<Signup> {
160
199
);
161
200
}
162
201
202
+ void _googleLogin () {
203
+ var state = Provider .of <AuthState >(context);
204
+ if (state.isbusy) {
205
+ return ;
206
+ }
207
+ loader.showLoader (context);
208
+ state.handleGoogleSignIn ().then ((status) {
209
+ // print(status)
210
+ if (state.user != null ) {
211
+ loader.hideLoader ();
212
+ Navigator .pop (context);
213
+ widget.loginCallback ();
214
+ } else {
215
+ loader.hideLoader ();
216
+ cprint ('Unable to login' , errorIn: '_googleLoginButton' );
217
+ }
218
+ });
219
+ }
220
+
163
221
@override
164
222
Widget build (BuildContext context) {
165
223
return Scaffold (
0 commit comments