2021-01-21 16:09:23 +01:00
|
|
|
import React from 'react';
|
|
|
|
|
import { useHistory } from 'react-router-dom';
|
2023-03-20 08:52:13 +01:00
|
|
|
import { Tabs, TabPane } from '@douyinfe/semi-ui';
|
2021-01-21 16:09:23 +01:00
|
|
|
|
|
|
|
|
import { useLocation } from 'react-router';
|
2023-03-20 08:52:13 +01:00
|
|
|
import { IconUser, IconTerminal, IconSetting } from '@douyinfe/semi-icons';
|
|
|
|
|
|
|
|
|
|
function parsePathName(name) {
|
|
|
|
|
const split = name.split('/').filter((s) => s.length !== 0);
|
|
|
|
|
return '/' + split[0];
|
|
|
|
|
}
|
2021-01-21 16:09:23 +01:00
|
|
|
|
|
|
|
|
const TopMenu = function TopMenu({ isAdmin }) {
|
|
|
|
|
const history = useHistory();
|
|
|
|
|
const location = useLocation();
|
|
|
|
|
return (
|
2023-03-20 08:52:13 +01:00
|
|
|
<Tabs type="line" activeKey={parsePathName(location.pathname)} onTabClick={(key) => history.push(key)}>
|
|
|
|
|
<TabPane
|
|
|
|
|
itemKey="/jobs"
|
|
|
|
|
tab={
|
|
|
|
|
<span>
|
|
|
|
|
<IconTerminal />
|
|
|
|
|
Jobs
|
|
|
|
|
</span>
|
|
|
|
|
}
|
|
|
|
|
/>
|
2021-01-21 16:09:23 +01:00
|
|
|
|
|
|
|
|
{isAdmin && (
|
2023-03-20 08:52:13 +01:00
|
|
|
<TabPane
|
|
|
|
|
itemKey="/users"
|
|
|
|
|
tab={
|
|
|
|
|
<span>
|
|
|
|
|
<IconUser />
|
|
|
|
|
User
|
|
|
|
|
</span>
|
|
|
|
|
}
|
|
|
|
|
/>
|
2021-05-30 09:37:45 +02:00
|
|
|
)}
|
|
|
|
|
|
|
|
|
|
{isAdmin && (
|
2023-03-20 08:52:13 +01:00
|
|
|
<TabPane
|
|
|
|
|
itemKey="/generalSettings"
|
|
|
|
|
tab={
|
|
|
|
|
<span>
|
|
|
|
|
<IconSetting />
|
|
|
|
|
General
|
|
|
|
|
</span>
|
|
|
|
|
}
|
|
|
|
|
/>
|
2021-01-21 16:09:23 +01:00
|
|
|
)}
|
2023-03-20 08:52:13 +01:00
|
|
|
</Tabs>
|
2021-01-21 16:09:23 +01:00
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export default TopMenu;
|