import 'package:fcs/model/discount_model.dart'; import 'package:fcs/pages/discount_editor.dart'; import 'package:fcs/pages/util.dart'; import 'package:fcs/widget/bottom_up_page_route.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:fcs/widget/localization/app_translations.dart'; import 'package:fcs/widget/progress.dart'; import '../theme/theme.dart'; class DiscountList extends StatefulWidget { @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( title: Text( AppTranslations.of(context).text("discount.title"), ), 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: () { Navigator.push( context, BottomUpPageRoute(DiscountEditor( discount: discount, )), ); }, child: Padding( padding: const EdgeInsets.all(8.0), child: Row( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ Expanded( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ 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: [ getStatus(discount.status), Padding( padding: const EdgeInsets.only(left: 10.0), child: Text( '\$${discount.amount.toString()}', style: TextStyle( color: Colors.black, fontWeight: FontWeight.normal, fontSize: 15), ), ), ], ), ], ), ), ); }, ), floatingActionButton: FloatingActionButton.extended( onPressed: () { Navigator.push( context, BottomUpPageRoute(DiscountEditor()), ); }, icon: Icon(Icons.add), label: Text(AppTranslations.of(context).text("discount.new")), backgroundColor: primaryColor, ), ), ); } }