diff --git a/packages/bruno-app/src/components/WorkspaceHome/WorkspaceEnvironments/EnvironmentList/index.js b/packages/bruno-app/src/components/WorkspaceHome/WorkspaceEnvironments/EnvironmentList/index.js index 6c7197e1a..7ce4c66ef 100644 --- a/packages/bruno-app/src/components/WorkspaceHome/WorkspaceEnvironments/EnvironmentList/index.js +++ b/packages/bruno-app/src/components/WorkspaceHome/WorkspaceEnvironments/EnvironmentList/index.js @@ -2,17 +2,17 @@ import React, { useEffect, useState, useRef } from 'react'; import usePrevious from 'hooks/usePrevious'; import EnvironmentDetails from './EnvironmentDetails'; import CreateEnvironment from '../CreateEnvironment'; -import { IconDownload, IconSearch, IconPlus, IconCheck, IconX } from '@tabler/icons'; +import { IconDownload, IconUpload, IconSearch, IconPlus, IconCheck, IconX } from '@tabler/icons'; import StyledWrapper from './StyledWrapper'; import ConfirmSwitchEnv from './ConfirmSwitchEnv'; -import ImportEnvironment from '../ImportEnvironment'; +import ImportEnvironmentModal from 'components/Environments/Common/ImportEnvironmentModal'; import { isEqual } from 'lodash'; import { useDispatch, useSelector } from 'react-redux'; import { addGlobalEnvironment, renameGlobalEnvironment, selectGlobalEnvironment } from 'providers/ReduxStore/slices/global-environments'; import { validateName, validateNameError } from 'utils/common/regex'; import toast from 'react-hot-toast'; -const EnvironmentList = ({ environments, activeEnvironmentUid, selectedEnvironment, setSelectedEnvironment, isModified, setIsModified, collection }) => { +const EnvironmentList = ({ environments, activeEnvironmentUid, selectedEnvironment, setSelectedEnvironment, isModified, setIsModified, collection, setShowExportModal }) => { const dispatch = useDispatch(); const globalEnvs = useSelector((state) => state?.globalEnvironments?.globalEnvironments); @@ -258,6 +258,12 @@ const EnvironmentList = ({ environments, activeEnvironmentUid, selectedEnvironme } }; + const handleExportClick = () => { + if (setShowExportModal) { + setShowExportModal(true); + } + }; + const handleConfirmSwitch = (saveChanges) => { if (!saveChanges) { setSwitchEnvConfirmClose(false); @@ -270,7 +276,7 @@ const EnvironmentList = ({ environments, activeEnvironmentUid, selectedEnvironme return ( {openCreateModal && setOpenCreateModal(false)} />} - {openImportModal && setOpenImportModal(false)} />} + {openImportModal && setOpenImportModal(false)} />}
{switchEnvConfirmClose && ( @@ -290,6 +296,9 @@ const EnvironmentList = ({ environments, activeEnvironmentUid, selectedEnvironme +
diff --git a/packages/bruno-app/src/components/WorkspaceHome/WorkspaceEnvironments/index.js b/packages/bruno-app/src/components/WorkspaceHome/WorkspaceEnvironments/index.js index fa409e839..c5c351ada 100644 --- a/packages/bruno-app/src/components/WorkspaceHome/WorkspaceEnvironments/index.js +++ b/packages/bruno-app/src/components/WorkspaceHome/WorkspaceEnvironments/index.js @@ -4,42 +4,29 @@ import CreateEnvironment from './CreateEnvironment'; import EnvironmentList from './EnvironmentList'; import StyledWrapper from './StyledWrapper'; import { IconFileAlert } from '@tabler/icons'; -import ImportEnvironment from './ImportEnvironment'; +import ImportEnvironmentModal from 'components/Environments/Common/ImportEnvironmentModal'; +import ExportEnvironmentModal from 'components/Environments/Common/ExportEnvironmentModal'; -export const SharedButton = ({ children, className, onClick }) => { - return ( - - ); -}; - -const DefaultTab = ({ setTab }) => { - return ( -
- -
No Environments
-
- - -
+const DefaultTab = ({ setTab }) => ( +
+ +
No Environments
+
+ +
- ); -}; +
+); const WorkspaceEnvironments = ({ workspace }) => { const [isModified, setIsModified] = useState(false); const [selectedEnvironment, setSelectedEnvironment] = useState(null); const [tab, setTab] = useState('default'); + const [showExportModal, setShowExportModal] = useState(false); const globalEnvironments = useSelector((state) => state.globalEnvironments.globalEnvironments); const activeGlobalEnvironmentUid = useSelector((state) => state.globalEnvironments.activeGlobalEnvironmentUid); @@ -50,7 +37,7 @@ const WorkspaceEnvironments = ({ workspace }) => { {tab === 'create' ? ( setTab('default')} /> ) : tab === 'import' ? ( - setTab('default')} /> + setTab('default')} /> ) : ( )} @@ -68,7 +55,15 @@ const WorkspaceEnvironments = ({ workspace }) => { isModified={isModified} setIsModified={setIsModified} collection={null} + setShowExportModal={setShowExportModal} /> + {showExportModal && ( + setShowExportModal(false)} + environments={globalEnvironments} + environmentType="global" + /> + )} ); };