import 'package:fcs/model/discount_model.dart'; import 'package:fcs/pages/util.dart'; import 'package:fcs/vo/discount.dart'; import 'package:fcs/vo/payment_method.dart'; import 'package:flutter/material.dart'; import 'package:flutter_icons/flutter_icons.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:provider/provider.dart'; import 'package:fcs/widget/localization/app_translations.dart'; import 'package:fcs/widget/progress.dart'; import '../theme/theme.dart'; class PaymentMethodEditor extends StatefulWidget { final PaymentMethod paymentMethod; const PaymentMethodEditor({Key key, this.paymentMethod}) : super(key: key); @override _PaymentMethodEditorState createState() => _PaymentMethodEditorState(); } class _PaymentMethodEditorState extends State { bool _isLoading = false; PaymentMethod _paymentMethod = new PaymentMethod(); TextEditingController _nameController = new TextEditingController(); TextEditingController _accountNameController = new TextEditingController(); TextEditingController _accountNumberController = new TextEditingController(); TextEditingController _mailController = new TextEditingController(); TextEditingController _phoneController = new TextEditingController(); TextEditingController _linkController = new TextEditingController(); bool isNew = false; @override void initState() { super.initState(); if (widget.paymentMethod != null) { _paymentMethod = widget.paymentMethod; _nameController.text = _paymentMethod.name; _accountNameController.text = _paymentMethod.accountName; _accountNumberController.text = _paymentMethod.account; _mailController.text = _paymentMethod.mail; _phoneController.text = _paymentMethod.phone; _linkController.text = _paymentMethod.link; } else { isNew = true; _nameController.text = ''; } } @override Widget build(BuildContext context) { var discountModel = Provider.of(context); return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( backgroundColor: Colors.white, appBar: AppBar( title: Text( AppTranslations.of(context).text("payment.method.new"), ), backgroundColor: primaryColor, actions: [], ), body: Padding( padding: const EdgeInsets.only(left: 20.0), child: Column( children: [ Expanded( child: ListView( children: [ fcsInput('Name', FontAwesomeIcons.algolia, controller: _nameController), fcsInput('Account Name', Feather.user, controller: _accountNameController), fcsInput('Account Number', FontAwesomeIcons.moneyBill, controller: _accountNumberController), // fcsInput('E-mail', Icons.mail, // controller: _mailController), // fcsInput('Phone', Icons.phone, // controller: _phoneController), fcsInput('Phone', Icons.link, controller: _linkController) ], ), ), widget.paymentMethod == null ? Align( alignment: Alignment.bottomCenter, child: Center( child: Container( width: 250, child: FlatButton( child: Text('Add Payment Method'), color: primaryColor, textColor: Colors.white, onPressed: () { Navigator.pop(context); }, ), ))) : Align( alignment: Alignment.bottomCenter, child: Center( child: Container( width: 250, child: FlatButton( child: Text('Save Payment Method'), color: primaryColor, textColor: Colors.white, onPressed: () { Navigator.pop(context); }, ), ))), SizedBox( height: 30, ) ], ), )), ); } }