import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'sample_data.dart'; class ShowBasket extends StatelessWidget { final int index; final bool editable; const ShowBasket(this.index, {this.editable = false, super.key}); @override Widget build(BuildContext context) { final List basket = SampleData().transactions[index].basket!; return Column( children: [ Expanded( child: getBasket(basket), ), const Divider(), ListTile( leading: const Icon( Icons.euro, ), title: const Text( 'Kosten:', ), subtitle: Text( '${SampleData().transactions[index].amount / 100}', ), trailing: editable ? Row( mainAxisSize: MainAxisSize.min, children: [ FloatingActionButton( backgroundColor: Colors.redAccent.shade100, child: const Icon(Icons.remove_shopping_cart), onPressed: () {}), const SizedBox( width: 10, ), FloatingActionButton( child: const Icon(Icons.shopping_cart_checkout), onPressed: () {}), ], ) : null), ], ); } ListView getBasket(List basket) { return ListView.builder( itemCount: basket.length, itemBuilder: (context, index) { return Card( child: ListTile( leading: Text( basket[index].products.category.icon, style: const TextStyle(fontSize: 24), ), title: Text(basket[index].products.name), subtitle: Text( '${basket[index].amount} ${basket[index].products.unit}'), trailing: editable ? SizedBox( width: 100, child: TextField( keyboardType: TextInputType.number, inputFormatters: [ FilteringTextInputFormatter.digitsOnly ]), ) : null), ); }, ); } }