diff --git a/src/entities/payment/ui/card-commission-bottom-sheet.tsx b/src/entities/payment/ui/card-commission-bottom-sheet.tsx index ee17c2b..49f1957 100644 --- a/src/entities/payment/ui/card-commission-bottom-sheet.tsx +++ b/src/entities/payment/ui/card-commission-bottom-sheet.tsx @@ -52,11 +52,14 @@ export const CardCommissionBottomSheet = ({ // let newCardList = cardList.filter((value, index) => useCodes.includes(value.code1)); const [newGeneralTabItems, setNewGeneralTabItems] = useState>({}); + const [newInstallmentTabItems, setNewInstallmentTabItems] = useState | undefined>(); + const [newMoneyPointTabItems, setNewMoneyPointTabItems] = useState | undefined>(); const [onTab, setOnTab] = useState(CardCommissionTabKey.GENERAL); const [selectedCard, setSelectedCard] = useState(cardList[0].desc1); - const [leftTitle, setLeftTitle] = useState(''); - const [leftText, setLeftText] = useState(''); + const [moneyPointTitle, setMoneyPointTitle] = useState(''); + const [moneyPointText, setMoneyPointText] = useState(''); + const [moneyPointRate, setMoneyPointRate] = useState(); const onClickToClose = () => { setCardCommissionBottomSheetOn(false); @@ -77,7 +80,7 @@ export const CardCommissionBottomSheet = ({ className="card-fee-row" > { cardCompany } - { feeRate || ''} + { feeRate+'%' || ''} ); } @@ -86,6 +89,12 @@ export const CardCommissionBottomSheet = ({ } return rs; } + const getMoneyPointRate = (itemKey: string) => { + let items = moneyPointTabItems?.filter((value, index) => { + return value.category === itemKey; + }); + setNewMoneyPointTabItems(items); + }; useEffect(() => { // 탭 이동시 할일 @@ -93,25 +102,33 @@ export const CardCommissionBottomSheet = ({ useEffect(() => { if(!!itemKey){ + getMoneyPointRate(itemKey); if(itemKey === 'kakaoPay'){ - setLeftTitle('구분'); - setLeftText('카카오머니'); + setMoneyPointTitle('구분'); + setMoneyPointText('카카오머니'); } else if(itemKey === 'naverPay'){ - setLeftTitle('할부개월'); - setLeftText('네이버포인트'); + setMoneyPointTitle('할부개월'); + setMoneyPointText('네이버포인트'); + } else if(itemKey === 'tossPay'){ - setLeftTitle('할부개원'); - setLeftText('토스머니'); + setMoneyPointTitle('할부개원'); + setMoneyPointText('토스머니'); } - } }, [itemKey]); + const getInstallmentTabItems = () => { + let items = installmentTabItems?.filter((value, index) => { + return value.cardCompany === selectedCard; + }); + setNewInstallmentTabItems(items); + } + useEffect(() => { - if(onTab === CardCommissionTabKey.NO_INTEREST){ - + if(onTab === CardCommissionTabKey.NO_INTEREST && !!selectedCard){ + getInstallmentTabItems(); } }, [selectedCard]); @@ -215,42 +232,13 @@ export const CardCommissionBottomSheet = ({ {t('payment.installmentMonths')} {t('payment.commission')} -
- {t('payment.months', { count: 2 })} - 2.000% -
-
- {t('payment.months', { count: 3 })} - 3.100% -
-
- {t('payment.months', { count: 4 })} - 4.400% -
-
- {t('payment.months', { count: 5 })} - 5.200% -
-
- {t('payment.months', { count: 6 })} - 6.000% -
-
- {t('payment.months', { count: 7 })} - 6.600% -
-
- {t('payment.months', { count: 8 })} - 7.500% -
-
- {t('payment.months', { count: 9 })} - 8.000% -
-
- {t('payment.months', { count: 10 })} - 9.000% -
+ { !!newInstallmentTabItems && newInstallmentTabItems.map((value, index) => ( +
+ {t('payment.months', { count: parseInt(value.installmentMonth.substring(0, 1)) })} + { value.feeRate+'%' || '' } +
+ )) + } } @@ -258,13 +246,16 @@ export const CardCommissionBottomSheet = ({ { (onTab === CardCommissionTabKey.MONEY_POINT) && <>
- { leftTitle } + { moneyPointTitle } {t('payment.commission')}
-
- { leftText } - 2.000% -
+ { !!newMoneyPointTabItems && newMoneyPointTabItems.map((value, index) => ( +
+ { value.category } + { value.feeRate+'%' || '' } +
+ )) + } }