import classNames from 'classnames' import { useMemo } from 'react' import { isDesktop } from 'react-device-detect' import Wallet from 'components/Wallet' import EscButton from 'components/common/Button/EscButton' import Settings from 'components/common/Settings' import ChainSelect from 'components/header/ChainSelect' import OracleResyncButton from 'components/header/OracleResyncButton' import RewardsCenter from 'components/header/RewardsCenter' import DesktopNavigation from 'components/header/navigation/DesktopNavigation' import useAccountId from 'hooks/useAccountId' import useStore from 'store' import { WalletID } from 'types/enums/wallet' import { getGovernanceUrl } from 'utils/helpers' const menuTree = (walletId: WalletID, chainConfig: ChainConfig): MenuTreeEntry[] => [ { pages: ['v1'], label: 'Red Bank', }, { pages: ['governance'], label: 'Governance', externalUrl: getGovernanceUrl(walletId) }, ] export default function DesktopHeader() { const address = useStore((s) => s.address) const focusComponent = useStore((s) => s.focusComponent) const isOracleStale = useStore((s) => s.isOracleStale) const accountId = useAccountId() function handleCloseFocusMode() { if (focusComponent && focusComponent.onClose) focusComponent.onClose() useStore.setState({ focusComponent: null }) } const showStaleOracle = useMemo(() => isOracleStale && address, [isOracleStale, address]) if (!isDesktop) return null return (
{focusComponent ? (
{address && (
)}
{!address && }
) : (
{showStaleOracle && } {accountId && }
)}
) }