Skip to content

Commit

Permalink
refactor: use constant for readability
Browse files Browse the repository at this point in the history
  • Loading branch information
keellyp committed Feb 21, 2025
1 parent 0a72e21 commit 4696141
Showing 1 changed file with 24 additions and 63 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,9 @@ export const PaymentProvidersAccordion: FC<PaymentProvidersAccordionProps> = ({
formikProps.setFieldValue('providerCustomer.providerPaymentMethods', newValue)
}

const paymentMethods = formikProps.values.providerCustomer?.providerPaymentMethods || []
const isPaymentMethodUnique = paymentMethods.length === 1

return (
<div>
<Typography variant="captionHl" color="grey700" className="mb-1">
Expand Down Expand Up @@ -237,25 +240,15 @@ export const PaymentProvidersAccordion: FC<PaymentProvidersAccordionProps> = ({
<div className="grid grid-cols-2 gap-4">
<Checkbox
name="providerCustomer.providerPaymentMethods.card"
value={
!!formikProps.values.providerCustomer?.providerPaymentMethods?.includes(
ProviderPaymentMethodsEnum.Card,
)
}
value={!!paymentMethods.includes(ProviderPaymentMethodsEnum.Card)}
label={translate('text_64aeb7b998c4322918c84208')}
sublabel={translate('text_65e1f90471bc198c0c934d86')}
disabled={
(formikProps.values.providerCustomer?.providerPaymentMethods?.length === 1 &&
formikProps.values.providerCustomer?.providerPaymentMethods.includes(
ProviderPaymentMethodsEnum.Card,
)) ||
(formikProps.values.providerCustomer?.providerPaymentMethods?.length === 2 &&
formikProps.values.providerCustomer?.providerPaymentMethods.includes(
ProviderPaymentMethodsEnum.Card,
) &&
formikProps.values.providerCustomer?.providerPaymentMethods.includes(
ProviderPaymentMethodsEnum.Link,
))
(paymentMethods.length === 1 &&
paymentMethods.includes(ProviderPaymentMethodsEnum.Card)) ||
(paymentMethods.length === 2 &&
paymentMethods.includes(ProviderPaymentMethodsEnum.Card) &&
paymentMethods.includes(ProviderPaymentMethodsEnum.Link))
}
onChange={(e, checked) => {
let newValue = [
Expand All @@ -276,21 +269,13 @@ export const PaymentProvidersAccordion: FC<PaymentProvidersAccordionProps> = ({
formikProps.setFieldValue('providerCustomer.providerPaymentMethods', newValue)
}}
/>

{/* Link can be enabled only if Card is enabled */}
<Checkbox
name="providerCustomer.providerPaymentMethods.link"
value={
!!formikProps.values.providerCustomer?.providerPaymentMethods?.includes(
ProviderPaymentMethodsEnum.Link,
)
}
value={!!paymentMethods.includes(ProviderPaymentMethodsEnum.Link)}
label={translate('text_6686b316b672a6e75a29eea0')}
sublabel={translate('text_6686b316b672a6e75a29eea2')}
disabled={
!(formikProps.values.providerCustomer?.providerPaymentMethods || []).includes(
ProviderPaymentMethodsEnum.Card,
)
}
disabled={!paymentMethods.includes(ProviderPaymentMethodsEnum.Card)}
onChange={(_e, checked) => {
onSetPaymentMethod(ProviderPaymentMethodsEnum.Link, checked)
}}
Expand All @@ -305,18 +290,12 @@ export const PaymentProvidersAccordion: FC<PaymentProvidersAccordionProps> = ({
<div className="grid grid-cols-2 gap-4">
<Checkbox
name="providerCustomer.providerPaymentMethods.sepa_debit"
value={
!!formikProps.values.providerCustomer?.providerPaymentMethods?.includes(
ProviderPaymentMethodsEnum.SepaDebit,
)
}
value={!!paymentMethods.includes(ProviderPaymentMethodsEnum.SepaDebit)}
label={translate('text_64aeb7b998c4322918c8420c')}
sublabel={translate('text_65e1f90471bc198c0c934d8c')}
disabled={
formikProps.values.providerCustomer?.providerPaymentMethods?.length === 1 &&
formikProps.values.providerCustomer?.providerPaymentMethods.includes(
ProviderPaymentMethodsEnum.SepaDebit,
)
isPaymentMethodUnique &&
paymentMethods.includes(ProviderPaymentMethodsEnum.SepaDebit)
}
onChange={(_e, checked) => {
onSetPaymentMethod(ProviderPaymentMethodsEnum.SepaDebit, checked)
Expand All @@ -325,18 +304,12 @@ export const PaymentProvidersAccordion: FC<PaymentProvidersAccordionProps> = ({

<Checkbox
name="providerCustomer.providerPaymentMethods.us_bank_account"
value={
!!formikProps.values.providerCustomer?.providerPaymentMethods?.includes(
ProviderPaymentMethodsEnum.UsBankAccount,
)
}
value={!!paymentMethods.includes(ProviderPaymentMethodsEnum.UsBankAccount)}
label={translate('text_65e1f90471bc198c0c934d8e')}
sublabel={translate('text_65e1f90471bc198c0c934d90')}
disabled={
formikProps.values.providerCustomer?.providerPaymentMethods?.length === 1 &&
formikProps.values.providerCustomer?.providerPaymentMethods.includes(
ProviderPaymentMethodsEnum.UsBankAccount,
)
isPaymentMethodUnique &&
paymentMethods.includes(ProviderPaymentMethodsEnum.UsBankAccount)
}
onChange={(_e, checked) => {
onSetPaymentMethod(ProviderPaymentMethodsEnum.UsBankAccount, checked)
Expand All @@ -345,18 +318,12 @@ export const PaymentProvidersAccordion: FC<PaymentProvidersAccordionProps> = ({

<Checkbox
name="providerCustomer.providerPaymentMethods.bacs_debit"
value={
!!formikProps.values.providerCustomer?.providerPaymentMethods?.includes(
ProviderPaymentMethodsEnum.BacsDebit,
)
}
value={!!paymentMethods.includes(ProviderPaymentMethodsEnum.BacsDebit)}
label={translate('text_65e1f90471bc198c0c934d92')}
sublabel={translate('text_65e1f90471bc198c0c934d94')}
disabled={
formikProps.values.providerCustomer?.providerPaymentMethods?.length === 1 &&
formikProps.values.providerCustomer?.providerPaymentMethods.includes(
ProviderPaymentMethodsEnum.BacsDebit,
)
isPaymentMethodUnique &&
paymentMethods.includes(ProviderPaymentMethodsEnum.BacsDebit)
}
onChange={(_e, checked) => {
onSetPaymentMethod(ProviderPaymentMethodsEnum.BacsDebit, checked)
Expand All @@ -365,18 +332,12 @@ export const PaymentProvidersAccordion: FC<PaymentProvidersAccordionProps> = ({

<Checkbox
name="providerCustomer.providerPaymentMethods.boleto"
value={
!!formikProps.values.providerCustomer?.providerPaymentMethods?.includes(
ProviderPaymentMethodsEnum.Boleto,
)
}
value={!!paymentMethods.includes(ProviderPaymentMethodsEnum.Boleto)}
label={translate('text_1738234109827diqh4eswleu')}
sublabel={translate('text_1738234109827hev75h17loy')}
disabled={
formikProps.values.providerCustomer?.providerPaymentMethods?.length === 1 &&
formikProps.values.providerCustomer?.providerPaymentMethods.includes(
ProviderPaymentMethodsEnum.Boleto,
)
isPaymentMethodUnique &&
paymentMethods.includes(ProviderPaymentMethodsEnum.Boleto)
}
onChange={(_e, checked) => {
onSetPaymentMethod(ProviderPaymentMethodsEnum.Boleto, checked)
Expand Down

0 comments on commit 4696141

Please sign in to comment.