import 'package:fcs/pages/util.dart'; import 'package:fcs/vo/rate.dart'; import 'package:fcs/widget/localization/app_translations.dart'; import 'package:flutter/material.dart'; import 'package:fcs/widget/progress.dart'; import '../theme/theme.dart'; class CargoEditor extends StatefulWidget { final Rate rate; CargoEditor({this.rate}); @override _CargoEditorState createState() => _CargoEditorState(); } class _CargoEditorState extends State { TextEditingController _descController = new TextEditingController(); TextEditingController _rateController = new TextEditingController(); bool _isLoading = false; Rate _rate = new Rate(); @override void initState() { super.initState(); if (widget.rate != null) { _rate = widget.rate; _descController.text = _rate.description; _rateController.text = _rate.price.toString(); } } @override void dispose() { super.dispose(); } @override Widget build(BuildContext context) { 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("cargo.form.title")), ), body: Container( padding: EdgeInsets.all(18), child: Column( children: [ Expanded( child: ListView( children: [ fcsInput("Cargo Type", Icons.text_format, controller: _descController), fcsInput("Rate", Icons.attach_money, controller: _rateController), SizedBox(height: 30), ], ), ), widget.rate == null ? fcsButton(context, "Create", callack: () {}) : fcsButton(context, "Save", callack: () {}), SizedBox(height: 10) ], ), ), ), ); } }