import 'package:fcs/domain/entities/discount.dart'; import 'package:fcs/helpers/theme.dart'; import 'package:fcs/pages/widgets/local_text.dart'; import 'package:fcs/pages/widgets/my_data_table.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; class InvoiceDiscountTable extends StatelessWidget { final List discounts; const InvoiceDiscountTable({ Key key, this.discounts, }) : super(key: key); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( centerTitle: true, leading: new IconButton( icon: new Icon(CupertinoIcons.back), onPressed: () => Navigator.pop(context), ), backgroundColor: primaryColor, title: LocalText( context, "invoice.shipment.discount.title", fontSize: 20, color: Colors.white, ), ), body: Padding( padding: const EdgeInsets.all(8.0), child: table(context), )); } Widget table(BuildContext context) { return MyDataTable( headingRowHeight: 40, columns: [ MyDataColumn( label: LocalText( context, "discount.code", color: Colors.grey, ), ), MyDataColumn( label: LocalText( context, "discount.amount", color: Colors.grey, ), ), ], rows: getRows(context), ); } List getRows(BuildContext context) { if (discounts == null) { return []; } var rows = discounts.map((c) { return MyDataRow( onSelectChanged: (value) => Navigator.pop(context, c), cells: [ MyDataCell(new Text( c.code ?? "", style: textStyle, )), MyDataCell( Row( mainAxisAlignment: MainAxisAlignment.end, children: [ Text(c.amount?.toStringAsFixed(2) ?? "0", style: textStyle), ], ), ), ], ); }).toList(); return rows; } }