diff --git a/src/screens/OMPSwitch/MerchantSwitch.res b/src/screens/OMPSwitch/MerchantSwitch.res
index 736273181..74c27b371 100644
--- a/src/screens/OMPSwitch/MerchantSwitch.res
+++ b/src/screens/OMPSwitch/MerchantSwitch.res
@@ -128,16 +128,15 @@ let make = () => {
let getURL = useGetURL()
let fetchDetails = useGetMethod()
let showToast = ToastState.useShowToast()
- let internalSwitch = OMPSwitchHooks.useInternalSwitch()
- let url = RescriptReactRouter.useUrl()
+
let {userInfo: {merchantId}} = React.useContext(UserInfoProvider.defaultContext)
let (showModal, setShowModal) = React.useState(_ => false)
let (merchantList, setMerchantList) = Recoil.useRecoilState(HyperswitchAtom.merchantListAtom)
let merchantDetailsTypedValue = Recoil.useRecoilValueFromAtom(
HyperswitchAtom.merchantDetailsValueAtom,
)
- let (showSwitchingMerch, setShowSwitchingMerch) = React.useState(_ => false)
let (arrow, setArrow) = React.useState(_ => false)
+
let {
globalUIConfig: {sidebarColor: {backgroundColor, primaryTextColor, borderColor}},
} = React.useContext(ThemeProvider.themeContext)
@@ -153,28 +152,10 @@ let make = () => {
}
}
}
-
- let switchMerch = async value => {
- try {
- setShowSwitchingMerch(_ => true)
- let _ = await internalSwitch(~expectedMerchantId=Some(value))
- RescriptReactRouter.replace(GlobalVars.extractModulePath(url))
- setShowSwitchingMerch(_ => false)
- } catch {
- | _ => {
- showToast(~message="Failed to switch merchant", ~toastType=ToastError)
- setShowSwitchingMerch(_ => false)
- }
- }
- }
-
let input: ReactFinalForm.fieldRenderPropsInput = {
name: "name",
onBlur: _ => (),
- onChange: ev => {
- let value = ev->Identity.formReactEventToString
- switchMerch(value)->ignore
- },
+ onChange: _ => (),
onFocus: _ => (),
value: merchantId->JSON.Encode.string,
checked: true,
@@ -213,9 +194,9 @@ let make = () => {
})
generateDropdownOptionsCustomComponent}
marginTop={`mt-8 ${borderColor} shadow-generic_shadow`}
@@ -240,10 +221,5 @@ let make = () => {
-
}
diff --git a/src/screens/OMPSwitch/OMPSwitchHelper.res b/src/screens/OMPSwitch/OMPSwitchHelper.res
index 978ad3110..7d69ddba6 100644
--- a/src/screens/OMPSwitch/OMPSwitchHelper.res
+++ b/src/screens/OMPSwitch/OMPSwitchHelper.res
@@ -4,7 +4,6 @@ module ListBaseComp = {
~heading="",
~subHeading,
~arrow,
- ~showEditIcon=false,
~onEditClick=_ => (),
~isDarkBg=false,
~showDropdownArrow=true,
@@ -517,82 +516,3 @@ let generateDropdownOptionsCustomComponent: array {
- open LogicUtils
- open APIUtils
- let getURL = useGetURL()
- let updateDetails = useUpdateMethod()
- let showToast = ToastState.useShowToast()
- let initialValues =
- [
- ("organization_name", OMPSwitchUtils.currentOMPName(orgList, orgId)->JSON.Encode.string),
- ]->Dict.fromArray
-
- let validateForm = (values: JSON.t) => {
- let errors = Dict.make()
- let organizationName =
- values->getDictFromJsonObject->getString("organization_name", "")->String.trim
- let regexForOrganizationName = "^([a-z]|[A-Z]|[0-9]|_|\\s)+$"
-
- let errorMessage = if organizationName->isEmptyString {
- "Organization name cannot be empty"
- } else if organizationName->String.length > 64 {
- "Organization name cannot exceed 64 characters"
- } else if !RegExp.test(RegExp.fromString(regexForOrganizationName), organizationName) {
- "Organization name should not contain special characters"
- } else {
- ""
- }
-
- if errorMessage->isNonEmptyString {
- Dict.set(errors, "organization_name", errorMessage->JSON.Encode.string)
- }
-
- errors->JSON.Encode.object
- }
-
- let orgName = FormRenderer.makeFieldInfo(
- ~label="Org Name",
- ~name="organization_name",
- ~placeholder=`Eg: Hyperswitch`,
- ~customInput=InputFields.textInput(),
- ~isRequired=true,
- )
-
- let onSubmit = async (values, _) => {
- try {
- let url = getURL(~entityName=UPDATE_ORGANIZATION, ~methodType=Put, ~id=Some(orgId))
- let _ = await updateDetails(url, values, Put)
- let _ = await getOrgList()
- showToast(~message="Updated organization name!", ~toastType=ToastSuccess)
- } catch {
- | _ => showToast(~message="Failed to update organization name!", ~toastType=ToastError)
- }
- setShowModal(_ => false)
- Nullable.null
- }
-
- <>
-
-
-
- >
- }
-}
diff --git a/src/screens/OMPSwitch/OrgSwitch.res b/src/screens/OMPSwitch/OrgSwitch.res
deleted file mode 100644
index e67b07bec..000000000
--- a/src/screens/OMPSwitch/OrgSwitch.res
+++ /dev/null
@@ -1,358 +0,0 @@
-module SwitchOrg = {
- @react.component
- let make = (~setShowModal) => {
- let showToast = ToastState.useShowToast()
- let showPopUp = PopUpState.useShowPopUp()
- let internalSwitch = OMPSwitchHooks.useInternalSwitch()
- let (value, setValue) = React.useState(() => "")
- let {globalUIConfig: {sidebarColor: {backgroundColor}}} = React.useContext(
- ThemeProvider.themeContext,
- )
-
- let input = React.useMemo((): ReactFinalForm.fieldRenderPropsInput => {
- {
- name: "-",
- onBlur: _ => (),
- onChange: ev => {
- let value = {ev->ReactEvent.Form.target}["value"]
- if value->String.includes("") {
- showPopUp({
- popUpType: (Warning, WithIcon),
- heading: `Script Tags are not allowed`,
- description: React.string(`Input cannot contain tags`),
- handleConfirm: {text: "OK"},
- })
- }
- let val = value->String.replace("", "")
- setValue(_ => val)
- },
- onFocus: _ => (),
- value: JSON.Encode.string(value),
- checked: false,
- }
- }, [value])
-
- let switchOrg = async () => {
- try {
- setShowModal(_ => true)
- let _ = await internalSwitch(~expectedOrgId=Some(value))
- setShowModal(_ => false)
- } catch {
- | _ => {
- showToast(~message="Failed to switch the org! Try again.", ~toastType=ToastError)
- setShowModal(_ => false)
- }
- }
- }
-
- let handleKeyUp = event => {
- if event->ReactEvent.Keyboard.keyCode === 13 {
- switchOrg()->ignore
- }
- }
-
-
- }
-}
-module NewOrgCreationModal = {
- @react.component
- let make = (~setShowModal, ~showModal, ~getOrgList) => {
- open APIUtils
- let getURL = useGetURL()
- let updateDetails = useUpdateMethod()
- let showToast = ToastState.useShowToast()
- let createNewOrg = async values => {
- try {
- let url = getURL(~entityName=USERS, ~userType=#CREATE_ORG, ~methodType=Post)
- let _ = await updateDetails(url, values, Post)
- getOrgList()->ignore
- showToast(~toastType=ToastSuccess, ~message="Org Created Successfully!", ~autoClose=true)
- } catch {
- | _ => showToast(~toastType=ToastError, ~message="Org Creation Failed", ~autoClose=true)
- }
- setShowModal(_ => false)
- Nullable.null
- }
-
- let onSubmit = (values, _) => {
- createNewOrg(values)
- }
-
- let orgName = FormRenderer.makeFieldInfo(
- ~label="Org Name",
- ~name="organization_name",
- ~placeholder="Eg: My New Org",
- ~customInput=InputFields.textInput(),
- ~isRequired=true,
- )
-
- let merchantName = FormRenderer.makeFieldInfo(
- ~label="Merchant Name",
- ~name="merchant_name",
- ~placeholder="Eg: My New Merchant",
- ~customInput=InputFields.textInput(),
- ~isRequired=true,
- )
-
- let validateForm = (
- ~values: JSON.t,
- ~fieldstoValidate: array,
- ) => {
- open LogicUtils
- let errors = Dict.make()
- let regexForOrgName = "^([a-z]|[A-Z]|[0-9]|_|\\s)+$"
-
- fieldstoValidate->Array.forEach(field => {
- let name = switch field {
- | OrgName => "Org"
- | MerchantName => "Merchant"
- }
-
- let value = switch field {
- | OrgName => "organization_name"
- | MerchantName => "merchant_name"
- }
-
- let fieldValue = values->getDictFromJsonObject->getString(value, "")->String.trim
-
- let errorMsg = if fieldValue->isEmptyString {
- `${name} name cannot be empty`
- } else if fieldValue->String.length > 64 {
- `${name} name too long`
- } else if !RegExp.test(RegExp.fromString(regexForOrgName), fieldValue) {
- `${name} name should not contain special characters`
- } else {
- ""
- }
- if errorMsg->isNonEmptyString {
- Dict.set(errors, value, errorMsg->JSON.Encode.string)
- }
- })
- errors->JSON.Encode.object
- }
-
- let modalBody = {
-
-
-
-
setShowModal(_ => false)}>
-
-
-
-
-
- }
-
-
- modalBody
-
- }
-}
-
-@react.component
-let make = () => {
- open APIUtils
- open LogicUtils
- open OMPSwitchUtils
- open OMPSwitchHelper
- let getURL = useGetURL()
- let fetchDetails = useGetMethod()
- let showToast = ToastState.useShowToast()
- let internalSwitch = OMPSwitchHooks.useInternalSwitch()
- let url = RescriptReactRouter.useUrl()
- let {userHasAccess} = GroupACLHooks.useUserGroupACLHook()
- let {userInfo: {orgId, roleId}} = React.useContext(UserInfoProvider.defaultContext)
- let (orgList, setOrgList) = Recoil.useRecoilState(HyperswitchAtom.orgListAtom)
- let {tenantUser} = HyperswitchAtom.featureFlagAtom->Recoil.useRecoilValueFromAtom
- let (showSwitchingOrg, setShowSwitchingOrg) = React.useState(_ => false)
- let (showEditOrgModal, setShowEditOrgModal) = React.useState(_ => false)
- let (showAddOrgModal, setShowAddOrgModal) = React.useState(_ => false)
- let (arrow, setArrow) = React.useState(_ => false)
- let isTenantAdmin = roleId->HyperSwitchUtils.checkIsTenantAdmin
- let {globalUIConfig: {sidebarColor: {backgroundColor, secondaryTextColor}}} = React.useContext(
- ThemeProvider.themeContext,
- )
- let getOrgList = async () => {
- try {
- let url = getURL(~entityName=USERS, ~userType=#LIST_ORG, ~methodType=Get)
- let response = await fetchDetails(url)
- setOrgList(_ => response->getArrayDataFromJson(orgItemToObjMapper))
- } catch {
- | _ => {
- setOrgList(_ => ompDefaultValue(orgId, ""))
- showToast(~message="Failed to fetch organisation list", ~toastType=ToastError)
- }
- }
- }
-
- React.useEffect(() => {
- getOrgList()->ignore
- None
- }, [])
-
- let orgSwitch = async value => {
- try {
- setShowSwitchingOrg(_ => true)
- let _ = await internalSwitch(~expectedOrgId=Some(value))
- RescriptReactRouter.replace(GlobalVars.extractModulePath(url))
- setShowSwitchingOrg(_ => false)
- } catch {
- | _ => {
- showToast(~message="Failed to switch organisation", ~toastType=ToastError)
- setShowSwitchingOrg(_ => false)
- }
- }
- }
-
- let onEditClick = e => {
- setShowEditOrgModal(_ => true)
- e->ReactEvent.Mouse.stopPropagation
- }
-
- let input: ReactFinalForm.fieldRenderPropsInput = {
- name: "name",
- onBlur: _ => (),
- onChange: ev => {
- let value = ev->Identity.formReactEventToString
- orgSwitch(value)->ignore
- },
- onFocus: _ => (),
- value: orgId->JSON.Encode.string,
- checked: true,
- }
-
- let toggleChevronState = () => {
- setArrow(prev => !prev)
- }
-
- let customHRTagStyle = "border-t border-blue-830"
- let customPadding = "py-1 w-full"
- let customStyle = `w-56 ${secondaryTextColor} ${backgroundColor.sidebarSecondary} dark:bg-black hover:text-gray-100 !w-full`
-
- let customScrollStyle = `${backgroundColor.sidebarSecondary} max-h-72 overflow-scroll px-1 pt-1`
- let dropdownContainerStyle = "min-w-[15rem] rounded"
-
- let showOrgDropdown = !(tenantUser && isTenantAdmin && orgList->Array.length >= 20)
- let orgDropdown =
- generateDropdownOptions(~customIconCss="text-grey-200")}
- marginTop="mt-14"
- hideMultiSelectButtons=true
- addButton=false
- customStyle={`${backgroundColor.sidebarSecondary} hover:!bg-black/10 rounded !w-full`}
- customSelectStyle={`${backgroundColor.sidebarSecondary} hover:!bg-black/10 rounded`}
- searchable=false
- baseComponent={}
- baseComponentCustomStyle={`border-blue-820 rounded ${backgroundColor.sidebarSecondary} rounded text-white`}
- bottomComponent={
-
- }
- optionClass={`${secondaryTextColor} text-fs-14`}
- selectClass={`${secondaryTextColor} text-fs-14`}
- customDropdownOuterClass="!border-none !w-full"
- fullLength=true
- toggleChevronState
- customScrollStyle
- dropdownContainerStyle
- shouldDisplaySelectedOnTop=true
- />
-
- let orgBaseComp =
-
-
- let orgComp = showOrgDropdown ? orgDropdown : orgBaseComp
-
-
-
- {orgComp}
-
-
-
-
-
-
-
-
-
-
-}
diff --git a/src/screens/OMPSwitch/ProfileSwitch.res b/src/screens/OMPSwitch/ProfileSwitch.res
index cf12b2d4b..bddc1e935 100644
--- a/src/screens/OMPSwitch/ProfileSwitch.res
+++ b/src/screens/OMPSwitch/ProfileSwitch.res
@@ -128,12 +128,10 @@ let make = () => {
let getURL = useGetURL()
let fetchDetails = useGetMethod()
let showToast = ToastState.useShowToast()
- let internalSwitch = OMPSwitchHooks.useInternalSwitch()
- let url = RescriptReactRouter.useUrl()
+
let (showModal, setShowModal) = React.useState(_ => false)
let {userInfo: {profileId}} = React.useContext(UserInfoProvider.defaultContext)
let (profileList, setProfileList) = Recoil.useRecoilState(HyperswitchAtom.profileListAtom)
- let (showSwitchingProfile, setShowSwitchingProfile) = React.useState(_ => false)
let (arrow, setArrow) = React.useState(_ => false)
let businessProfiles = Recoil.useRecoilValueFromAtom(HyperswitchAtom.businessProfilesAtom)
@@ -153,27 +151,11 @@ let make = () => {
let addItemBtnStyle = "border border-t-0 w-full"
let customScrollStyle = "max-h-72 overflow-scroll px-1 pt-1 border border-b-0"
let dropdownContainerStyle = "rounded-md border border-1 w-[14rem] max-w-[20rem]"
- let profileSwitch = async value => {
- try {
- setShowSwitchingProfile(_ => true)
- let _ = await internalSwitch(~expectedProfileId=Some(value))
- RescriptReactRouter.replace(GlobalVars.extractModulePath(url))
- setShowSwitchingProfile(_ => false)
- } catch {
- | _ => {
- showToast(~message="Failed to switch profile", ~toastType=ToastError)
- setShowSwitchingProfile(_ => false)
- }
- }
- }
let input: ReactFinalForm.fieldRenderPropsInput = {
name: "name",
onBlur: _ => (),
- onChange: ev => {
- let value = ev->Identity.formReactEventToString
- profileSwitch(value)->ignore
- },
+ onChange: _ => (),
onFocus: _ => (),
value: profileId->JSON.Encode.string,
checked: true,
@@ -226,10 +208,5 @@ let make = () => {
-
>
}
diff --git a/src/screens/Sidebar/OrgSidebar.res b/src/screens/Sidebar/OrgSidebar.res
index 0f9e5eefd..7d893053c 100644
--- a/src/screens/Sidebar/OrgSidebar.res
+++ b/src/screens/Sidebar/OrgSidebar.res
@@ -136,7 +136,6 @@ module OrgTile = {
}
}
-
module NewOrgCreationModal = {
@react.component
let make = (~setShowModal, ~showModal, ~getOrgList) => {
@@ -273,13 +272,11 @@ let make = () => {
open APIUtils
open LogicUtils
open OMPSwitchUtils
- open OMPSwitchHelper
let getURL = useGetURL()
let fetchDetails = useGetMethod()
let url = RescriptReactRouter.useUrl()
let (orgList, setOrgList) = Recoil.useRecoilState(HyperswitchAtom.orgListAtom)
let (showSwitchingOrg, setShowSwitchingOrg) = React.useState(_ => false)
- let (showEditOrgModal, setShowEditOrgModal) = React.useState(_ => false)
let internalSwitch = OMPSwitchHooks.useInternalSwitch()
let {userInfo: {orgId, roleId}} = React.useContext(UserInfoProvider.defaultContext)
let {tenantUser} = HyperswitchAtom.featureFlagAtom->Recoil.useRecoilValueFromAtom
@@ -365,9 +362,6 @@ let make = () => {
setShowModal={setShowAddOrgModal} showModal={showAddOrgModal} getOrgList
/>
-