import 'package:fcs/model/discount_model.dart'; import 'package:fcs/pages/util.dart'; import 'package:fcs/vo/discount.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 DiscountEditor extends StatefulWidget { final Discount discount; const DiscountEditor({Key key, this.discount}) : super(key: key); @override _DiscountEditorState createState() => _DiscountEditorState(); } class _DiscountEditorState extends State { bool _isLoading = false; Discount _discount = new Discount(); TextEditingController _codeController = new TextEditingController(); TextEditingController _amountController = new TextEditingController(); TextEditingController _statusController = new TextEditingController(); TextEditingController _customerController = new TextEditingController(); bool isNew = false; @override void initState() { super.initState(); if (widget.discount != null) { _discount = widget.discount; _codeController.text = _discount.code; _amountController.text = _discount.amount.toString(); _statusController.text = _discount.status; _customerController.text = 'Ko Nyi'; } else { isNew = true; _customerController.text = ''; } } @override Widget build(BuildContext context) { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( backgroundColor: Colors.white, appBar: AppBar( title: Text( AppTranslations.of(context).text("discount.new"), ), backgroundColor: primaryColor, actions: [], ), body: Padding( padding: const EdgeInsets.only(left: 20.0), child: Column( children: [ Expanded( child: ListView( children: [ fcsInput('Code', FontAwesomeIcons.algolia, controller: _codeController), fcsInput('Customer Name', Feather.user, controller: _customerController), fcsInput('Amount', FontAwesomeIcons.moneyBill, controller: _amountController), widget.discount == null ? Container() : Container( padding: EdgeInsets.only(top: 5), child: TextFormField( controller: _statusController, readOnly: true, decoration: InputDecoration( fillColor: Colors.white, labelText: 'Status', labelStyle: TextStyle( fontSize: 16, color: primaryColor), filled: true, enabledBorder: InputBorder.none, focusedBorder: InputBorder.none, icon: Icon( Icons.av_timer, color: primaryColor, ), )), ), ], ), ), widget.discount == null ? Align( alignment: Alignment.bottomCenter, child: Center( child: Container( width: 250, child: FlatButton( child: Text('Add Discount'), color: primaryColor, textColor: Colors.white, onPressed: () { Navigator.pop(context); }, ), ))) : Align( alignment: Alignment.bottomCenter, child: Center( child: Container( width: 250, child: FlatButton( child: Text('Save box'), color: primaryColor, textColor: Colors.white, onPressed: () { Navigator.pop(context); }, ), ))), SizedBox( height: 30, ) ], ), )), ); } }