Files
fredy/ui/src/components/menu/Menu.jsx

57 lines
1.2 KiB
React
Raw Normal View History

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