import 'package:flutter/material.dart'; import 'package:cake_wallet/palette.dart'; import 'package:cake_wallet/src/domain/common/transaction_direction.dart'; import 'package:cake_wallet/generated/i18n.dart'; class TransactionRow extends StatelessWidget { TransactionRow({ this.direction, this.formattedDate, this.formattedAmount, this.formattedFiatAmount, this.isPending, @required this.onTap}); final VoidCallback onTap; final TransactionDirection direction; final String formattedDate; final String formattedAmount; final String formattedFiatAmount; final bool isPending; @override Widget build(BuildContext context) { return InkWell( onTap: onTap, child: Container( height: 52, color: Colors.transparent, padding: EdgeInsets.only(left: 24, right: 24), child: Row( crossAxisAlignment: CrossAxisAlignment.center, children: [ Container( height: 36, width: 36, decoration: BoxDecoration( shape: BoxShape.circle, color: PaletteDark.wildNightBlue ), child: Image.asset( direction == TransactionDirection.incoming ? 'assets/images/down_arrow.png' : 'assets/images/up_arrow.png'), ), Expanded( child: Padding( padding: const EdgeInsets.only(left: 12), child: Container( height: 42, child: Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisSize: MainAxisSize.max, children: [ Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text( (direction == TransactionDirection.incoming ? S.of(context).received : S.of(context).sent) + (isPending ? S.of(context).pending : ''), style: TextStyle( fontSize: 16, fontWeight: FontWeight.w500, color: Colors.white )), Text(direction == TransactionDirection.incoming ? formattedAmount : '- ' + formattedAmount, style: TextStyle( fontSize: 16, fontWeight: FontWeight.w500, color: Colors.white )) ]), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text(formattedDate, style: TextStyle( fontSize: 14, color: PaletteDark.darkCyanBlue)), Text(direction == TransactionDirection.incoming ? formattedFiatAmount : '- ' + formattedFiatAmount, style: TextStyle( fontSize: 14, color: PaletteDark.darkCyanBlue)) ]), ], ), ), )) ]), )); } }