doctor-mail/apps/web/src/components/layout/main/navigation.tsx

41 lines
1.5 KiB
TypeScript
Raw Normal View History

2025-01-22 23:19:58 +08:00
import { NavLink } from "react-router-dom";
import { useNavItem } from "./useNavItem";
export default function Navigation() {
const { navItems } = useNavItem()
return <nav className="mt-4 rounded-lg bg-[#0B1A32]/90">
<div className="flex items-center justify-between px-6 py-1">
<div className="flex space-x-1">
{navItems.map((item) => (
<NavLink
key={item.to}
to={item.to}
className={({ isActive }) => `
group relative px-4 py-3
transition-all duration-300 ease-out
${isActive ? 'text-white font-medium' : 'text-[#8EADD4]'}
`}
>
{({ isActive }) => (
<>
<span className="relative z-10 transition-colors group-hover:text-white">
{item.label}
</span>
<span className={`
absolute bottom-1.5 left-1/2 h-[2px] bg-white
transition-all duration-300 ease-out
transform -translate-x-1/2
${isActive
? 'w-12 opacity-100'
: 'w-0 opacity-0 group-hover:w-8 group-hover:opacity-50'
}
`} />
</>
)}
</NavLink>
))}
</div>
</div>
</nav>
}