|
|
|
|
@ -1,4 +1,8 @@ |
|
|
|
|
import { useState } from 'react' |
|
|
|
|
|
|
|
|
|
import map from 'lodash/map' |
|
|
|
|
import sortBy from 'lodash/sortBy' |
|
|
|
|
|
|
|
|
|
import styled, { css } from 'styled-components/macro' |
|
|
|
|
|
|
|
|
|
import { isMobileDevice } from 'config/userAgent' |
|
|
|
|
@ -64,15 +68,20 @@ export const CardsList = () => { |
|
|
|
|
onSetDefaultCard, |
|
|
|
|
} = useCardsStore() |
|
|
|
|
|
|
|
|
|
const [activeCard, setActiveCard] = useState(defaultCard?.id) |
|
|
|
|
|
|
|
|
|
return ( |
|
|
|
|
<List> |
|
|
|
|
{ |
|
|
|
|
map(cards, (card) => ( |
|
|
|
|
map(sortBy(cards, ['last4']), (card) => ( |
|
|
|
|
<Item key={card.id}> |
|
|
|
|
<Radio |
|
|
|
|
label={`${card.brand} •••• ${card.last4}`} |
|
|
|
|
checked={card.id === defaultCard?.id} |
|
|
|
|
onChange={() => onSetDefaultCard(card.id)} |
|
|
|
|
checked={card.id === activeCard} |
|
|
|
|
onChange={() => { |
|
|
|
|
setActiveCard(card.id) |
|
|
|
|
onSetDefaultCard(card.id) |
|
|
|
|
}} |
|
|
|
|
/> |
|
|
|
|
</Item> |
|
|
|
|
)) |
|
|
|
|
|