import {ItemType} from "antd/lib/menu/interface";
import {t} from "ttag";
import {
AimOutlined,
ApiOutlined,
BankOutlined,
CloudServerOutlined,
CompassOutlined,
FileSearchOutlined,
HomeOutlined,
LineChartOutlined,
LoginOutlined,
LogoutOutlined,
SearchOutlined,
TeamOutlined,
UserOutlined
} from "@ant-design/icons";
import {Badge, Menu} from "antd";
import React from "react";
import {useNavigate} from "react-router-dom";
export function Sider({isAuthenticated}: { isAuthenticated: boolean }) {
const navigate = useNavigate()
const menuItems: ItemType[] = [
{
key: 'home',
label: t`Home`,
icon: ,
onClick: () => navigate('/home')
},
{
key: 'search',
label: t`Search`,
icon: ,
children: [
{
key: 'domain-finder',
icon: ,
label: t`Domain`,
title: t`Domain Finder`,
disabled: !isAuthenticated,
onClick: () => navigate('/search/domain')
},
{
key: 'tld-list',
icon: ,
label: t`TLD`,
title: t`TLD list`,
disabled: !isAuthenticated,
onClick: () => navigate('/info/tld')
},
{
key: 'entity-finder',
icon: ,
label: t`Entity`,
title: t`Entity Finder`,
disabled: true,
onClick: () => navigate('/search/entity')
},
{
key: 'ns-finder',
icon: ,
label: t`Nameserver`,
title: t`Nameserver Finder`,
disabled: true,
onClick: () => navigate('/search/nameserver')
}
]
},
{
key: 'tracking',
label: t`Tracking`,
icon: ,
children: [
{
key: 'watchlist',
icon: ,
label: t`My Watchlists`,
disabled: !isAuthenticated,
onClick: () => navigate('/tracking/watchlist')
},
{
key: 'connectors',
icon: ,
label: t`My Connectors`,
disabled: !isAuthenticated,
onClick: () => navigate('/tracking/connectors')
}
]
},
{
key: 'stats',
icon: ,
label: t`Statistics`,
disabled: true,
onClick: () => navigate('/info/stats')
}
]
if (isAuthenticated) {
menuItems.push(...[{
key: 'account',
icon: ,
label: t`My Account`,
onClick: () => navigate('/user')
}, {
key: 'logout',
icon: ,
label: t`Log out`,
danger: true,
onClick: () => window.location.replace("/logout")
}])
} else {
menuItems.push({
key: 'login',
icon: ,
label: t`Log in`,
onClick: () => navigate('/login')
})
}
return
}