import '/flutter_flow/flutter_flow_theme.dart';
import '/flutter_flow/flutter_flow_util.dart';
import '/flutter_flow/flutter_flow_widgets.dart';
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:provider/provider.dart';
import 'login_model.dart';
export 'login_model.dart';
class LoginWidget extends StatefulWidget {
const LoginWidget({Key? key}) : super(key: key);
@override
_LoginWidgetState createState() => _LoginWidgetState();
}
class _LoginWidgetState extends State<LoginWidget> {
late LoginModel _model;
final scaffoldKey = GlobalKey<ScaffoldState>();
@override
void initState() {
super.initState();
_model = createModel(context, () => LoginModel());
_model.textController1 ??= TextEditingController();
_model.textController2 ??= TextEditingController();
}
@override
void dispose() {
_model.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: () => FocusScope.of(context).requestFocus(_model.unfocusNode),
child: Scaffold(
key: scaffoldKey,
backgroundColor: Colors.white,
body: SafeArea(
top: true,
child: SingleChildScrollView(
child: Column(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
width: double.infinity,
height: 140,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.only(
bottomLeft: Radius.circular(16),
bottomRight: Radius.circular(16),
topLeft: Radius.circular(0),
topRight: Radius.circular(0),
),
),
alignment: AlignmentDirectional(-1.00, 0.00),
child: Padding(
padding: EdgeInsetsDirectional.fromSTEB(32, 0, 0, 0),
child: Text(
'Home.ai',
style: FlutterFlowTheme.of(context).displaySmall.override(
fontFamily: 'Outfit',
color: Color(0xFF15161E),
fontSize: 36,
fontWeight: FontWeight.w600,
),
),
),
),
Align(
alignment: AlignmentDirectional(0.00, 0.00),
child: Padding(
padding: EdgeInsetsDirectional.fromSTEB(32, 32, 32, 32),
child: Column(
mainAxisSize: MainAxisSize.max,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'Welcome Back',
style: FlutterFlowTheme.of(context)
.displaySmall
.override(
fontFamily: 'Outfit',
color: Color(0xFF15161E),
fontSize: 36,
fontWeight: FontWeight.w600,
),
),
Padding(
padding: EdgeInsetsDirectional.fromSTEB(0, 12, 0, 24),
child: Text(
'Let\'s get started by filling out the form below.',
style: FlutterFlowTheme.of(context)
.labelMedium
.override(
fontFamily: 'Outfit',
color: Color(0xFF606A85),
fontSize: 14,
fontWeight: FontWeight.w500,
),
),
),
Padding(
padding: EdgeInsetsDirectional.fromSTEB(0, 0, 0, 16),
child: TextFormField(
controller: _model.textController1,
obscureText: false,
decoration: InputDecoration(
labelText: 'Email',
hintStyle: FlutterFlowTheme.of(context)
.bodyLarge
.override(
fontFamily: 'Plus Jakarta Sans',
color: Color(0xFF15161E),
fontSize: 16,
fontWeight: FontWeight.normal,
),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Color(0xFFE5E7EB),
width: 2,
),
borderRadius: BorderRadius.circular(12),
),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Color(0x00000000),
width: 2,
),
borderRadius: BorderRadius.circular(12),
),
errorBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Color(0x00000000),
width: 2,
),
borderRadius: BorderRadius.circular(12),
),
focusedErrorBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Color(0x00000000),
width: 2,
),
borderRadius: BorderRadius.circular(12),
),
),
style:
FlutterFlowTheme.of(context).bodyLarge.override(
fontFamily: 'Plus Jakarta Sans',
color: Color(0xFF15161E),
fontSize: 16,
fontWeight: FontWeight.normal,
),
validator: _model.textController1Validator
.asValidator(context),
),
),
Padding(
padding: EdgeInsetsDirectional.fromSTEB(0, 0, 0, 16),
child: TextFormField(
controller: _model.textController2,
obscureText: !_model.passwordVisibility,
decoration: InputDecoration(
labelText: 'Password',
hintStyle: FlutterFlowTheme.of(context)
.bodyLarge
.override(
fontFamily: 'Plus Jakarta Sans',
color: Color(0xFF15161E),
fontSize: 16,
fontWeight: FontWeight.normal,
),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Color(0xFFE5E7EB),
width: 2,
),
borderRadius: BorderRadius.circular(12),
),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Color(0x00000000),
width: 2,
),
borderRadius: BorderRadius.circular(12),
),
errorBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Color(0x00000000),
width: 2,
),
borderRadius: BorderRadius.circular(12),
),
focusedErrorBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Color(0x00000000),
width: 2,
),
borderRadius: BorderRadius.circular(12),
),
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(0xFF606A85),
size: 22,
),
),
),
style:
FlutterFlowTheme.of(context).bodyLarge.override(
fontFamily: 'Plus Jakarta Sans',
color: Color(0xFF15161E),
fontSize: 16,
fontWeight: FontWeight.normal,
),
validator: _model.textController2Validator
.asValidator(context),
),
),
Padding(
padding: EdgeInsetsDirectional.fromSTEB(0, 0, 0, 16),
child: FFButtonWidget(
onPressed: () async {},
text: 'Sign In',
options: FFButtonOptions(
width: 370,
height: 44,
padding:
EdgeInsetsDirectional.fromSTEB(0, 0, 0, 0),
iconPadding:
EdgeInsetsDirectional.fromSTEB(0, 0, 0, 0),
color: Color(0xFF6F61EF),
textStyle: FlutterFlowTheme.of(context)
.titleSmall
.override(
fontFamily: 'Plus Jakarta Sans',
color: Colors.white,
fontSize: 16,
fontWeight: FontWeight.w500,
),
elevation: 3,
borderRadius: BorderRadius.circular(12),
),
),
),
Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Padding(
padding:
EdgeInsetsDirectional.fromSTEB(0, 4, 0, 4),
child: Text(
'Don\'t have an account?',
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: 'Plus Jakarta Sans',
color: Color(0xFF15161E),
fontSize: 14,
fontWeight: FontWeight.normal,
),
),
),
Padding(
padding:
EdgeInsetsDirectional.fromSTEB(4, 4, 0, 4),
child: Text(
'Sign Up Here',
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: 'Plus Jakarta Sans',
color: Color(0xFF6F61EF),
fontSize: 14,
fontWeight: FontWeight.normal,
),
),
),
],
),
Padding(
padding: EdgeInsetsDirectional.fromSTEB(0, 32, 0, 16),
child: FFButtonWidget(
onPressed: () {
print('Button pressed ...');
},
text: 'Forgot Password?',
options: FFButtonOptions(
width: 370,
height: 44,
padding:
EdgeInsetsDirectional.fromSTEB(0, 0, 0, 0),
iconPadding:
EdgeInsetsDirectional.fromSTEB(0, 0, 0, 0),
color: Colors.white,
textStyle: FlutterFlowTheme.of(context)
.labelLarge
.override(
fontFamily: 'Outfit',
color: Color(0xFF606A85),
fontSize: 16,
fontWeight: FontWeight.w500,
),
elevation: 0,
borderRadius: BorderRadius.circular(12),
),
),
),
],
),
),
),
],
),
),
),
),
);
}
}