import 'package:fcs/domain/vo/delivery_address.dart'; import 'package:fcs/pages/delivery_address/model/delivery_address_model.dart'; import 'package:fcs/pages/widgets/bottom_up_page_route.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'delivery_address_editor.dart'; class DeliveryAddressRow extends StatelessWidget { final DeliveryAddress shippingAddress; final int index; const DeliveryAddressRow({Key key, this.shippingAddress, this.index}) : super(key: key); @override Widget build(BuildContext context) { var deliveryAddressModel = Provider.of(context); return Container( padding: EdgeInsets.only(left: 10, right: 10), child: Column( children: [ Row( children: [ Expanded( child: new Padding( padding: const EdgeInsets.symmetric(vertical: 10.0), child: Row( children: [ InkWell( onTap: () { Navigator.pop(context, shippingAddress); }, child: new Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [ Padding( padding: const EdgeInsets.only(left: 8.0), child: new Text( shippingAddress.fullName == null ? '' : shippingAddress.fullName, style: new TextStyle( fontSize: 15.0, color: Colors.black, fontWeight: FontWeight.bold), ), ), Padding( padding: const EdgeInsets.only(left: 8.0), child: new Text( shippingAddress.addressLine1 == null ? '' : shippingAddress.addressLine1, style: new TextStyle( fontSize: 14.0, color: Colors.grey), ), ), Padding( padding: const EdgeInsets.only(left: 8.0), child: new Text( shippingAddress.addressLine2 == null ? '' : shippingAddress.addressLine2, style: new TextStyle( fontSize: 14.0, color: Colors.grey), ), ), Padding( padding: const EdgeInsets.only(left: 8.0), child: new Text( shippingAddress.city == null ? '' : shippingAddress.city, style: new TextStyle( fontSize: 14.0, color: Colors.grey), ), ), Padding( padding: const EdgeInsets.only(left: 8.0), child: new Text( shippingAddress.state == null ? '' : shippingAddress.state, style: new TextStyle( fontSize: 14.0, color: Colors.grey), ), ), Padding( padding: const EdgeInsets.only(left: 8.0), child: new Text( shippingAddress.country == null ? '' : shippingAddress.country, style: new TextStyle( fontSize: 14.0, color: Colors.grey), ), ), Padding( padding: const EdgeInsets.only(left: 8.0), child: new Text( shippingAddress.phoneNumber == null ? '' : "Phone:${shippingAddress.phoneNumber}", style: new TextStyle( fontSize: 14.0, color: Colors.grey), ), ), ], ), ), ], ), ), ), IconButton( padding: EdgeInsets.only(right: 30), icon: Icon(Icons.edit, color: Colors.black45), onPressed: () { Navigator.push( context, BottomUpPageRoute(DeliveryAddressEditor( deliveryAddress: shippingAddress)), ); }), IconButton( padding: EdgeInsets.only(right: 30), icon: Icon(Icons.delete, color: Colors.black45), onPressed: () async { await deliveryAddressModel .deleteDeliveryAddress(shippingAddress); }) ], ), index == null ? Container() : index == deliveryAddressModel.deliveryAddresses.length - 1 ? Container() : Divider(color: Colors.black) ], ), ); } }