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 }