workouttest_app/lib/view/registration.dart
Bossanyi Tibor c8f0ced24d Aitrainer_app 1.1.0
Login and Registraion
2020-06-12 21:34:15 +02:00

85 lines
3.2 KiB
Dart

import 'package:aitrainer_app/viewmodel/user_changing_view_model.dart';
import 'package:aitrainer_app/viewmodel/user_view_model.dart';
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
import 'package:aitrainer_app/widgets/nav_drawer.dart';
class RegistrationPage extends StatefulWidget{
_RegistrationPageState createState() => _RegistrationPageState();
}
class _RegistrationPageState extends State {
final UserViewModel user = UserViewModel();
bool _obscureText = true;
final _formKey = GlobalKey<FormState>();
@override
Widget build(BuildContext context) {
UserChangingViewModel model = UserChangingViewModel(user);
user.createNew();
return Scaffold(
drawer: NavDrawer(),
appBar: AppBar(
title: Text('Registration'),
),
body: Center(
child: Form(
key: _formKey,
child: Column(
children: <Widget>[
TextFormField(
decoration: InputDecoration(
border: OutlineInputBorder(),
labelText: 'Email',
icon: const Padding(
padding:const EdgeInsets.only(left: 20.0, top: 50.0),
child: const Icon(Icons.people)
)
),
/* validator: (String input) {
RegExp exp = new RegExp(r"[\w._]+\@[\w._]+.[a-z]+",
caseSensitive: false,
multiLine: false,);
String ret = exp.hasMatch(input) == true ?
null:
"Please type an email address";
return ret;
},*/
onChanged: (input) => user.setEmail(input),
),
new TextFormField(
decoration: const InputDecoration(
labelText: 'Password',
icon: const Padding(
padding: const EdgeInsets.only(left: 20.0, top: 15.0),
child: const Icon(Icons.lock))),
/* validator: (String input) {
String rc = input.length < 4 ? 'Password too short.' : null;
return rc;
}, */
onChanged: (input) => user.setPassword(input),
obscureText: _obscureText,
),
new InkWell(
child: new Text('I have an account'),
onTap: () => Navigator.of(context).pushNamed('login'),
),
new FloatingActionButton(
child: Icon(Icons.cloud_done,),
onPressed:() => {
if (_formKey.currentState.validate()) {
model = UserChangingViewModel(user),
model.addUser(),
Navigator.pop(context),
}
}
)
])
),
),
);
}
}