in components/frontend_flutterflow/src/lib/pages/sign_up/sign_up_widget.dart [45:1265]
Widget build(BuildContext context) {
context.watch<FFAppState>();
return GestureDetector(
onTap: () => FocusScope.of(context).requestFocus(_model.unfocusNode),
child: Scaffold(
key: scaffoldKey,
backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
body: SafeArea(
top: true,
child: Container(
width: double.infinity,
height: double.infinity,
decoration: BoxDecoration(
gradient: LinearGradient(
colors: [Color(0xFFf0f4f9), Color(0xFFf0f4f9)],
stops: [0.0, 1.0],
begin: AlignmentDirectional(-0.64, 1.0),
end: AlignmentDirectional(0.64, -1.0),
),
),
child: Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Expanded(
child: Align(
alignment: AlignmentDirectional(0.0, 0.0),
child: Container(
width: double.infinity,
height: double.infinity,
constraints: BoxConstraints(
maxWidth: 1280.0,
),
decoration: BoxDecoration(),
child: Padding(
padding: EdgeInsetsDirectional.fromSTEB(
15.0, 0.0, 15.0, 0.0),
child: Row(
mainAxisSize: MainAxisSize.max,
children: [
Expanded(
child: Padding(
padding: EdgeInsetsDirectional.fromSTEB(
0.0, 30.0, 0.0, 30.0),
child: Container(
width: double.infinity,
height: double.infinity,
constraints: BoxConstraints(
maxHeight: 650.0,
),
decoration: BoxDecoration(),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Expanded(
child: Container(
height: double.infinity,
constraints: BoxConstraints(
maxWidth: 500.0,
),
decoration: BoxDecoration(
boxShadow: [
BoxShadow(
blurRadius: 5.0,
color: Color(0x00FFFFFF),
offset: Offset(1.0, 2.0),
)
],
gradient: LinearGradient(
colors: [
Color(0xFFf0f4f9),
Color(0xFFf0f4f9)
],
stops: [0.0, 1.0],
begin: AlignmentDirectional(
-0.64, 1.0),
end: AlignmentDirectional(
0.64, -1.0),
),
borderRadius:
BorderRadius.circular(15.0),
border: Border.all(
color: Color(0x37FFFFFF),
),
),
child: Column(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment:
MainAxisAlignment.center,
children: [
Padding(
padding: EdgeInsetsDirectional
.fromSTEB(
0.0, 16.0, 0.0, 16.0),
child: wrapWithModel(
model: _model.logoHeaderModel,
updateCallback: () =>
setState(() {}),
child: LogoHeaderWidget(),
),
),
Form(
key: _model.formKey,
autovalidateMode:
AutovalidateMode.disabled,
child: Column(
mainAxisSize:
MainAxisSize.max,
children: [
Padding(
padding:
EdgeInsetsDirectional
.fromSTEB(
0.0,
0.0,
0.0,
20.0),
child: Container(
width: double.infinity,
constraints:
BoxConstraints(
maxWidth: 400.0,
),
decoration:
BoxDecoration(),
child: Padding(
padding:
EdgeInsetsDirectional
.fromSTEB(
15.0,
0.0,
15.0,
0.0),
child: Container(
width:
double.infinity,
child:
TextFormField(
controller: _model
.firstNameController,
autofocus: true,
obscureText:
false,
decoration:
InputDecoration(
isDense: true,
labelText:
'First Name',
labelStyle: FlutterFlowTheme.of(
context)
.labelMedium
.override(
fontFamily:
'Poppins',
fontSize:
12.0,
),
hintStyle: FlutterFlowTheme.of(
context)
.labelMedium
.override(
fontFamily:
'Poppins',
fontSize:
12.0,
),
enabledBorder:
OutlineInputBorder(
borderSide:
BorderSide(
color: FlutterFlowTheme.of(
context)
.secondaryText,
width: 0.25,
),
borderRadius:
BorderRadius
.circular(
30.0),
),
focusedBorder:
OutlineInputBorder(
borderSide:
BorderSide(
color: FlutterFlowTheme.of(
context)
.primaryText,
width: 0.25,
),
borderRadius:
BorderRadius
.circular(
30.0),
),
errorBorder:
OutlineInputBorder(
borderSide:
BorderSide(
color: FlutterFlowTheme.of(
context)
.error,
width: 0.25,
),
borderRadius:
BorderRadius
.circular(
30.0),
),
focusedErrorBorder:
OutlineInputBorder(
borderSide:
BorderSide(
color: FlutterFlowTheme.of(
context)
.error,
width: 0.25,
),
borderRadius:
BorderRadius
.circular(
30.0),
),
filled: true,
fillColor: Color(
0x69FFFFFF),
contentPadding:
EdgeInsetsDirectional
.fromSTEB(
20.0,
15.0,
20.0,
15.0),
),
style: FlutterFlowTheme
.of(context)
.bodyMedium
.override(
fontFamily:
'Poppins',
fontSize:
12.0,
),
validator: _model
.firstNameControllerValidator
.asValidator(
context),
),
),
),
),
),
Padding(
padding:
EdgeInsetsDirectional
.fromSTEB(
0.0,
0.0,
0.0,
20.0),
child: Container(
width: double.infinity,
constraints:
BoxConstraints(
maxWidth: 400.0,
),
decoration:
BoxDecoration(),
child: Padding(
padding:
EdgeInsetsDirectional
.fromSTEB(
15.0,
0.0,
15.0,
0.0),
child: Container(
width:
double.infinity,
child:
TextFormField(
controller: _model
.lastNameController,
autofocus: true,
obscureText:
false,
decoration:
InputDecoration(
isDense: true,
labelText:
'Last Name',
labelStyle: FlutterFlowTheme.of(
context)
.labelMedium
.override(
fontFamily:
'Poppins',
fontSize:
12.0,
),
hintStyle: FlutterFlowTheme.of(
context)
.labelMedium
.override(
fontFamily:
'Poppins',
fontSize:
12.0,
),
enabledBorder:
OutlineInputBorder(
borderSide:
BorderSide(
color: FlutterFlowTheme.of(
context)
.secondaryText,
width: 0.25,
),
borderRadius:
BorderRadius
.circular(
30.0),
),
focusedBorder:
OutlineInputBorder(
borderSide:
BorderSide(
color: FlutterFlowTheme.of(
context)
.primaryText,
width: 0.25,
),
borderRadius:
BorderRadius
.circular(
30.0),
),
errorBorder:
OutlineInputBorder(
borderSide:
BorderSide(
color: FlutterFlowTheme.of(
context)
.error,
width: 0.25,
),
borderRadius:
BorderRadius
.circular(
30.0),
),
focusedErrorBorder:
OutlineInputBorder(
borderSide:
BorderSide(
color: FlutterFlowTheme.of(
context)
.error,
width: 0.25,
),
borderRadius:
BorderRadius
.circular(
30.0),
),
filled: true,
fillColor: Color(
0x69FFFFFF),
contentPadding:
EdgeInsetsDirectional
.fromSTEB(
20.0,
15.0,
20.0,
15.0),
),
style: FlutterFlowTheme
.of(context)
.bodyMedium
.override(
fontFamily:
'Poppins',
fontSize:
12.0,
),
validator: _model
.lastNameControllerValidator
.asValidator(
context),
),
),
),
),
),
Padding(
padding:
EdgeInsetsDirectional
.fromSTEB(
0.0,
0.0,
0.0,
20.0),
child: Container(
width: double.infinity,
constraints:
BoxConstraints(
maxWidth: 400.0,
),
decoration:
BoxDecoration(),
child: Padding(
padding:
EdgeInsetsDirectional
.fromSTEB(
15.0,
0.0,
15.0,
0.0),
child: Container(
width:
double.infinity,
child:
TextFormField(
controller: _model
.emailController,
autofocus: true,
obscureText:
false,
decoration:
InputDecoration(
isDense: true,
labelText:
'Email Address',
labelStyle: FlutterFlowTheme.of(
context)
.labelMedium
.override(
fontFamily:
'Poppins',
fontSize:
12.0,
),
hintStyle: FlutterFlowTheme.of(
context)
.labelMedium
.override(
fontFamily:
'Poppins',
fontSize:
12.0,
),
enabledBorder:
OutlineInputBorder(
borderSide:
BorderSide(
color: FlutterFlowTheme.of(
context)
.secondaryText,
width: 0.25,
),
borderRadius:
BorderRadius
.circular(
30.0),
),
focusedBorder:
OutlineInputBorder(
borderSide:
BorderSide(
color: FlutterFlowTheme.of(
context)
.primaryText,
width: 0.25,
),
borderRadius:
BorderRadius
.circular(
30.0),
),
errorBorder:
OutlineInputBorder(
borderSide:
BorderSide(
color: FlutterFlowTheme.of(
context)
.error,
width: 0.25,
),
borderRadius:
BorderRadius
.circular(
30.0),
),
focusedErrorBorder:
OutlineInputBorder(
borderSide:
BorderSide(
color: FlutterFlowTheme.of(
context)
.error,
width: 0.25,
),
borderRadius:
BorderRadius
.circular(
30.0),
),
filled: true,
fillColor: Color(
0x69FFFFFF),
contentPadding:
EdgeInsetsDirectional
.fromSTEB(
20.0,
15.0,
20.0,
15.0),
),
style: FlutterFlowTheme
.of(context)
.bodyMedium
.override(
fontFamily:
'Poppins',
fontSize:
12.0,
),
keyboardType:
TextInputType
.emailAddress,
validator: _model
.emailControllerValidator
.asValidator(
context),
),
),
),
),
),
Padding(
padding:
EdgeInsetsDirectional
.fromSTEB(
0.0,
0.0,
0.0,
20.0),
child: Container(
width: double.infinity,
constraints:
BoxConstraints(
maxWidth: 400.0,
),
decoration:
BoxDecoration(),
child: Padding(
padding:
EdgeInsetsDirectional
.fromSTEB(
15.0,
0.0,
15.0,
0.0),
child: Container(
width:
double.infinity,
child:
TextFormField(
controller: _model
.passwordController,
autofocus: true,
obscureText: !_model
.passwordVisibility,
decoration:
InputDecoration(
isDense: true,
labelText:
'Password',
labelStyle: FlutterFlowTheme.of(
context)
.labelMedium
.override(
fontFamily:
'Poppins',
fontSize:
12.0,
),
hintStyle: FlutterFlowTheme.of(
context)
.labelMedium
.override(
fontFamily:
'Poppins',
fontSize:
12.0,
),
enabledBorder:
OutlineInputBorder(
borderSide:
BorderSide(
color: FlutterFlowTheme.of(
context)
.secondaryText,
width: 0.25,
),
borderRadius:
BorderRadius
.circular(
30.0),
),
focusedBorder:
OutlineInputBorder(
borderSide:
BorderSide(
color: FlutterFlowTheme.of(
context)
.primaryText,
width: 0.25,
),
borderRadius:
BorderRadius
.circular(
30.0),
),
errorBorder:
OutlineInputBorder(
borderSide:
BorderSide(
color: FlutterFlowTheme.of(
context)
.error,
width: 0.25,
),
borderRadius:
BorderRadius
.circular(
30.0),
),
focusedErrorBorder:
OutlineInputBorder(
borderSide:
BorderSide(
color: FlutterFlowTheme.of(
context)
.error,
width: 0.25,
),
borderRadius:
BorderRadius
.circular(
30.0),
),
filled: true,
fillColor: Color(
0x69FFFFFF),
contentPadding:
EdgeInsetsDirectional
.fromSTEB(
20.0,
15.0,
20.0,
15.0),
suffixIcon:
InkWell(
onTap: () =>
setState(
() => _model
.passwordVisibility =
!_model
.passwordVisibility,
),
focusNode: FocusNode(
skipTraversal:
true),
child: Icon(
_model.passwordVisibility
? Icons
.visibility_outlined
: Icons
.visibility_off_outlined,
color: Color(
0xFF9DA2A9),
size: 15.0,
),
),
),
style: FlutterFlowTheme
.of(context)
.bodyMedium
.override(
fontFamily:
'Poppins',
fontSize:
12.0,
),
validator: _model
.passwordControllerValidator
.asValidator(
context),
),
),
),
),
),
Container(
width: double.infinity,
constraints:
BoxConstraints(
maxWidth: 400.0,
),
decoration:
BoxDecoration(),
child: Padding(
padding:
EdgeInsetsDirectional
.fromSTEB(
15.0,
0.0,
15.0,
0.0),
child: Container(
width:
double.infinity,
child: TextFormField(
controller: _model
.password2Controller,
autofocus: true,
obscureText: !_model
.password2Visibility,
decoration:
InputDecoration(
isDense: true,
labelText:
'Password',
labelStyle:
FlutterFlowTheme.of(
context)
.labelMedium
.override(
fontFamily:
'Poppins',
fontSize:
12.0,
),
hintStyle:
FlutterFlowTheme.of(
context)
.labelMedium
.override(
fontFamily:
'Poppins',
fontSize:
12.0,
),
enabledBorder:
OutlineInputBorder(
borderSide:
BorderSide(
color: FlutterFlowTheme.of(
context)
.secondaryText,
width: 0.25,
),
borderRadius:
BorderRadius
.circular(
30.0),
),
focusedBorder:
OutlineInputBorder(
borderSide:
BorderSide(
color: FlutterFlowTheme.of(
context)
.primaryText,
width: 0.25,
),
borderRadius:
BorderRadius
.circular(
30.0),
),
errorBorder:
OutlineInputBorder(
borderSide:
BorderSide(
color: FlutterFlowTheme.of(
context)
.error,
width: 0.25,
),
borderRadius:
BorderRadius
.circular(
30.0),
),
focusedErrorBorder:
OutlineInputBorder(
borderSide:
BorderSide(
color: FlutterFlowTheme.of(
context)
.error,
width: 0.25,
),
borderRadius:
BorderRadius
.circular(
30.0),
),
filled: true,
fillColor: Color(
0x69FFFFFF),
contentPadding:
EdgeInsetsDirectional
.fromSTEB(
20.0,
15.0,
20.0,
15.0),
suffixIcon:
InkWell(
onTap: () =>
setState(
() => _model
.password2Visibility =
!_model
.password2Visibility,
),
focusNode: FocusNode(
skipTraversal:
true),
child: Icon(
_model.password2Visibility
? Icons
.visibility_outlined
: Icons
.visibility_off_outlined,
color: Color(
0xFF9DA2A9),
size: 15.0,
),
),
),
style: FlutterFlowTheme
.of(context)
.bodyMedium
.override(
fontFamily:
'Poppins',
fontSize:
12.0,
),
validator: _model
.password2ControllerValidator
.asValidator(
context),
),
),
),
),
],
),
),
Padding(
padding: EdgeInsetsDirectional
.fromSTEB(
0.0, 30.0, 0.0, 0.0),
child: FFButtonWidget(
onPressed: () async {
var _shouldSetState = false;
if (_model.formKey
.currentState ==
null ||
!_model.formKey
.currentState!
.validate()) {
return;
}
_model.generateToken =
await GoogleCLPAuthorizationGroup
.signInCall
.call();
_shouldSetState = true;
if ((_model.generateToken
?.succeeded ??
true)) {
FFAppState().update(() {
FFAppState().token =
GoogleCLPAuthorizationGroup
.signInCall
.token(
(_model.generateToken
?.jsonBody ??
''),
)
.toString();
});
_model.createUser =
await GoogleCLPAuthorizationGroup
.createUserCall
.call(
firstName: _model
.firstNameController
.text,
lastName: _model
.lastNameController
.text,
email: _model
.emailController
.text,
cLPToken:
FFAppState().token,
);
_shouldSetState = true;
if ((_model.createUser
?.succeeded ??
true)) {
_model.createAccount =
await GoogleCLPAuthorizationGroup
.signUpCall
.call(
email: _model
.emailController
.text,
password: _model
.passwordController
.text,
);
_shouldSetState = true;
if ((_model
.createAccount
?.succeeded ??
true)) {
_model.signIn =
await GoogleCLPAuthorizationGroup
.signInCall
.call(
email: _model
.emailController
.text,
password: _model
.passwordController
.text,
);
_shouldSetState =
true;
if ((_model.signIn
?.succeeded ??
true)) {
FFAppState()
.update(() {
FFAppState()
.token =
GoogleCLPAuthorizationGroup
.signInCall
.token(
(_model.signIn?.jsonBody ??
''),
)
.toString();
FFAppState()
.refreshToken =
GoogleCLPAuthorizationGroup
.signInCall
.refreshToken(
(_model.signIn?.jsonBody ??
''),
)
.toString();
});
context.goNamed(
'Landing',
extra: <String,
dynamic>{
kTransitionInfoKey:
TransitionInfo(
hasTransition:
true,
transitionType:
PageTransitionType
.fade,
),
},
);
if (_shouldSetState)
setState(() {});
return;
} else {
ScaffoldMessenger
.of(context)
.showSnackBar(
SnackBar(
content: Text(
GoogleCLPAuthorizationGroup
.signInCall
.apiMessage(
(_model.signIn?.jsonBody ??
''),
)
.toString(),
style:
TextStyle(
color: FlutterFlowTheme.of(
context)
.primaryText,
),
),
duration: Duration(
milliseconds:
4000),
backgroundColor:
FlutterFlowTheme.of(
context)
.secondary,
),
);
}
} else {
ScaffoldMessenger.of(
context)
.showSnackBar(
SnackBar(
content: Text(
GoogleCLPAuthorizationGroup
.signUpCall
.apiMessage(
(_model.createAccount
?.jsonBody ??
''),
)
.toString(),
style:
TextStyle(
color: FlutterFlowTheme.of(
context)
.primaryText,
),
),
duration: Duration(
milliseconds:
4000),
backgroundColor:
FlutterFlowTheme.of(
context)
.secondary,
),
);
}
} else {
ScaffoldMessenger.of(
context)
.showSnackBar(
SnackBar(
content: Text(
GoogleCLPAuthorizationGroup
.createUserCall
.apiMessage(
(_model.createUser
?.jsonBody ??
''),
)
.toString(),
style: TextStyle(
color: FlutterFlowTheme.of(
context)
.primaryText,
),
),
duration: Duration(
milliseconds:
4000),
backgroundColor:
FlutterFlowTheme.of(
context)
.secondary,
),
);
}
} else {
ScaffoldMessenger.of(
context)
.showSnackBar(
SnackBar(
content: Text(
GoogleCLPAuthorizationGroup
.signInCall
.apiMessage(
(_model.generateToken
?.jsonBody ??
''),
)
.toString(),
style: TextStyle(
color: FlutterFlowTheme
.of(context)
.primaryText,
),
),
duration: Duration(
milliseconds:
4000),
backgroundColor:
FlutterFlowTheme.of(
context)
.secondary,
),
);
}
if (_shouldSetState)
setState(() {});
},
text: 'Create Account',
options: FFButtonOptions(
width: 200.0,
height: 40.0,
padding:
EdgeInsetsDirectional
.fromSTEB(0.0, 0.0,
0.0, 0.0),
iconPadding:
EdgeInsetsDirectional
.fromSTEB(0.0, 0.0,
0.0, 0.0),
color: Color(0xFF8CB1D7),
textStyle: FlutterFlowTheme
.of(context)
.titleSmall
.override(
fontFamily: 'Poppins',
color: Colors.white,
fontSize: 12.0,
),
elevation: 0.0,
borderSide: BorderSide(
color: Color(0xFF8CB1D7),
width: 0.1,
),
borderRadius:
BorderRadius.circular(
30.0),
hoverColor:
FlutterFlowTheme.of(
context)
.primary,
hoverTextColor:
Colors.white,
),
),
),
Padding(
padding: EdgeInsetsDirectional
.fromSTEB(
0.0, 20.0, 0.0, 0.0),
child: InkWell(
splashColor:
Colors.transparent,
focusColor:
Colors.transparent,
hoverColor:
Colors.transparent,
highlightColor:
Colors.transparent,
onTap: () async {
context.pushNamed(
'SignIn',
extra: <String, dynamic>{
kTransitionInfoKey:
TransitionInfo(
hasTransition: true,
transitionType:
PageTransitionType
.fade,
duration: Duration(
milliseconds: 0),
),
},
);
},
child: Text(
'Sign In',
style: FlutterFlowTheme.of(
context)
.bodyMedium
.override(
fontFamily: 'Poppins',
color: FlutterFlowTheme
.of(context)
.secondaryText,
fontSize: 11.0,
fontWeight:
FontWeight.w600,
),
),
),
),
],
),
),
),
],
),
),
),
),
],
),
),
),
),
),
],
),
),
),
),
);
}