import 'package:aman_kassa_flutter/core/locator.dart'; import 'package:aman_kassa_flutter/core/route_names.dart'; import 'package:aman_kassa_flutter/core/services/navigator_service.dart'; import 'package:aman_kassa_flutter/redux/actions/calc_actions.dart'; import 'package:aman_kassa_flutter/redux/constants/operation_const.dart'; import 'package:aman_kassa_flutter/redux/constants/setting_const.dart'; import 'package:aman_kassa_flutter/redux/state/calc_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/shared_styles.dart'; import 'package:aman_kassa_flutter/views/payment/payment_view.dart'; import 'package:aman_kassa_flutter/widgets/components/calculator/calculator.dart'; import 'package:flutter/material.dart'; import 'package:aman_kassa_flutter/widgets/components/calculator/calculator-buttons.dart'; import 'package:aman_kassa_flutter/widgets/components/calculator/number-display.dart'; import 'package:flutter_redux/flutter_redux.dart'; class CalculatorTab extends StatelessWidget { NavigatorService _navigatorService = locator(); final int index; CalculatorTab(this.index); @override Widget build(BuildContext context) { return Scaffold( body: Column( children: [ StoreConnector( converter: (store) => store.state.calcState, builder: (context, vm) { return NumberDisplay(value: Calculator.parseItems(vm.calcItems, vm.isEqual)); } ), CalculatorButtons(onTap: _onPress), Row( children: [ Expanded( child: RaisedButton( padding: EdgeInsets.all(10.0), color: redColor, child: Text( "Возврат", style: buttonBigTitleTextStyle, ), onPressed: () { _navigatorService.push(PaymentViewRoute, arguments: PaymentModel(mode: SettingModeCalc, operationType: OperationTypeReturn) ); } ), ), Expanded( child: RaisedButton( padding: EdgeInsets.all(10.0), color: greenColor, child: Text( "Оплата", style: buttonBigTitleTextStyle, ), onPressed: () { _navigatorService.push(PaymentViewRoute, arguments: PaymentModel(mode: SettingModeCalc, operationType: OperationTypePay) ); }, ), ), ], ) ], mainAxisAlignment: MainAxisAlignment.spaceBetween, )); } void _onPress({ String buttonText}) { Redux.store.dispatch(onTapAction(buttonText)); } }