mobdr/lib/ui/account/set_address/edit_address.dart

192 lines
7.6 KiB
Dart

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<EditAddressPage> {
// 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<Color>(
(Set<MaterialState> 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,
),
)),
),
],
));
}
}