import 'package:driverapp/core/enum/viewstate.dart'; import 'package:driverapp/core/viewModels/orders_view_model.dart'; import 'package:driverapp/pages/delivery/information_page.dart'; import 'package:driverapp/uitl/translations_delegate_base.dart'; import 'package:driverapp/widgets/order/order_info_card.dart'; import 'package:driverapp/widgets/others/app_scaffold_widget.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import '../base/base_view.dart'; class OrdersListScreen extends StatefulWidget { @override _OrdersListScreenState createState() => _OrdersListScreenState(); } class _OrdersListScreenState extends State { @override Widget build(BuildContext context) { return BaseView( onModelReady: (model) => model.getPendingOrders(2), builder: (BuildContext context, OrdersViewModel model, Widget child) => AppScaffold( baseViewModel: model, isShowAppBar: true, isShowBackIcon: true, appBarTitle: TranslationBase.of(context).yourDeliveryQue, titleColor: Colors.black, body: Column( children: [ SizedBox( height: 20, ), if (model.state == ViewState.Idle) model.orders.length == 0 ? Text("There's No Orders To deliver") : SizedBox(), Expanded( child: ListView.builder( shrinkWrap: true, scrollDirection: Axis.vertical, itemCount: model.orders == null ? 0 : model.orders.length, itemBuilder: (BuildContext context, int index) { return Padding( padding: EdgeInsets.symmetric(horizontal: 12.2), child: OrderInfoCard( order: model.orders[index], onTap: () { Navigator.push( context, MaterialPageRoute( builder: (context) => InformationPage( item: model.orders[index], ))); }, ), ); }, ), ), ], ), ), ); } }