import {ItemType} from "antd/lib/menu/interface"; import {t} from "ttag"; import { AimOutlined, ApiOutlined, BankOutlined, CompassOutlined, FileSearchOutlined, HomeOutlined, LineChartOutlined, LoginOutlined, LogoutOutlined, SearchOutlined, TableOutlined, UserOutlined } from "@ant-design/icons"; import {Menu} from "antd"; import React from "react"; import {useLocation, useNavigate} from "react-router-dom"; export function Sider({isAuthenticated}: { isAuthenticated: boolean }) { const navigate = useNavigate() const location = useLocation() const menuItems: ItemType[] = [ { key: '/home', label: t`Home`, icon: , onClick: () => navigate('/home') }, { key: 'search', label: t`Search`, icon: , children: [ { key: '/search/domain', icon: , label: t`Domain`, title: t`Domain Finder`, disabled: !isAuthenticated, onClick: () => navigate('/search/domain') }, { key: '/search/tld', icon: , label: t`TLD`, title: t`TLD list`, disabled: !isAuthenticated, onClick: () => navigate('/search/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: '/tracking/watchlist', icon: , label: t`My Watchlists`, disabled: !isAuthenticated, onClick: () => navigate('/tracking/watchlist') }, { key: '/tracking/domains', icon: , label: t`Tracking table`, disabled: !isAuthenticated, onClick: () => navigate('/tracking/domains') }, { key: '/tracking/connectors', icon: , label: t`My Connectors`, disabled: !isAuthenticated, onClick: () => navigate('/tracking/connectors') } ] }, { key: '/stats', icon: , label: t`Statistics`, disabled: !isAuthenticated, onClick: () => navigate('/stats') } ] if (isAuthenticated) { menuItems.push(...[{ key: '/user', 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 }