import 'package:fcs/helpers/theme.dart'; import 'package:fcs/localization/app_translations.dart'; import 'package:fcs/pages/discount/model/discount_model.dart'; import 'package:fcs/pages/main/util.dart'; import 'package:fcs/pages/widgets/bottom_up_page_route.dart'; import 'package:fcs/pages/widgets/progress.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'discount_editor.dart'; class DiscountList extends StatefulWidget { final bool selected; const DiscountList({Key key, this.selected}) : super(key: key); @override _DiscountListState createState() => _DiscountListState(); } class _DiscountListState extends State { bool _isLoading = false; @override Widget build(BuildContext context) { var discountModel = Provider.of(context); print('discounts => ${discountModel.discounts}'); return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( appBar: AppBar( centerTitle: true, title: Text( AppTranslations.of(context).text("discount.title"), ), leading: new IconButton( icon: new Icon(CupertinoIcons.back), onPressed: () => Navigator.of(context).pop(), ), backgroundColor: primaryColor, actions: [ IconButton( icon: Icon(Icons.search), onPressed: () {}, ) ], ), body: ListView.separated( separatorBuilder: (context, index) => Divider( color: Colors.black, ), itemCount: discountModel.discounts.length, itemBuilder: (BuildContext context, int index) { var discount = discountModel.discounts[index]; return InkWell( onTap: () { widget.selected ? Navigator.pop(context, discount) : Navigator.push( context, CupertinoPageRoute( builder: (context) => DiscountEditor( discount: discount, )), ); }, child: Padding( padding: const EdgeInsets.all(10.0), child: Row( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ Expanded( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Padding( padding: const EdgeInsets.only(bottom: 8.0), child: Text( discount.code, style: TextStyle( color: primaryColor, fontSize: 16, fontWeight: FontWeight.bold, ), ), ), Row( children: [ Text( discount.customer, style: TextStyle( color: Colors.black, fontWeight: FontWeight.normal, fontSize: 15), ), ], ), ], ), ), Column( crossAxisAlignment: CrossAxisAlignment.end, children: [ Padding( padding: const EdgeInsets.only(left: 10.0, bottom: 5.0), child: Text( '\$ ${discount.amount.toString()}', style: TextStyle( color: Colors.black, fontWeight: FontWeight.bold, fontSize: 16), ), ), getStatus(discount.status), ], ), ], ), ), ); }, ), floatingActionButton: FloatingActionButton.extended( onPressed: () { Navigator.push( context, CupertinoPageRoute(builder: (context) => DiscountEditor()), ); }, icon: Icon(Icons.add), label: Text(AppTranslations.of(context).text("discount.new")), backgroundColor: primaryColor, ), ), ); } }