import 'package:fcs/model/pickup_model.dart'; import 'package:fcs/fcs/common/pages/util.dart'; import 'package:fcs/vo/pickup.dart'; import 'package:fcs/widget/fcs_text_field.dart'; import 'package:fcs/widget/local_text.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:provider/provider.dart'; import 'package:flutter/material.dart'; import 'package:fcs/widget/progress.dart'; import '../fcs/common/helpers/theme.dart'; class FCSProfilePage extends StatefulWidget { final PickUp pickUp; FCSProfilePage({this.pickUp}); @override _FCSProfilePageState createState() => _FCSProfilePageState(); } class _FCSProfilePageState extends State { TextEditingController _usaAddressEditingController = new TextEditingController(); TextEditingController _mmAddressEditingController = new TextEditingController(); TextEditingController _contactEditingController = new TextEditingController(); TextEditingController _mmContactEditingController = new TextEditingController(); TextEditingController _mailEditingController = new TextEditingController(); TextEditingController _fbLinkEditingController = new TextEditingController(); PickUp _pickUp; bool _isLoading = false; @override void initState() { super.initState(); var pickupModel = Provider.of(context, listen: false); _usaAddressEditingController.text = pickupModel.profile.usaAddress; _mmAddressEditingController.text = pickupModel.profile.mmAddress; _contactEditingController.text = pickupModel.profile.usaContactNumber; _mmContactEditingController.text = pickupModel.profile.mmContactNumber; _mailEditingController.text = pickupModel.profile.mail; _fbLinkEditingController.text = pickupModel.profile.facebook; } @override void dispose() { super.dispose(); } @override Widget build(BuildContext context) { final usaAddress = fcsInput('USA Delivery Address', Icons.location_on, controller: _usaAddressEditingController); final mmAddress = fcsInput('Yangon, Myanmar Office', Icons.location_on, controller: _mmAddressEditingController); final contactNumber = fcsInput('USA contact number', Icons.phone, controller: _contactEditingController); final mmContactNumber = fcsInput('Myanmar contact number', Icons.phone, controller: _mmContactEditingController); final mailBox = fcsInput('Email Address', Icons.mail, controller: _mailEditingController); final fbLinkBox = fcsInput('Facebook Link', FontAwesomeIcons.facebook, controller: _fbLinkEditingController); 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: LocalText( context, 'fcs.profile', color: Colors.white, fontSize: 20, ), ), body: Card( child: Column( children: [ Expanded( child: Padding( padding: const EdgeInsets.only(left: 20.0), child: ListView(children: [ usaAddress, SizedBox(height: 10), mmAddress, SizedBox(height: 10), contactNumber, SizedBox(height: 10), mmContactNumber, SizedBox(height: 10), mailBox, SizedBox(height: 10), fbLinkBox, SizedBox(height: 10), ]), )), widget.pickUp == null ? Align( alignment: Alignment.bottomCenter, child: Center( child: Container( width: 250, child: FlatButton( child: Text('Update'), color: primaryColor, textColor: Colors.white, onPressed: () { Navigator.pop(context); }, ), ))) : Container( child: Column( children: [ Align( alignment: Alignment.bottomCenter, child: Center( child: Container( width: 250, child: FlatButton( shape: new RoundedRectangleBorder( borderRadius: new BorderRadius.circular(10)), child: Text('Pickuped'), color: primaryColor, textColor: Colors.white, onPressed: () { Navigator.pop(context); }, ), ))), Align( alignment: Alignment.bottomCenter, child: Center( child: Container( width: 250, child: FlatButton( shape: new RoundedRectangleBorder( borderRadius: new BorderRadius.circular(10)), child: Text('Cancel'), color: primaryColor, textColor: Colors.white, onPressed: () { Navigator.pop(context); }, ), ))) ], )) ], ), ), ), ); } }