Skip to content

Commit

Permalink
fix: cashtocode configs
Browse files Browse the repository at this point in the history
  • Loading branch information
JeevaRamu0104 committed Dec 21, 2023
1 parent 8c4389f commit 2946712
Show file tree
Hide file tree
Showing 9 changed files with 199 additions and 149 deletions.
Binary file modified public/hyperswitch/wasm/euclid_bg.wasm
Binary file not shown.
4 changes: 2 additions & 2 deletions public/hyperswitch/wasm/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "euclid_wasm",
"name": "euclid_wasm_vas",
"description": "WASM bindings for Euclid DSL",
"version": "0.1.0",
"files": [
Expand All @@ -12,4 +12,4 @@
"sideEffects": [
"./snippets/*"
]
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ let make = (
->ignore
None
}, [connector])

Js.log2(paymentMethodsEnabled, "paymentMethodsEnabled")
let onSubmit = async () => {
try {
setScreenState(_ => Loading)
Expand Down
8 changes: 7 additions & 1 deletion src/screens/HyperSwitch/Connectors/ConnectorTypes.res
Original file line number Diff line number Diff line change
Expand Up @@ -94,11 +94,17 @@ type paymentMethodTypes =
| ApplePay
| UnknownPaymentMethodType(string)

type cardProvider = {
payment_method_type: string,
accepted_currencies: option<Js.Json.t>,
accepted_countries: option<Js.Json.t>,
}

type paymentMethodEnabled = {
payment_method: string,
payment_method_type: string,
provider?: array<string>,
card_provider?: array<string>,
card_provider?: array<cardProvider>,
}

type applePay = {
Expand Down
152 changes: 83 additions & 69 deletions src/screens/HyperSwitch/Connectors/ConnectorUIUtils/PaymentMethod.res
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,13 @@ module CardRenderer = {
~updateDetails,
~paymentMethodsEnabled: array<paymentMethodEnabled>,
~paymentMethod,
~provider,
~provider: array<cardProvider>,
~_showAdvancedConfiguration,
~metaData,
~setMetaData,
~connector,
) => {
Js.log2(provider, "provider provider providervalue")
let (showWalletConfigurationModal, setShowWalletConfigurationModal) = React.useState(_ => false)
let (selectedWallet, setSelectedWallet) = React.useState(_ => "")
let selectedAll = isSelectedAll(paymentMethodsEnabled, provider, paymentMethod)
Expand All @@ -46,54 +47,54 @@ module CardRenderer = {
}

| _ =>
if standardProviders->Js.Array2.includes(method) {
if standardProviders->Js.Array2.includes(method.payment_method_type) {
paymentMethodsEnabled->removeMethod(paymentMethod, method)->updateDetails
} else {
let methodVariant = method->getPaymentMethodTypeFromString
let methodVariant = method.payment_method_type->getPaymentMethodTypeFromString
if (
(methodVariant === GooglePay || methodVariant === ApplePay) &&
(connector->getConnectorNameTypeFromString !== TRUSTPAY &&
connector->getConnectorNameTypeFromString !== AIRWALLEX &&
connector->getConnectorNameTypeFromString !== STRIPE_TEST)
) {
setShowWalletConfigurationModal(_ => !showWalletConfigurationModal)
setSelectedWallet(_ => method)
setSelectedWallet(_ => method.payment_method_type)
} else {
paymentMethodsEnabled->addMethod(paymentMethod, method)->updateDetails
}
}
}
}

let updateSelectAll = (paymentMethod, isSelectedAll) => {
let arr = isSelectedAll ? [] : provider->LogicUtils.getUniqueArray
paymentMethodsEnabled->Js.Array2.forEach(val => {
if val.payment_method_type === paymentMethod {
switch paymentMethod->getPaymentMethodTypeFromString {
| Credit | Debit =>
let length = val.card_provider->Belt.Option.getWithDefault([])->len
val.card_provider
->Belt.Option.getWithDefault([])
->Array.splice(~start=0, ~remove=length, ~insert=arr)
->ignore
| _ =>
let length = val.provider->Belt.Option.getWithDefault([])->len
// let updateSelectAll = (paymentMethod, isSelectedAll) => {
// let arr = isSelectedAll ? [] : provider->LogicUtils.getUniqueArray
// paymentMethodsEnabled->Js.Array2.forEach(val => {
// if val.payment_method_type === paymentMethod {
// switch paymentMethod->getPaymentMethodTypeFromString {
// | Credit | Debit =>
// let length = val.card_provider->Belt.Option.getWithDefault([])->len
// val.card_provider
// ->Belt.Option.getWithDefault([])
// ->Array.splice(~start=0, ~remove=length, ~insert=arr)
// ->ignore
// | _ =>
// let length = val.provider->Belt.Option.getWithDefault([])->len

val.provider
->Belt.Option.getWithDefault([])
->Array.splice(~start=0, ~remove=length, ~insert=arr)
->ignore
}
}
})
updateDetails(paymentMethodsEnabled)
}
// val.provider
// ->Belt.Option.getWithDefault([])
// ->Array.splice(~start=0, ~remove=length, ~insert=arr)
// ->ignore
// }
// }
// })
// updateDetails(paymentMethodsEnabled)
// }

let isSelected = value => {
standardProviders->Js.Array2.includes(value) || cardProviders->Js.Array2.includes(value)
? true
: false
}
// let isSelected = value => {
// standardProviders->Js.Array2.includes(value) || cardProviders->Js.Array2.includes(value)
// ? true
// : false
// }

let isNotVerifiablePaymentMethod = paymentMethodVariant => {
switch paymentMethodVariant {
Expand All @@ -118,8 +119,10 @@ module CardRenderer = {
<UIUtils.RenderIf condition={paymentMethod->getPaymentMethodFromString !== Wallet}>
<div className="flex gap-2 items-center">
<BoolInput.BaseComponent
isSelected={selectedAll}
setIsSelected={_ => updateSelectAll(paymentMethod, selectedAll)}
// isSelected={selectedAll}
// setIsSelected={_ => updateSelectAll(paymentMethod, selectedAll)}
isSelected={false}
setIsSelected={_e => ()}
isDisabled=false
boolCustomClass="rounded-lg"
/>
Expand All @@ -143,36 +146,39 @@ module CardRenderer = {
<div key={i->string_of_int}>
<div className="flex items-center gap-2 break-words">
<div onClick={_e => removeOrAddMethods(value)}>
<CheckBoxIcon isSelected={isSelected(value)} />
// <CheckBoxIcon isSelected={isSelected(value)} />
<CheckBoxIcon isSelected={false} />
</div>
<p className=p2RegularTextStyle> {React.string(value->snakeToTitle)} </p>
<p className=p2RegularTextStyle>
{React.string(value.payment_method_type->snakeToTitle)}
</p>
</div>
</div>
})
->React.array}
<UIUtils.RenderIf
condition={selectedWallet->getPaymentMethodTypeFromString === ApplePay ||
selectedWallet->getPaymentMethodTypeFromString === GooglePay}>
<Modal
modalHeading={`Additional Details to enable ${selectedWallet->LogicUtils.snakeToTitle}`}
headerTextClass="text-blue-800 font-bold text-xl"
showModal={showWalletConfigurationModal}
setShowModal={setShowWalletConfigurationModal}
paddingClass=""
revealFrom=Reveal.Right
modalClass="w-full md:w-1/3 !h-full overflow-y-scroll !overflow-x-hidden rounded-none text-jp-gray-900"
childClass={""}>
<Wallets
method={selectedWallet}
metaData
setMetaData
setShowWalletConfigurationModal
updateDetails
paymentMethodsEnabled
paymentMethod
/>
</Modal>
</UIUtils.RenderIf>
// <UIUtils.RenderIf
// condition={selectedWallet->getPaymentMethodTypeFromString === ApplePay ||
// selectedWallet->getPaymentMethodTypeFromString === GooglePay}>
// <Modal
// modalHeading={`Additional Details to enable ${selectedWallet->LogicUtils.snakeToTitle}`}
// headerTextClass="text-blue-800 font-bold text-xl"
// showModal={showWalletConfigurationModal}
// setShowModal={setShowWalletConfigurationModal}
// paddingClass=""
// revealFrom=Reveal.Right
// modalClass="w-full md:w-1/3 !h-full overflow-y-scroll !overflow-x-hidden rounded-none text-jp-gray-900"
// childClass={""}>
// <Wallets
// method={selectedWallet}
// metaData
// setMetaData
// setShowWalletConfigurationModal
// updateDetails
// paymentMethodsEnabled
// paymentMethod
// />
// </Modal>
// </UIUtils.RenderIf>
</div>
</div>
}
Expand Down Expand Up @@ -201,11 +207,19 @@ module PaymentMethodsRender = {
}, [connector])
let keys =
pmts->Js.Dict.keys->Js.Array2.filter(val => !Js.Array2.includes(configKeysToIgnore, val))
Js.log2(keys, "keys")
Js.log2(pmts, "pmts pmts pmts")

// Js.log2(pmts->getDictfromDict("credit"), "keyskeyskeyskeyskeyskeys")
let er = pmts->getArrayFromDict("credit", [])
Js.log2(er, "errrrrrrrrr")
<div className="flex flex-col gap-12">
{keys
->Array.mapWithIndex((value, i) => {
let provider = pmts->getStrArray(value)
let r = pmts->getDictfromDict(value)
Js.log4(r, value, i, "log provider provider")
let provider =
pmts->getDictfromDict(value)->Js.Json.object_->getArrayDataFromJson(itemPorivderMapper)
switch value->getPaymentMethodTypeFromString {
| Credit | Debit =>
<div key={i->string_of_int}>
Expand All @@ -222,16 +236,16 @@ module PaymentMethodsRender = {
</div>
| _ =>
<div key={i->string_of_int}>
<CardRenderer
updateDetails
paymentMethodsEnabled
paymentMethod={value}
provider={pmts->getStrArray(value)}
_showAdvancedConfiguration=false
metaData
setMetaData
connector
/>
// <CardRenderer
// updateDetails
// paymentMethodsEnabled
// paymentMethod={value}
// provider={pmts->getStrArray(value)}
// _showAdvancedConfiguration=false
// metaData
// setMetaData
// connector
// />
</div>
}
})
Expand Down
Loading

0 comments on commit 2946712

Please sign in to comment.