Files
supabase/apps/design-system/components/side-navigation-item.tsx
Ivan Vasilov 1cd1ebfc7f chire: Sort imports in all packages, cms, design-system and ui-library apps (#41610)
Sorted all imports in all packages, `cms`, `design-system` and
`ui-library` apps by running `pnpm format` on them.

All changes in this PR are done by the script.
2026-02-05 13:54:10 +01:00

51 lines
1.2 KiB
TypeScript

'use client'
import Link from 'next/link'
import { usePathname } from 'next/navigation'
import React from 'react'
import { cn } from 'ui'
import { useMobileSidebar } from '@/hooks/use-mobile-sidebar'
import { SidebarNavItem } from '@/types/nav'
export const NavigationItem: React.FC<{ item: SidebarNavItem }> = React.memo(({ item }) => {
const pathname = usePathname()
const { setOpen } = useMobileSidebar()
const isActive = pathname === item.href
const handleClick = () => {
setOpen(false)
}
return (
<Link
href={`${item.href}`}
onClick={handleClick}
className={cn(
'relative',
'flex',
'items-center',
'h-6',
'text-sm',
'text-foreground-lighter px-6',
!isActive && 'hover:bg-surface-100 hover:text-foreground',
isActive && 'bg-surface-200 text-foreground',
'transition-all'
)}
>
<div
className={cn(
'transition',
'absolute left-0 w-1 h-full bg-foreground',
isActive ? 'opacity-100' : 'opacity-0'
)}
></div>
{item.title}
</Link>
)
})
NavigationItem.displayName = 'NavigationItem'