'use client' import { useState, useEffect } from 'react' import Link from 'next/link' import { usePathname } from 'next/navigation' import { useAccount, useConnect, useDisconnect } from 'wagmi' import { injected } from 'wagmi/connectors' function BrandMark() { return α } function ThemeToggle() { const [theme, setTheme] = useState<'light' | 'dark'>('light') useEffect(() => { const stored = localStorage.getItem('theme') as 'light' | 'dark' | null const t = stored || 'light' setTheme(t) document.documentElement.dataset.theme = t }, []) function toggle() { const next = theme === 'dark' ? 'light' : 'dark' setTheme(next) localStorage.setItem('theme', next) document.documentElement.dataset.theme = next } return ( {theme === 'dark' ? ( ) : ( )} ) } export default function Navbar() { const pathname = usePathname() const { address, isConnected } = useAccount() const { connect } = useConnect() const { disconnect } = useDisconnect() const [mounted, setMounted] = useState(false) useEffect(() => { setMounted(true) }, []) const locale = pathname.split('/')[1] || 'en' const path = '/' + pathname.split('/').slice(2).join('/') const tabs = [ { key: '/', label: 'Overview' }, { key: '/posts', label: 'Signals' }, { key: '/trades', label: 'Trades' }, { key: '/analytics', label: 'Analytics' }, { key: '/settings', label: 'Settings' }, ] function isActive(key: string) { if (key === '/') return path === '/' || path === '//' return path.startsWith(key) } const shortAddr = address ? `${address.slice(0, 6)}…${address.slice(-4)}` : null return ( Trump Alpha {tabs.map(t => ( {t.label} ))} {!mounted ? ( Connect wallet ) : isConnected && shortAddr ? ( { e.stopPropagation() const menu = (e.currentTarget.nextElementSibling as HTMLElement | null) if (menu) menu.style.display = menu.style.display === 'block' ? 'none' : 'block' }} onBlur={(e) => { const menu = e.currentTarget.nextElementSibling as HTMLElement | null setTimeout(() => { if (menu) menu.style.display = 'none' }, 150) }} > {shortAddr} { e.preventDefault() if (address) navigator.clipboard?.writeText(address) }} style={{ width: '100%', padding: '8px 10px', fontSize: 13, textAlign: 'left', borderRadius: 6, color: 'var(--ink)' }} > Copy address { e.preventDefault(); disconnect() }} style={{ width: '100%', padding: '8px 10px', fontSize: 13, textAlign: 'left', borderRadius: 6, color: 'var(--down)' }} > Disconnect ) : ( connect({ connector: injected() })}> Connect wallet )} ) }