import './AccountSettingsModal.style.scss'; import { Form, Select, Switch } from 'antd'; import SignozModal from 'components/SignozModal/SignozModal'; import { REACT_QUERY_KEY } from 'constants/reactQueryKeys'; import { getRegionPreviewText, useAccountSettingsModal, } from 'hooks/integration/aws/useAccountSettingsModal'; import useUrlQuery from 'hooks/useUrlQuery'; import history from 'lib/history'; import { Dispatch, SetStateAction, useCallback } from 'react'; import { useQueryClient } from 'react-query'; import { CloudAccount } from '../../ServicesSection/types'; import { RegionSelector } from './RegionSelector'; import RemoveIntegrationAccount from './RemoveIntegrationAccount'; interface AccountSettingsModalProps { onClose: () => void; account: CloudAccount; setActiveAccount: Dispatch>; } function AccountSettingsModal({ onClose, account, setActiveAccount, }: AccountSettingsModalProps): JSX.Element { const { form, isLoading, selectedRegions, includeAllRegions, isRegionSelectOpen, isSaveDisabled, setSelectedRegions, setIncludeAllRegions, setIsRegionSelectOpen, handleIncludeAllRegionsChange, handleSubmit, handleClose, } = useAccountSettingsModal({ onClose, account, setActiveAccount }); const queryClient = useQueryClient(); const urlQuery = useUrlQuery(); const handleRemoveIntegrationAccountSuccess = (): void => { queryClient.invalidateQueries([REACT_QUERY_KEY.AWS_ACCOUNTS]); urlQuery.delete('cloudAccountId'); handleClose(); history.replace({ search: urlQuery.toString() }); }; const renderRegionSelector = useCallback(() => { if (isRegionSelectOpen) { return ( ); } return ( <>