import classNames from 'classnames'; import { useRouter } from 'next/router'; import Link from 'next/link'; import { NetworkSwitcher } from '@vegaprotocol/environment'; import { t } from '@vegaprotocol/react-helpers'; import { useGlobalStore } from '../../stores/global'; import { VegaWalletConnectButton } from '../vega-wallet-connect-button'; import { ThemeSwitcher } from '@vegaprotocol/ui-toolkit'; import { Vega } from '../icons/vega'; import { useEffect, useState } from 'react'; interface NavbarProps { theme: 'light' | 'dark'; toggleTheme: () => void; } export const Navbar = ({ theme, toggleTheme }: NavbarProps) => { const { marketId } = useGlobalStore((store) => ({ marketId: store.marketId, })); const [tradingPath, setTradingPath] = useState('/markets'); useEffect(() => { if (marketId) { setTradingPath(`/markets/${marketId}`); } }, [marketId]); return (
); }; interface NavLinkProps { name: string; path: string; testId?: string; } const NavLink = ({ name, path, testId = name }: NavLinkProps) => { const router = useRouter(); const [isActive, setIsActive] = useState(false); useEffect( () => setIsActive(router.asPath.includes(path)), [path, router.asPath] ); const linkClasses = classNames('mx-2 py-2 self-end border-b-4', { 'border-vega-yellow text-white cursor-default': isActive, 'border-transparent text-neutral-400 hover:text-neutral-300': !isActive, }); return ( {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */} {name} ); };