Version 3 of the kit: - Radix UI replaced with Base UI (using the Shadcn UI patterns) - next-intl replaces react-i18next - enhanceAction deprecated; usage moved to next-safe-action - main layout now wrapped with [locale] path segment - Teams only mode - Layout updates - Zod v4 - Next.js 16.2 - Typescript 6 - All other dependencies updated - Removed deprecated Edge CSRF - Dynamic Github Action runner
31 lines
769 B
TypeScript
31 lines
769 B
TypeScript
'use client';
|
|
|
|
import Link from 'next/link';
|
|
import { usePathname } from 'next/navigation';
|
|
|
|
import { SidebarMenuButton, SidebarMenuItem } from '@kit/ui/sidebar';
|
|
import { cn, isRouteActive } from '@kit/ui/utils';
|
|
|
|
export function DocsNavLink({
|
|
label,
|
|
url,
|
|
children,
|
|
}: React.PropsWithChildren<{ label: string; url: string }>) {
|
|
const currentPath = usePathname();
|
|
const isCurrent = isRouteActive(url, currentPath);
|
|
|
|
return (
|
|
<SidebarMenuItem>
|
|
<SidebarMenuButton
|
|
render={<Link href={url} />}
|
|
isActive={isCurrent}
|
|
className={cn('text-secondary-foreground transition-all')}
|
|
>
|
|
<span className="block max-w-full truncate">{label}</span>
|
|
|
|
{children}
|
|
</SidebarMenuButton>
|
|
</SidebarMenuItem>
|
|
);
|
|
}
|