import 'package:fcs/domain/entities/custom.dart';
import 'package:fcs/helpers/theme.dart';
import 'package:fcs/localization/app_translations.dart';
import 'package:fcs/pages/main/util.dart';
import 'package:fcs/pages/widgets/input_text.dart';
import 'package:fcs/pages/widgets/progress.dart';
import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';

class CustomEditor extends StatefulWidget {
  final Custom custom;
  CustomEditor({this.custom});

  @override
  _CustomEditorState createState() => _CustomEditorState();
}

class _CustomEditorState extends State<CustomEditor> {
  TextEditingController _productController = new TextEditingController();
  TextEditingController _feeController = new TextEditingController();

  bool _isLoading = false;
  Custom _custom = new Custom();

  @override
  void initState() {
    super.initState();
    if (widget.custom != null) {
      _custom = widget.custom;
      _productController.text = _custom.productType;
      _feeController.text = _custom.fee.toString();
    }
  }

  @override
  void dispose() {
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    final productBox = InputText(
        labelTextKey: 'rate.cutom.product_type',
        iconData: FontAwesomeIcons.weightHanging,
        controller: _productController);
    final feeBox = InputText(
        labelTextKey: 'rate.custom.fee',
        iconData: Icons.attach_money,
        controller: _feeController);
    return LocalProgress(
      inAsyncCall: _isLoading,
      child: Scaffold(
        appBar: AppBar(
          centerTitle: true,
          leading: new IconButton(
            icon: new Icon(
              Icons.close,
            ),
            onPressed: () => Navigator.of(context).pop(),
          ),
          backgroundColor: primaryColor,
          title:
              Text(AppTranslations.of(context).text("rate.custom.form.title")),
        ),
        body: Container(
          padding: EdgeInsets.all(18),
          child: Column(
            children: <Widget>[
              Expanded(
                child: ListView(
                  children: <Widget>[
                    productBox,
                    feeBox,
                    SizedBox(height: 30),
                  ],
                ),
              ),
              widget.custom == null
                  ? fcsButton(context, "Create", callack: () {})
                  : fcsButton(context, "Save", callack: () {}),
              SizedBox(height: 10)
            ],
          ),
        ),
      ),
    );
  }
}
