-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCardIcon.js
More file actions
46 lines (37 loc) · 919 Bytes
/
CardIcon.js
File metadata and controls
46 lines (37 loc) · 919 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import React from 'react'
import { Image, StyleSheet } from 'react-native'
import cardValidator from 'card-validator'
const VISA = require('./assests/visa.png')
const MASTERCARD = require('./assests/mastercard.png')
const AMEX = require('./assests/amex.png')
const DISCOVER = require('./assests/discover.png')
const CardIcon = (props) => {
const { cardNumber } = props
const { card } = cardValidator.number(cardNumber)
let source
switch (card?.type) {
case 'visa':
source = VISA
break
case 'mastercard':
source = MASTERCARD
break
case 'discover':
source = DISCOVER
break
case 'american-express':
source = AMEX
break
default:
break
}
if (!source) return null
return <Image style={styles.image} source={source} />
}
const styles = StyleSheet.create({
image: {
width: 48,
height: 48,
},
})
export default CardIcon