import 'dart:convert'; import 'package:aman_kassa_flutter/core/locator.dart'; import 'package:aman_kassa_flutter/core/models/aman_dao.dart'; import 'package:aman_kassa_flutter/core/services/BankService.dart'; import 'package:aman_kassa_flutter/core/services/dialog_service.dart'; import 'package:aman_kassa_flutter/redux/actions/bank_actions.dart'; import 'package:aman_kassa_flutter/redux/state/bank_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:flutter/material.dart'; import 'package:flutter/services.dart'; import '../../core/services/navigator_service.dart'; class BankSettingView extends StatefulWidget { BankSettingView(); @override _BankSettingViewState createState() => _BankSettingViewState(); } class _BankSettingViewState extends State { late TextEditingController _emailController; late TextEditingController _passwordController; final NavigatorService _navigatorService = locator(); final DialogService _dialogService = locator(); late String _sessionType; @override void initState() { super.initState(); BankState state = Redux.store!.state.bankState!; _emailController = new TextEditingController(text: state.login); _passwordController = new TextEditingController(text: state.password); //permissions(); _sessionType = 'Halyk'; } // Future permissions() async { // try { // await _bankService.permissions(); // } on PlatformException { // // } // } @override void dispose() { _emailController.dispose(); _passwordController.dispose(); super.dispose(); } void _saveData(BuildContext _context) async { FocusScope.of(_context).unfocus(); await Redux.store!.dispatch(saveData( _emailController.text, _passwordController.text, sessionType: _sessionType, )); _dialogService.showDialog(description: 'Данные сохранены'); _navigatorService.pop(); } @override Widget build(BuildContext context) { final BankState? state = Redux.store?.state.bankState; // Проверяем, активна ли Forte-сессия if ((state?.login != null && state!.login!.isNotEmpty) || (state?.password != null && state!.password!.isNotEmpty)) { if (state.sessionType != 'Halyk') { return Scaffold( appBar: AppBar( centerTitle: true, title: Text('Настройка HalykPos'), ), body: Center( child: Text( 'У вас подключен терминал Forte', style: TextStyle(fontSize: 16.0, color: Colors.grey), ), ), ); } } return Scaffold( appBar: AppBar( centerTitle: true, title: Text('Настройка HalykPos'), ), body: SingleChildScrollView( child: Container( margin: const EdgeInsets.symmetric(horizontal: 14.0), child: Column( children: [ verticalSpaceTiny, Text( 'Необходимо указать почту/номер и пароль для подключения к системе проведения платежей', style: TextStyle(fontSize: 15.0), textAlign: TextAlign.center, ), verticalSpaceTiny, TextField( controller: _emailController, decoration: InputDecoration( labelText: 'E-Mail / Номер телефона ', hintText: "Введите адрес почты"), keyboardType: TextInputType.emailAddress, ), TextField( controller: _passwordController, obscureText: true, decoration: InputDecoration( labelText: 'Пароль', hintText: "Введите пароль"), ), verticalSpaceMedium, RaisedButton( onPressed: () => this._saveData(context), child: Text( 'Cохранить', style: TextStyle(color: whiteColor, fontSize: 25.0), ), color: primaryColor, padding: const EdgeInsets.symmetric(vertical: 5.0, horizontal: 20.0), ), ], ), ), ), ); } }