import 'package:flutter/material.dart'; import 'package:mobile/controllers/receipt.dart'; import 'package:mobile/utils/price.dart'; import 'package:mobile/widgets/receipt_item.dart'; class ReceiptView extends StatelessWidget { final Receipt receipt; const ReceiptView({super.key, required this.receipt}); @override Widget build(BuildContext context) { final receiptItems = receipt.allReceiptItems(); return SafeArea( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ const BackButton(), Expanded( child: Container( margin: const EdgeInsets.all(20), child: Column( children: [ Text(receipt.dateFormatted()), Expanded( child: Column( children: [ ListView.builder( shrinkWrap: true, itemBuilder: (_, idx) => ReceiptItemView( pricePerAmount: receiptItems[idx].product.priceDkkCent, name: receiptItems[idx].product.name, amount: receiptItems[idx].amount), itemCount: receiptItems.length), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ const Text( "Total:", style: TextStyle(fontWeight: FontWeight.bold), ), Text(formatDkkCents(receipt.totalPrice())), ], ), ], )), ], ), ), ), ], ), ); } } class ReceiptPage extends StatelessWidget { final Receipt receipt; const ReceiptPage({super.key, required this.receipt}); @override Widget build(BuildContext context) { return Scaffold(body: ReceiptView(receipt: receipt)); } }