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}
-
+
);
})}
@@ -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)
+ )}
);
})}