import 'package:flutter/material.dart'; import 'package:okane/database/sqlite.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 TransactionDto transaction; final VoidCallback onTap; @override Widget build(BuildContext context) { return Card( clipBehavior: Clip.hardEdge, child: ListTile( onTap: onTap, leading: ImageWrapper( title: transaction.beneficiary.name, path: transaction.beneficiary.imagePath, ), trailing: Text(formatDateTime(transaction.transaction.date)), title: Text(transaction.beneficiary.name), subtitle: Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( formatCurrency(transaction.transaction.amount), style: TextStyle( color: transaction.transaction.amount < 0 ? Colors.red : Colors.green, ), ), if (subtitle != null) subtitle!, ], ), ), ); } }