import 'package:aman_kassa_flutter/redux/actions/user_actions.dart'; import 'package:aman_kassa_flutter/redux/state/user_state.dart'; import 'package:aman_kassa_flutter/redux/store.dart'; import 'package:aman_kassa_flutter/shared/app_colors.dart'; import 'package:aman_kassa_flutter/shared/ui_helpers.dart'; import 'package:aman_kassa_flutter/widgets/fields/busy_button.dart'; import 'package:aman_kassa_flutter/widgets/fields/input_field.dart'; import 'package:aman_kassa_flutter/widgets/fields/text_link.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:flutter/material.dart'; class LoginView extends StatelessWidget { final emailController = TextEditingController(text: 'test@kkm-kassa.kz'); final passwordController = TextEditingController(text: 'qwe123'); final FocusNode passwordNode = new FocusNode(); final GlobalKey _scaffoldKey = new GlobalKey(); _pressBtnEnter() async { Redux.store.dispatch(authenticate(emailController.text, passwordController.text)); } @override Widget build(BuildContext context) { return StoreConnector( converter: (store) => store.state.userState, builder: (context, vm) { return Scaffold( key: _scaffoldKey, backgroundColor: fillColor, body: Padding( padding: const EdgeInsets.symmetric(horizontal: 50), child: Column( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ SizedBox( height: 150, child: Image.asset('assets/images/logo.png'), //child: FlutterLogo(size: 120,), ), InputField( placeholder: 'Электронная почта', controller: emailController, textInputType: TextInputType.emailAddress, nextFocusNode: passwordNode, additionalNote: vm.loginFormMessage.email, ), verticalSpaceSmall, InputField( placeholder: 'Пароль', password: true, controller: passwordController, fieldFocusNode: passwordNode, additionalNote: vm.loginFormMessage.password, enterPressed: _pressBtnEnter), verticalSpaceMedium, Row( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.end, children: [ BusyButton( title: 'Войти', busy: vm.isLoading, onPressed: _pressBtnEnter, ) ], ), verticalSpaceLarge, TextLink( 'Регистрация', onPressed: () {}, ) ], ), )); }); } }