import 'package:fcs/model/pickup_model.dart'; import 'package:fcs/vo/pickup.dart'; import 'package:fcs/widget/fcs_text_field.dart'; import 'package:provider/provider.dart'; import 'package:flutter/material.dart'; import 'package:fcs/widget/progress.dart'; import '../theme/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 = Container( child: FCSTextField( controller: _usaAddressEditingController, label: 'USA Delivery Address', )); final mmAddress = Container( height: 50.0, child: Row(children: [ Expanded( child: FCSTextField( controller: _mmAddressEditingController, label: 'Yangon, Myanmar Office', )), ]), ); final contactNumber = Container( height: 50.0, child: Row(children: [ Expanded( child: FCSTextField( controller: _contactEditingController, label: 'USA contact number', )), ]), ); final mmContactNumber = Container( height: 50.0, child: Row(children: [ Expanded( child: FCSTextField( controller: _mmContactEditingController, label: 'Myanmar contact number', )), ]), ); final mailBox = Container( height: 50.0, child: Row(children: [ Expanded( child: FCSTextField( controller: _mailEditingController, label: 'Email Address', )), ]), ); final fbLinkBox = Container( height: 50.0, child: Row(children: [ Expanded( child: FCSTextField( controller: _fbLinkEditingController, label: ' Facebook Link')), ]), ); return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( appBar: AppBar( backgroundColor: primaryColor, title: Text('Profile'), ), body: Card( child: Column( children: [ Expanded( child: Padding( padding: const EdgeInsets.all(20.0), child: ListView(children: [ usaAddress, SizedBox(height: 15), mmAddress, SizedBox(height: 15), contactNumber, SizedBox(height: 15), mmContactNumber, SizedBox(height: 15), mailBox, SizedBox(height: 15), fbLinkBox, SizedBox(height: 15), ]), )), widget.pickUp == null ? Align( alignment: Alignment.bottomCenter, child: Center( child: Container( width: 250, child: FlatButton( shape: new RoundedRectangleBorder( borderRadius: new BorderRadius.circular(10)), 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); }, ), ))) ], )) ], ), ), ), ); } }