diff --git a/src/screens/Settings/BusinessMapping/BusinessMappingEntity.res b/src/screens/Settings/BusinessMapping/BusinessMappingEntity.res
index 728cf4ac8..ab2590758 100644
--- a/src/screens/Settings/BusinessMapping/BusinessMappingEntity.res
+++ b/src/screens/Settings/BusinessMapping/BusinessMappingEntity.res
@@ -1,108 +1,17 @@
open HSwitchSettingTypes
open BusinessMappingUtils
-module ProfileActions = {
- @react.component
- let make = (~defaultProfileName, ~profileId) => {
- open APIUtils
- let getURL = useGetURL()
- let updateDetails = useUpdateMethod()
- let showToast = ToastState.useShowToast()
- let (showModal, setShowModal) = React.useState(_ => false)
- let (businessProfiles, setBusinessProfiles) = Recoil.useRecoilState(
- HyperswitchAtom.businessProfilesAtom,
- )
- let initialValues = [("profile_name", defaultProfileName->JSON.Encode.string)]->Dict.fromArray
-
- let onSubmit = async (values, _) => {
- try {
- let url = getURL(~entityName=BUSINESS_PROFILE, ~methodType=Post, ~id=Some(profileId))
- let res = await updateDetails(url, values, Post)
- let filteredProfileList =
- businessProfiles
- ->Array.filter(businessProfile => businessProfile.profile_id !== profileId)
- ->Array.concat([res->BusinessProfileMapper.businessProfileTypeMapper])
-
- setBusinessProfiles(_ => filteredProfileList)
- showToast(~message="Updated profile name!", ~toastType=ToastSuccess)
- } catch {
- | _ => showToast(~message="Failed to update profile name!", ~toastType=ToastError)
- }
- setShowModal(_ => false)
- Nullable.null
- }
-
- let businessName = FormRenderer.makeFieldInfo(
- ~label="Profile Name",
- ~name="profile_name",
- ~placeholder=`Eg: Hyperswitch`,
- ~customInput=InputFields.textInput(),
- ~isRequired=true,
- )
-
-
-
setShowModal(_ => true)}
- />}
- toolTipPosition=ToolTip.Top
- contentAlign={Left}
- />
- {
- Clipboard.writeText(profileId)
- showToast(~message="Copied to Clipboard!", ~toastType=ToastSuccess)
- }}
- />}
- toolTipPosition=ToolTip.Top
- contentAlign={Left}
- />
-
-
-
-
- }
-}
-
type columns =
| ProfileName
| ProfileId
| ReturnUrl
| WebhookUrl
- | Action
-let visibleColumns = [ProfileId, ProfileName, ReturnUrl, WebhookUrl, Action]
+let visibleColumns = [ProfileId, ProfileName, ReturnUrl, WebhookUrl]
-let defaultColumns = [ProfileId, ProfileName, ReturnUrl, WebhookUrl, Action]
+let defaultColumns = [ProfileId, ProfileName, ReturnUrl, WebhookUrl]
-let allColumns = [ProfileId, ProfileName, ReturnUrl, WebhookUrl, Action]
+let allColumns = [ProfileId, ProfileName, ReturnUrl, WebhookUrl]
let getHeading = colType => {
switch colType {
@@ -110,21 +19,15 @@ let getHeading = colType => {
| ProfileName => Table.makeHeaderInfo(~key="profile_name", ~title="Profile Name")
| ReturnUrl => Table.makeHeaderInfo(~key="return_url", ~title="Return URL")
| WebhookUrl => Table.makeHeaderInfo(~key="webhook_url", ~title="Webhook URL")
- | Action => Table.makeHeaderInfo(~key="action", ~title="Action")
}
}
let getCell = (item: profileEntity, colType): Table.cell => {
switch colType {
- | ProfileId => Text(item.profile_id)
+ | ProfileId => DisplayCopyCell(item.profile_id)
| ProfileName => Text(item.profile_name)
| ReturnUrl => Text(item.return_url->Option.getOr(""))
| WebhookUrl => Text(item.webhook_details.webhook_url->Option.getOr(""))
- | Action =>
- CustomCell(
- ,
- "",
- )
}
}
diff --git a/src/screens/Settings/BusinessMapping/BusinessProfileDetails.res b/src/screens/Settings/BusinessMapping/BusinessProfileDetails.res
index 9c3a49c10..036152b72 100644
--- a/src/screens/Settings/BusinessMapping/BusinessProfileDetails.res
+++ b/src/screens/Settings/BusinessMapping/BusinessProfileDetails.res
@@ -1,6 +1,6 @@
module InfoViewForWebhooks = {
@react.component
- let make = (~heading, ~subHeading, ~isCopy=false) => {
+ let make = (~heading, ~subHeading, ~isCopy=false, ~customComp=React.null) => {
let showToast = ToastState.useShowToast()
let onCopyClick = ev => {
ev->ReactEvent.Mouse.stopPropagation
@@ -22,6 +22,7 @@ module InfoViewForWebhooks = {
}}
/>
+ {customComp}
}
@@ -287,6 +288,86 @@ module CollectDetails = {
}
}
+module EditProfileName = {
+ @react.component
+ let make = (~defaultProfileName, ~profileId) => {
+ open APIUtils
+ let getURL = useGetURL()
+ let updateDetails = useUpdateMethod()
+ let showToast = ToastState.useShowToast()
+ let (showModal, setShowModal) = React.useState(_ => false)
+ let (businessProfiles, setBusinessProfiles) = Recoil.useRecoilState(
+ HyperswitchAtom.businessProfilesAtom,
+ )
+
+ let initialValues = [("profile_name", defaultProfileName->JSON.Encode.string)]->Dict.fromArray
+
+ let onSubmit = async (values, _) => {
+ try {
+ let url = getURL(~entityName=BUSINESS_PROFILE, ~methodType=Post, ~id=Some(profileId))
+ let res = await updateDetails(url, values, Post)
+ let filteredProfileList =
+ businessProfiles
+ ->Array.filter(businessProfile => businessProfile.profile_id !== profileId)
+ ->Array.concat([res->BusinessProfileMapper.businessProfileTypeMapper])
+
+ setBusinessProfiles(_ => filteredProfileList)
+ showToast(~message="Updated profile name!", ~toastType=ToastSuccess)
+ } catch {
+ | _ => showToast(~message="Failed to update profile name!", ~toastType=ToastError)
+ }
+ setShowModal(_ => false)
+ Nullable.null
+ }
+
+ let businessName = FormRenderer.makeFieldInfo(
+ ~label="Profile Name",
+ ~name="profile_name",
+ ~placeholder=`Eg: Hyperswitch`,
+ ~customInput=InputFields.textInput(),
+ ~isRequired=true,
+ )
+
+
+
{
+ ev->ReactEvent.Mouse.stopPropagation
+ setShowModal(_ => true)
+ }}
+ />}
+ toolTipPosition=ToolTip.Top
+ contentAlign={Left}
+ />
+
+
+
+
+ }
+}
+
@react.component
let make = (~webhookOnly=false, ~showFormOnly=false, ~profileId="") => {
open DeveloperUtils
@@ -326,6 +407,10 @@ let make = (~webhookOnly=false, ~showFormOnly=false, ~profileId="") => {
defaultFieldsToValidate
}
+ React.useMemo(() => {
+ setBusiProfie(_ => businessProfileDetails)
+ }, [businessProfileDetails])
+
let onSubmit = async (values, _) => {
try {
open LogicUtils
@@ -392,7 +477,12 @@ let make = (~webhookOnly=false, ~showFormOnly=false, ~profileId="") => {
heading="Profile ID" subHeading=busiProfieDetails.profile_id isCopy=true
/>
}
/>