Skip to content

Commit 2ec6dfb

Browse files
committed
Add card meta data
1 parent adfec83 commit 2ec6dfb

18 files changed

+32
-1
lines changed

assets/images/payment_types/ach.png

1.9 KB
Loading

assets/images/payment_types/amex.png

6.26 KB
Loading
1.73 KB
Loading
2.75 KB
Loading
3.43 KB
Loading

assets/images/payment_types/jcb.png

2.75 KB
Loading

assets/images/payment_types/laser.png

2.31 KB
Loading
4.33 KB
Loading
4.06 KB
Loading

assets/images/payment_types/other.png

1.73 KB
Loading
2.92 KB
Loading

assets/images/payment_types/solo.png

3.87 KB
Loading
938 Bytes
Loading
3.61 KB
Loading

assets/images/payment_types/visa.png

3.11 KB
Loading

lib/ui/app/gateways/token_meta.dart

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import 'package:flutter/material.dart';
2+
import 'package:invoiceninja_flutter/data/models/gateway_token_model.dart';
3+
4+
class TokenMeta extends StatelessWidget {
5+
const TokenMeta({this.meta});
6+
7+
final GatewayTokenMetaEntity meta;
8+
9+
@override
10+
Widget build(BuildContext context) {
11+
return Row(
12+
children: [
13+
Image.asset(
14+
'assets/images/payment_types/${meta.brand}.png',
15+
height: 16,
16+
),
17+
SizedBox(width: 8),
18+
Text('•••• ${meta.last4} ${meta.expMonth}/${meta.expYear}'),
19+
],
20+
);
21+
}
22+
}

lib/ui/client/view/client_view_overview.dart

+9-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import 'package:invoiceninja_flutter/redux/task/task_selectors.dart';
1414
import 'package:invoiceninja_flutter/ui/app/FieldGrid.dart';
1515
import 'package:invoiceninja_flutter/ui/app/entities/entity_list_tile.dart';
1616
import 'package:invoiceninja_flutter/ui/app/entity_header.dart';
17+
import 'package:invoiceninja_flutter/ui/app/gateways/token_meta.dart';
1718
import 'package:invoiceninja_flutter/ui/app/icon_message.dart';
1819
import 'package:invoiceninja_flutter/ui/app/lists/list_divider.dart';
1920
import 'package:invoiceninja_flutter/ui/client/view/client_view_vm.dart';
@@ -129,7 +130,14 @@ class ClientOverview extends StatelessWidget {
129130
ListTile(
130131
title: Text(
131132
'${localization.token} › ${gatewayMap[customerReference].gateway.name}'),
132-
subtitle: Text(customerReference),
133+
subtitle: Column(
134+
mainAxisSize: MainAxisSize.min,
135+
children: tokenMap[customerReference]
136+
.map((token) => TokenMeta(
137+
meta: token.meta,
138+
))
139+
.toList(),
140+
),
133141
onTap: linkMap.containsKey(customerReference)
134142
? () => launch(linkMap[customerReference])
135143
: null,

pubspec.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ flutter:
6868
assets:
6969
- assets/images/logo.png
7070
- assets/images/google-icon.png
71+
- assets/images/payment_types/
7172

7273
fonts:
7374
- family: Roboto

0 commit comments

Comments
 (0)