import 'package:itasmob/presentation/home/index.dart'; import 'package:itasmob/presentation/register/register.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:itasmob/widgets/header_widgets.dart'; import 'package:flutter/material.dart'; import '../common/theme_helper.dart'; class LoginView extends StatefulWidget { const LoginView({ Key? key }) : super(key: key); @override _LoginPageState createState() => _LoginPageState(); } class _LoginPageState extends State<LoginView> { double _headerHeight = 250; Key _formKey = GlobalKey<FormState>(); late TextEditingController _emailController; late TextEditingController _passwordController; @override void initState() { super.initState(); _emailController = TextEditingController(); _passwordController = TextEditingController(); } @override Widget build(BuildContext context) { return Scaffold( backgroundColor: Colors.white, body: SingleChildScrollView( child: Column( children: [ Container( height: _headerHeight, child: HeaderWidget(_headerHeight, true, Icons.person), ), SafeArea( child: Container( padding: EdgeInsets.fromLTRB(20, 10, 20, 10), margin: EdgeInsets.fromLTRB( 20, 10, 20, 10), // This will be the login form child: Column( children: [ Text( 'Welcome GoPlanners!', style: TextStyle( fontSize: 30, color: Colors.indigoAccent, fontWeight: FontWeight.bold), ), Text( '', style: TextStyle(color: Colors.grey), ), SizedBox(height: 30.0), Form( key: _formKey, child: Column( children: [ Container( child: TextField( controller: _emailController, decoration: ThemeHelper().textInputDecoration( 'User Name', 'Enter your user name'), ), decoration: ThemeHelper().inputBoxDecorationShaddow(), ), SizedBox(height: 30.0), Container( child: TextField( controller: _passwordController, obscureText: true, decoration: ThemeHelper().textInputDecoration( 'Password', 'Enter your password'), ), decoration: ThemeHelper().inputBoxDecorationShaddow(), ), SizedBox(height: 15.0), Container( margin: EdgeInsets.fromLTRB(10, 0, 10, 20), alignment: Alignment.topRight, child: GestureDetector( onTap: () { Navigator.push( context, MaterialPageRoute( builder: (context) => HomeView() ), ); }, child: Text( "Forgot your password?", style: TextStyle( color: Colors.lightBlue, ), ), ), ), Container( decoration: ThemeHelper().buttonBoxDecoration(context), child: ElevatedButton( style: ThemeHelper().buttonStyle(), child: Padding( padding: EdgeInsets.fromLTRB(40, 10, 40, 10), child: Text( 'Sign In'.toUpperCase(), style: TextStyle( fontSize: 20, fontWeight: FontWeight.bold, color: Colors.white), ), ), onPressed: () async { // await ApiService() // .loginUser(User( // email: _emailController.text, // password: _passwordController.text)) // .then((data) { // if (data.access_token!.isNotEmpty) { // Navigator.pushReplacement( // context, // MaterialPageRoute( // builder: (context) => // ProfilePage())); // } else { // showAlert( // context: context, title: data.msg); // } // ; // }); //After successful login we will redirect to profile page. Let's create profile page now }, ), ), Container( margin: EdgeInsets.fromLTRB(10, 20, 10, 20), //child: Text('Don\'t have an account? Create'), child: Text.rich(TextSpan(children: [ TextSpan(text: "Don\'t have an account? "), TextSpan( text: 'signup', recognizer: TapGestureRecognizer() ..onTap = () { Navigator.push( context, MaterialPageRoute( builder: (context) => RegisterView())); }, style: TextStyle( fontWeight: FontWeight.bold, color: Theme.of(context).accentColor), ), ])), ), ], )), ], )), ), ], ), ), ); } }