import React from 'react'
import { useTranslation } from 'react-i18next'
import { StyleSheet, Text, View } from 'react-native'
import AttentionIcon from 'src/icons/Attention'
import Checkmark from 'src/icons/Checkmark'
import CircledIcon from 'src/icons/CircledIcon'
import ClockIcon from 'src/icons/ClockIcon'
import Colors from 'src/styles/colors'
import { typeScale } from 'src/styles/fonts'
import { Spacing } from 'src/styles/styles'
import { TransactionStatus } from 'src/transactions/types'
interface Props {
status: TransactionStatus
testID?: string
}
function TransactionStatusIndicator({ status, testID }: Props) {
const { t } = useTranslation()
const title = {
[TransactionStatus.Complete]: t('transactionStatus.transactionIsCompleted'),
[TransactionStatus.Pending]: t('transactionStatus.transactionIsPending'),
[TransactionStatus.Failed]: t('transactionStatus.transactionIsFailed'),
}[status]
const [color, backgroundColor] = {
[TransactionStatus.Complete]: [Colors.successPrimary, Colors.successSecondary],
[TransactionStatus.Pending]: [Colors.warningPrimary, Colors.warningSecondary],
[TransactionStatus.Failed]: [Colors.errorPrimary, Colors.errorSecondary],
}[status]
const icon = {
[TransactionStatus.Complete]: ,
[TransactionStatus.Pending]: ,
[TransactionStatus.Failed]: ,
}[status]
return (
{icon}
{title}
)
}
const styles = StyleSheet.create({
container: {
flexDirection: 'row',
justifyContent: 'center',
alignItems: 'center',
paddingVertical: Spacing.Smallest8,
borderRadius: 100,
gap: 4,
},
text: {
...typeScale.labelXSmall,
},
})
export default TransactionStatusIndicator