import 'package:fcs/helpers/theme.dart'; import 'package:fcs/localization/app_translations.dart'; import 'package:fcs/pages/box/model/box_model.dart'; import 'package:fcs/pages/widgets/progress.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'delivery_list_row.dart'; class DeliverList extends StatefulWidget { @override _DeliverListState createState() => _DeliverListState(); } class _DeliverListState extends State { bool _isLoading = false; @override void initState() { super.initState(); } @override void dispose() { super.dispose(); } @override Widget build(BuildContext context) { return LocalProgress( inAsyncCall: _isLoading, child: DefaultTabController( length: 2, child: Scaffold( appBar: AppBar( centerTitle: true, leading: new IconButton( icon: new Icon(CupertinoIcons.back), onPressed: () => Navigator.of(context).pop(), ), backgroundColor: primaryColor, title: Text(AppTranslations.of(context).text("delivery")), actions: [ IconButton( icon: Icon( Icons.search, color: Colors.white, ), iconSize: 30, // onPressed: () => showPlacesSearch(context), ), ], bottom: TabBar( unselectedLabelColor: Colors.grey, tabs: [ Tab( text: "Upcoming", ), Tab(text: "Delivered"), ], ), ), // floatingActionButton: FloatingActionButton.extended( // onPressed: () { // _newPickup(); // }, // icon: Icon(Icons.add), // label: Text(AppTranslations.of(context).text("boxes.new")), // backgroundColor: primaryColor, // ), body: TabBarView( children: [ _upComing(), _completed(), ], )), ), ); } Widget _upComing() { var boxModel = Provider.of(context); return Column( children: [ Expanded( child: new ListView.separated( separatorBuilder: (context, index) => Divider( color: Colors.black, ), scrollDirection: Axis.vertical, padding: EdgeInsets.only(top: 15), shrinkWrap: true, itemCount: boxModel.upcoming.length, itemBuilder: (BuildContext context, int index) { return DeliveryListRow( box: boxModel.upcoming[index], isReadOnly: false, ); }), ), ], ); } Widget _completed() { var boxModel = Provider.of(context); return Column( children: [ Expanded( child: new ListView.separated( separatorBuilder: (context, index) => Divider( color: Colors.black, ), scrollDirection: Axis.vertical, padding: EdgeInsets.only(top: 15), shrinkWrap: true, itemCount: boxModel.completed.length, itemBuilder: (BuildContext context, int index) { return DeliveryListRow( box: boxModel.completed[index], isReadOnly: false, ); }), ), ], ); } }