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 AddAddressPage extends StatefulWidget { @override _AddAddressPageState createState() => _AddAddressPageState(); } class _AddAddressPageState extends State { // initialize reusable widget final _reusableWidget = ReusableWidget(); @override void initState() { 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( 'Add Address', style: GlobalStyle.appBarTitle, ), backgroundColor: GlobalStyle.appBarBackgroundColor, systemOverlayStyle: GlobalStyle.appBarSystemOverlayStyle, bottom: _reusableWidget.bottomAppBar(), ), body: ListView( padding: EdgeInsets.all(16), children: [ TextField( 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( 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( 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( 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( 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( 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( 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, 'Add 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, ), )), ), ], )); } }