diff --git a/apps/staking/app/mystakes/modules/StakedNodesModule.tsx b/apps/staking/app/mystakes/modules/StakedNodesModule.tsx index 409a21b9..5ef93a53 100644 --- a/apps/staking/app/mystakes/modules/StakedNodesModule.tsx +++ b/apps/staking/app/mystakes/modules/StakedNodesModule.tsx @@ -49,7 +49,7 @@ export function StakedNodesWithAddress({ address }: { address: Address }) { } return [ - data.stakes.concat(data.historical_stakes), + [...data.stakes, ...data.historical_stakes], data.network.block_height, data.network.block_timestamp, ]; diff --git a/apps/staking/app/register/NodeRegistrations.tsx b/apps/staking/app/register/NodeRegistrations.tsx index 71289aa1..595ffb8c 100644 --- a/apps/staking/app/register/NodeRegistrations.tsx +++ b/apps/staking/app/register/NodeRegistrations.tsx @@ -94,11 +94,11 @@ export default function NodeRegistrations() { return []; } - if (!stakesData || stakesData.stakes.length === 0) { + if (!stakesData || !stakesData?.stakes?.length) { return registrationsData?.registrations ?? []; } - const stakedNodeEd25519Pubkeys = stakesData.stakes.map( + const stakedNodeEd25519Pubkeys = stakesData?.stakes?.map( ({ service_node_pubkey }) => service_node_pubkey ); diff --git a/apps/staking/components/DropdownHamburgerMenu.tsx b/apps/staking/components/DropdownHamburgerMenu.tsx index a4fadf2f..c8f11c4d 100644 --- a/apps/staking/components/DropdownHamburgerMenu.tsx +++ b/apps/staking/components/DropdownHamburgerMenu.tsx @@ -24,6 +24,18 @@ function DropdownMenuItemNavLink({ label, children, ...props }: NavLinkProps) { export function DropdownHamburgerMenu() { const dictionary = useTranslations('navigation.hamburgerDropdown'); const navDictionary = useTranslations('navigation'); + + const routes: typeof ROUTES = []; + ROUTES.forEach(({ dictionaryKey, href }) => { + if ( + process.env.NEXT_PUBLIC_HIDE_FAUCET?.toLowerCase() === 'true' && + dictionaryKey === 'faucet' + ) { + return; + } + routes.push({ dictionaryKey, href }); + }); + return ( @@ -37,7 +49,7 @@ export function DropdownHamburgerMenu() { - {ROUTES.map(({ dictionaryKey, href }) => ( + {routes.map(({ dictionaryKey, href }) => ( { + if ( + process.env.NEXT_PUBLIC_HIDE_FAUCET?.toLowerCase() === 'true' && + dictionaryKey === 'faucet' + ) { + return; + } + routes.push({ dictionaryKey, href }); + }); + + const menuItems = [...routes, ...EXTERNAL_ROUTES].map( ({ dictionaryKey, href, linkType = 'internal' }) => ({ title: dictionary(dictionaryKey), href: href, diff --git a/apps/staking/components/Header.tsx b/apps/staking/components/Header.tsx index 17fd83aa..c6ecd393 100644 --- a/apps/staking/components/Header.tsx +++ b/apps/staking/components/Header.tsx @@ -10,14 +10,28 @@ import { getTranslations } from 'next-intl/server'; export default async function Header() { const dictionary = await getTranslations('navigation'); + const isCanary = process.env.NEXT_PUBLIC_IS_CANARY?.toLowerCase() === 'true'; + + const routes: typeof ROUTES = []; + ROUTES.forEach(({ dictionaryKey, href }) => { + if ( + process.env.NEXT_PUBLIC_HIDE_FAUCET?.toLowerCase() === 'true' && + dictionaryKey === 'faucet' + ) { + return; + } + routes.push({ dictionaryKey, href }); + }); + return (