1
0
mirror of https://gitlab.com/comunic/comunicmobile synced 2024-10-23 06:53:23 +00:00
comunicmobile/lib/ui/login_route.dart

93 lines
2.2 KiB
Dart

import 'package:comunic/utils/input_utils.dart';
import 'package:comunic/utils/intl_utils.dart';
import 'package:flutter/material.dart';
/// Login route
///
/// @author Pierre HUBERT
class LoginRoute extends StatefulWidget {
@override
State<StatefulWidget> createState() => _LoginRouteState();
}
class _LoginRouteState extends State<LoginRoute> {
String _currEmail;
String _currPassword;
@override
void initState() {
super.initState();
_currEmail = "";
_currPassword = "";
}
void _emailChanged(String newEmail) {
setState(() {
_currEmail = newEmail;
});
}
void _passwordChanged(String newValue) {
setState(() {
_currPassword = newValue;
});
}
/// Call this whenever the user request to perform login
void _submitForm() {
}
/// Build login form
Widget _buildLoginForm(){
return SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
children: <Widget>[
Text(tr("Please sign into your Comunic account: ")),
//Email address
TextField(
keyboardType: TextInputType.emailAddress,
decoration: InputDecoration(
labelText: tr("Email address"),
alignLabelWithHint: true,
errorText:
_currEmail.length > 0 && !validateEmail(_currEmail)
? tr("Invalid email address!")
: null),
onChanged: _emailChanged,
),
//Password
TextField(
obscureText: true,
decoration: InputDecoration(
labelText: tr("Password"),
alignLabelWithHint: true,
),
onChanged: _passwordChanged,
),
RaisedButton(
child: Text(tr("Sign in")),
onPressed: !validateEmail(_currEmail) || _currPassword.length < 3 ? null : _submitForm,
)
],
),
),
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Comunic"),
),
body: _buildLoginForm()
);
}
}