import 'package:mobdr/config/constant.dart'; import 'package:mobdr/config/global_style.dart'; import 'package:mobdr/ui/reusable/reusable_widget.dart'; import 'package:flutter/material.dart'; class EditAddressPage extends StatefulWidget { @override _EditAddressPageState createState() => _EditAddressPageState(); } class _EditAddressPageState extends State { // initialize reusable widget final _reusableWidget = ReusableWidget(); // create controller to edit text field TextEditingController _etAddressTitle = TextEditingController(); TextEditingController _etRecipientName = TextEditingController(); TextEditingController _etRecipientPhoneNumber = TextEditingController(); TextEditingController _etAddressLine1 = TextEditingController(); TextEditingController _etAddressLine2 = TextEditingController(); TextEditingController _etPostalCode = TextEditingController(); TextEditingController _etState = TextEditingController(); @override void initState() { _etAddressTitle = TextEditingController(text: 'Home Address'); _etRecipientName = TextEditingController(text: 'Robert Steven'); _etRecipientPhoneNumber = TextEditingController(text: '0811888999'); _etAddressLine1 = TextEditingController(text: '6019 Madison St'); _etAddressLine2 = TextEditingController(text: 'West New York, NJ'); _etPostalCode = TextEditingController(text: '07093'); _etState = TextEditingController(text: 'USA'); super.initState(); } @override void dispose() { super.dispose(); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( iconTheme: IconThemeData( color: GlobalStyle.appBarIconThemeColor, ), elevation: GlobalStyle.appBarElevation, title: Text( 'Edit Address', style: GlobalStyle.appBarTitle, ), backgroundColor: GlobalStyle.appBarBackgroundColor, systemOverlayStyle: GlobalStyle.appBarSystemOverlayStyle, bottom: _reusableWidget.bottomAppBar(), ), body: ListView( padding: EdgeInsets.all(16), children: [ TextField( controller: _etAddressTitle, decoration: InputDecoration( focusedBorder: UnderlineInputBorder( borderSide: BorderSide(color: PRIMARY_COLOR, width: 2.0)), enabledBorder: UnderlineInputBorder( borderSide: BorderSide(color: Color(0xFFCCCCCC)), ), labelText: 'Address Title *', labelStyle: TextStyle(color: BLACK_GREY)), ), SizedBox( height: 20, ), TextField( controller: _etRecipientName, decoration: InputDecoration( focusedBorder: UnderlineInputBorder( borderSide: BorderSide(color: PRIMARY_COLOR, width: 2.0)), enabledBorder: UnderlineInputBorder( borderSide: BorderSide(color: Color(0xFFCCCCCC)), ), labelText: 'Recipient\'s Name *', labelStyle: TextStyle(color: BLACK_GREY)), ), SizedBox( height: 20, ), TextField( controller: _etRecipientPhoneNumber, keyboardType: TextInputType.number, decoration: InputDecoration( focusedBorder: UnderlineInputBorder( borderSide: BorderSide(color: PRIMARY_COLOR, width: 2.0)), enabledBorder: UnderlineInputBorder( borderSide: BorderSide(color: Color(0xFFCCCCCC)), ), labelText: 'Recipient\'s Phone Number', labelStyle: TextStyle(color: BLACK_GREY)), ), SizedBox( height: 20, ), TextField( controller: _etAddressLine1, decoration: InputDecoration( focusedBorder: UnderlineInputBorder( borderSide: BorderSide(color: PRIMARY_COLOR, width: 2.0)), enabledBorder: UnderlineInputBorder( borderSide: BorderSide(color: Color(0xFFCCCCCC)), ), labelText: 'Address Line 1 *', labelStyle: TextStyle(color: BLACK_GREY)), ), SizedBox( height: 20, ), TextField( controller: _etAddressLine2, decoration: InputDecoration( focusedBorder: UnderlineInputBorder( borderSide: BorderSide(color: PRIMARY_COLOR, width: 2.0)), enabledBorder: UnderlineInputBorder( borderSide: BorderSide(color: Color(0xFFCCCCCC)), ), labelText: 'Address Line 2', labelStyle: TextStyle(color: BLACK_GREY)), ), SizedBox( height: 20, ), TextField( controller: _etState, decoration: InputDecoration( focusedBorder: UnderlineInputBorder( borderSide: BorderSide(color: PRIMARY_COLOR, width: 2.0)), enabledBorder: UnderlineInputBorder( borderSide: BorderSide(color: Color(0xFFCCCCCC)), ), labelText: 'State / Province / Region *', labelStyle: TextStyle(color: BLACK_GREY)), ), SizedBox( height: 20, ), TextField( controller: _etPostalCode, keyboardType: TextInputType.number, decoration: InputDecoration( focusedBorder: UnderlineInputBorder( borderSide: BorderSide(color: PRIMARY_COLOR, width: 2.0)), enabledBorder: UnderlineInputBorder( borderSide: BorderSide(color: Color(0xFFCCCCCC)), ), labelText: 'Postal Code *', labelStyle: TextStyle(color: BLACK_GREY)), ), SizedBox( height: 40, ), Container( child: TextButton( style: ButtonStyle( backgroundColor: MaterialStateProperty.resolveWith( (Set states) => PRIMARY_COLOR, ), overlayColor: MaterialStateProperty.all(Colors.transparent), shape: MaterialStateProperty.all(RoundedRectangleBorder( borderRadius: BorderRadius.circular(3.0), )), ), onPressed: () { _reusableWidget.startLoading( context, 'Edit Address Success', 1); }, child: Padding( padding: const EdgeInsets.symmetric(vertical: 5.0), child: Text( 'Save', style: TextStyle( fontSize: 16, fontWeight: FontWeight.bold, color: Colors.white), textAlign: TextAlign.center, ), )), ), ], )); } }