import 'package:flutter/material.dart'; import 'package:okane/database/collections/transaction.dart'; import 'package:okane/database/database.dart'; import 'package:okane/ui/utils.dart'; import 'package:okane/ui/widgets/image_wrapper.dart'; class TransactionCard extends StatelessWidget { final Widget? subtitle; const TransactionCard({ super.key, required this.transaction, required this.onTap, this.subtitle, }); final Transaction transaction; final VoidCallback onTap; @override Widget build(BuildContext context) { return Card( child: ListTile( onTap: onTap, leading: ImageWrapper( title: transaction.beneficiary.value!.name, path: transaction.beneficiary.value!.imagePath, onTap: () {}, ), trailing: Text(formatDateTime(transaction.date)), title: Text(transaction.beneficiary.value!.name), subtitle: Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( formatCurrency(transaction.amount), style: TextStyle( color: transaction.amount < 0 ? Colors.red : Colors.green, ), ), if (subtitle != null) subtitle!, ], ), ), ); } }