diff --git a/src/components/Tabs/Tab.jsx b/src/components/Tabs/Tab.jsx new file mode 100644 index 0000000000..fdf9b60875 --- /dev/null +++ b/src/components/Tabs/Tab.jsx @@ -0,0 +1,40 @@ +import React from 'react'; +import { Link } from 'react-router-dom'; + +import './tabs.scss'; + + +const Tab = ({ location, match, tab, currentTab, children, breadcrumb }) => { + const tabClasses = () => { + let classes = 'pf-c-tabs__item'; + if (tab === currentTab) { + classes += ' pf-m-current'; + } + + return classes; + }; + + const tabParams = () => { + const params = new URLSearchParams(location.search); + if (params.get('tab') !== undefined) { + params.set('tab', tab); + } else { + params.append('tab', tab); + } + + return `?${params.toString()}`; + }; + + return ( +
  • + + {children} + +
  • + ) +} + +export default Tab; diff --git a/src/components/Tabs/Tabs.jsx b/src/components/Tabs/Tabs.jsx new file mode 100644 index 0000000000..2dae079219 --- /dev/null +++ b/src/components/Tabs/Tabs.jsx @@ -0,0 +1,13 @@ +import React from 'react'; +import './tabs.scss'; + + +const Tabs = ({ children, labelText }) => ( +
    + +
    +); + +export default Tabs; diff --git a/src/pages/Organizations/tabs.scss b/src/components/Tabs/tabs.scss similarity index 100% rename from src/pages/Organizations/tabs.scss rename to src/components/Tabs/tabs.scss diff --git a/src/pages/Organizations/components/OrganizationDetail.jsx b/src/pages/Organizations/components/OrganizationDetail.jsx index 159030c8de..624d625650 100644 --- a/src/pages/Organizations/components/OrganizationDetail.jsx +++ b/src/pages/Organizations/components/OrganizationDetail.jsx @@ -1,6 +1,6 @@ import React, { Fragment } from 'react'; -import { I18n } from '@lingui/react'; import { Trans, t } from '@lingui/macro'; +import { I18n} from '@lingui/react'; import { Card, CardHeader, @@ -14,42 +14,10 @@ import { Route } from 'react-router-dom'; +import Tab from '../../../components/Tabs/Tab'; +import Tabs from '../../../components/Tabs/Tabs'; import getTabName from '../utils'; -import '../tabs.scss'; - -const Tab = ({ location, match, tab, currentTab, children, breadcrumb }) => { - const tabClasses = () => { - let classes = 'pf-c-tabs__item'; - if (tab === currentTab) { - classes += ' pf-m-current'; - } - - return classes; - }; - - const updateTab = () => { - const params = new URLSearchParams(location.search); - if (params.get('tab') !== undefined) { - params.set('tab', tab); - } else { - params.append('tab', tab); - } - - return `?${params.toString()}`; - }; - - return ( -
  • - - {children} - -
  • - ); -}; const OrganizationDetail = ({ location, @@ -61,6 +29,7 @@ const OrganizationDetail = ({ }) => { // TODO: set objectName by param or through grabbing org detail get from api const { medium } = PageSectionVariants; + const tabList=['details', 'access', 'teams', 'notifications']; const deleteResourceView = () => ( @@ -93,34 +62,29 @@ const OrganizationDetail = ({ ); - const tabList = (tabs) => ( - - {({ i18n }) => ( -
    - -
    - )} -
    - ); return ( - {tabList(['details', 'access', 'teams', 'notifications'])} + + {({ i18n }) => ( + + {tabList.map(tab => ( + + {getTabName(tab)} + + ))} + + )} + {(currentTab && currentTab !== 'details') ? (