import { Navigate, Route, Routes, useLocation, useNavigate, } from 'react-router-dom'; import { ITab, VerticalTabs } from 'component/common/VerticalTabs/VerticalTabs'; import { ProjectAccess } from 'component/project/ProjectAccess/ProjectAccess'; import ProjectEnvironmentList from 'component/project/ProjectEnvironment/ProjectEnvironment'; import { ChangeRequestConfiguration } from './ChangeRequestConfiguration/ChangeRequestConfiguration'; import { ProjectApiAccess } from 'component/project/Project/ProjectSettings/ProjectApiAccess/ProjectApiAccess'; import useUiConfig from '../../../../hooks/api/getters/useUiConfig/useUiConfig'; export const ProjectSettings = () => { const location = useLocation(); const navigate = useNavigate(); const { uiConfig } = useUiConfig(); const { showProjectApiAccess } = uiConfig.flags; const tabs: ITab[] = [ { id: 'environments', label: 'Environments', }, { id: 'access', label: 'Access', }, { id: 'change-requests', label: 'Change request configuration', }, ]; if (Boolean(showProjectApiAccess)) { tabs.push({ id: 'api-access', label: 'API access', }); } const onChange = (tab: ITab) => { navigate(tab.id); }; return ( id && location.pathname?.includes(`/${id}`) )?.id || tabs[0].id } onChange={onChange} > } /> } /> } /> {Boolean(showProjectApiAccess) && ( } /> )} } /> ); };