import React, { useEffect } from "react"; import { useRouteMatch, useLocation, useParams, Link } from "react-router-dom"; import AppRoute from "pages/common/AppRoute"; import { getCurrentOrg } from "selectors/organizationSelectors"; import { useSelector, useDispatch } from "react-redux"; import { TabComponent, TabProp } from "components/ads/Tabs"; import Text, { TextType } from "components/ads/Text"; import history from "utils/history"; import styled from "styled-components"; import MemberSettings from "./Members"; import IconComponent from "components/designSystems/appsmith/IconComponent"; import { fetchOrg } from "actions/orgActions"; import { GeneralSettings } from "./General"; const LinkToApplications = styled(Link)` margin-bottom: 35px; width: auto; &:hover { text-decoration: none; } svg { cursor: pointer; } `; export default function Settings() { const { orgId } = useParams(); const currentOrg = useSelector(getCurrentOrg); const { path } = useRouteMatch(); const location = useLocation(); const dispatch = useDispatch(); useEffect(() => { dispatch(fetchOrg(orgId as string)); }, []); const SettingsRenderer = (
); const tabArr: TabProp[] = [ { key: "general", title: "General", panelComponent: SettingsRenderer, icon: "general", }, { key: "members", title: "Members", panelComponent: SettingsRenderer, icon: "user", }, ]; const isMembersPage = location.pathname.indexOf("members") !== -1; return ( <> {currentOrg.name} { const settingsStartIndex = location.pathname.indexOf("settings"); const settingsEndIndex = settingsStartIndex + "settings".length; const hasSlash = location.pathname[settingsEndIndex] === "/"; let newUrl = ""; if (hasSlash) { newUrl = `${location.pathname.substr(0, settingsEndIndex)}/${ tabArr[index].key }`; } else { newUrl = `${location.pathname}/${tabArr[index].key}`; } history.push(newUrl); }} > ); }