diff --git a/apps/landing/src/components/shared/SubsectionNav.tsx b/apps/landing/src/components/shared/SubsectionNav.tsx index 9785708..479e0e0 100644 --- a/apps/landing/src/components/shared/SubsectionNav.tsx +++ b/apps/landing/src/components/shared/SubsectionNav.tsx @@ -29,6 +29,7 @@ import { ThreeColumnLayout } from '@/components/layout/ThreeColumnLayout'; interface NavItem { label: string; href: string; + disabled?: boolean; } interface SubsectionNavProps { @@ -61,16 +62,29 @@ export const SubsectionNav = ({ items, currentPath, leftSlot, rightSlot }: Subse {items.map((item) => { const active = isActive(item.href); return ( - - {item.label} - +
+ + {item.label} + + {item.disabled && ( +
+ Coming soon +
+ )} +
); })} @@ -160,14 +174,24 @@ export const SubsectionNav = ({ items, currentPath, leftSlot, rightSlot }: Subse return ( setMobileMenuOpen(false)} + href={item.disabled ? undefined : item.href} + aria-disabled={item.disabled} + onClick={item.disabled ? undefined : () => setMobileMenuOpen(false)} className={` block px-4 py-3 rounded-lg text-sm font-medium transition-colors - ${active ? 'bg-purple-500/10 text-purple-400' : 'text-gray-400 hover:text-white hover:bg-white/5'} + ${ + item.disabled + ? 'text-gray-600 cursor-not-allowed' + : active + ? 'bg-purple-500/10 text-purple-400' + : 'text-gray-400 hover:text-white hover:bg-white/5' + } `} > {item.label} + {item.disabled && ( + (Coming soon) + )} ); })}