library login_view; 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/material.dart'; import 'package:stacked/stacked.dart'; import 'login_view_model.dart'; class LoginView extends StatelessWidget { final emailController = TextEditingController(); final passwordController = TextEditingController(); final FocusNode passwordNode = new FocusNode(); @override Widget build(BuildContext context) { //LoginViewModel viewModel = LoginViewModel(); return ViewModelBuilder.reactive( viewModelBuilder: () => LoginViewModel(), onModelReady: (viewModel) { // Do something once your viewModel is initialized }, builder: (context, viewModel, child) { return Scaffold( //backgroundColor: Colors.white, 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, ), verticalSpaceSmall, InputField( placeholder: 'Пароль', password: true, controller: passwordController, fieldFocusNode: passwordNode, ), verticalSpaceMedium, Row( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.end, children: [ BusyButton( title: 'Войти', busy: viewModel.busy, onPressed: () { viewModel.login( email: emailController.text.trim(), password: passwordController.text, ); }, ) ], ), verticalSpaceLarge, TextLink( 'Регистрация', onPressed: () { //viewModel.navigateToSignUp(); }, ) ], ), )); }); } }