2019-11-02 17:09:34 +00:00
|
|
|
import 'package:comunic/ui/routes/create_account_route.dart';
|
2021-02-18 17:28:57 +00:00
|
|
|
import 'package:comunic/ui/routes/forgot_password_route.dart';
|
2020-04-17 13:25:26 +00:00
|
|
|
import 'package:comunic/ui/widgets/init_widget.dart';
|
2020-05-04 17:05:21 +00:00
|
|
|
import 'package:comunic/ui/widgets/login_scaffold.dart';
|
2021-04-17 07:52:05 +00:00
|
|
|
import 'package:comunic/ui/widgets/login_widget.dart';
|
2019-04-21 09:44:07 +00:00
|
|
|
import 'package:comunic/utils/intl_utils.dart';
|
2019-04-21 08:34:27 +00:00
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
|
|
|
/// Login route
|
|
|
|
///
|
|
|
|
/// @author Pierre HUBERT
|
|
|
|
|
|
|
|
class LoginRoute extends StatefulWidget {
|
|
|
|
@override
|
|
|
|
State<StatefulWidget> createState() => _LoginRouteState();
|
|
|
|
}
|
|
|
|
|
|
|
|
class _LoginRouteState extends State<LoginRoute> {
|
2019-11-02 17:09:34 +00:00
|
|
|
void _openCreateAccountPage() {
|
|
|
|
Navigator.of(context)
|
|
|
|
.push(MaterialPageRoute(builder: (c) => CreateAccountRoute()));
|
|
|
|
}
|
|
|
|
|
2020-05-03 12:22:06 +00:00
|
|
|
void _openResetPasswordPage() {
|
|
|
|
Navigator.of(context)
|
2021-02-18 17:28:57 +00:00
|
|
|
.push(MaterialPageRoute(builder: (c) => ForgotPasswordRoute()));
|
2020-05-03 12:22:06 +00:00
|
|
|
}
|
|
|
|
|
2019-04-21 09:44:07 +00:00
|
|
|
/// Build login form
|
2019-04-22 17:16:26 +00:00
|
|
|
Widget _buildLoginForm() {
|
2019-04-21 09:44:07 +00:00
|
|
|
return SingleChildScrollView(
|
|
|
|
child: Padding(
|
|
|
|
padding: const EdgeInsets.all(8.0),
|
|
|
|
child: Column(
|
|
|
|
children: <Widget>[
|
2021-04-17 07:52:05 +00:00
|
|
|
LoginWidget(
|
|
|
|
onSignedIn: () => Navigator.pushReplacement(context,
|
|
|
|
MaterialPageRoute(builder: (b) => InitializeWidget())),
|
2019-04-21 09:44:07 +00:00
|
|
|
),
|
2019-11-02 17:09:34 +00:00
|
|
|
InkWell(
|
|
|
|
child: Text(
|
|
|
|
tr("Create an account"),
|
2020-05-04 17:05:21 +00:00
|
|
|
style: TextStyle(color: Colors.blue.shade100),
|
2019-11-02 17:09:34 +00:00
|
|
|
),
|
|
|
|
onTap: () => _openCreateAccountPage(),
|
|
|
|
),
|
2020-05-03 12:22:06 +00:00
|
|
|
Container(height: 10),
|
|
|
|
InkWell(
|
|
|
|
child: Text(
|
|
|
|
tr("Password forgotten"),
|
2020-05-04 17:05:21 +00:00
|
|
|
style: TextStyle(color: Colors.blue.shade100),
|
2020-05-03 12:22:06 +00:00
|
|
|
),
|
|
|
|
onTap: _openResetPasswordPage,
|
|
|
|
),
|
2019-04-21 09:44:07 +00:00
|
|
|
],
|
|
|
|
),
|
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2019-04-21 08:34:27 +00:00
|
|
|
@override
|
2021-04-17 07:52:05 +00:00
|
|
|
Widget build(BuildContext context) => LoginScaffold(child: _buildLoginForm());
|
2019-04-21 09:44:07 +00:00
|
|
|
}
|