import React from 'react'; import classnames from 'classnames'; import { updatedFolderSettingsSelectedTab } from 'providers/ReduxStore/slices/collections'; import { useDispatch } from 'react-redux'; import Headers from './Headers'; import Script from './Script'; import Tests from './Tests'; import StyledWrapper from './StyledWrapper'; import Vars from './Vars'; import Documentation from './Documentation'; import Auth from './Auth'; import StatusDot from 'components/StatusDot'; import get from 'lodash/get'; const FolderSettings = ({ collection, folder }) => { const dispatch = useDispatch(); let tab = 'headers'; const { folderLevelSettingsSelectedTab } = collection; if (folderLevelSettingsSelectedTab?.[folder?.uid]) { tab = folderLevelSettingsSelectedTab[folder?.uid]; } const folderRoot = folder?.draft || folder?.root; const hasScripts = folderRoot?.request?.script?.res || folderRoot?.request?.script?.req; const hasTests = folderRoot?.request?.tests; const headers = folderRoot?.request?.headers || []; const activeHeadersCount = headers.filter((header) => header.enabled).length; const requestVars = folderRoot?.request?.vars?.req || []; const responseVars = folderRoot?.request?.vars?.res || []; const activeVarsCount = requestVars.filter((v) => v.enabled).length + responseVars.filter((v) => v.enabled).length; const auth = get(folderRoot, 'request.auth.mode'); const hasAuth = auth && auth !== 'none'; const setTab = (tab) => { dispatch( updatedFolderSettingsSelectedTab({ collectionUid: collection?.uid, folderUid: folder?.uid, tab }) ); }; const getTabPanel = (tab) => { switch (tab) { case 'headers': { return ; } case 'script': { return