| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 | 'use client'import React, { useState } from 'react'import Link from 'next/link'import { useSelectedLayoutSegment } from 'next/navigation'import classNames from 'classnames'import type { INavSelectorProps } from './nav-selector'import NavSelector from './nav-selector'import { ArrowNarrowLeft } from '@/app/components/base/icons/src/vender/line/arrows'type INavProps = {  icon: React.ReactNode  activeIcon?: React.ReactNode  text: string  activeSegment: string | string[]  link: string} & INavSelectorPropsconst Nav = ({  icon,  activeIcon,  text,  activeSegment,  link,  curNav,  navs,  createText,  onCreate,  onLoadmore,}: INavProps) => {  const [hovered, setHovered] = useState(false)  const segment = useSelectedLayoutSegment()  const isActived = Array.isArray(activeSegment) ? activeSegment.includes(segment!) : segment === activeSegment  return (    <div className={`      flex items-center h-8 mr-0 sm:mr-3 px-0.5 rounded-xl text-sm shrink-0 font-medium      ${isActived && 'bg-white shadow-md font-semibold'}      ${!curNav && !isActived && 'hover:bg-gray-200'}    `}>      <Link href={link}>        <div          className={classNames(`            flex items-center h-7 px-2.5 cursor-pointer rounded-[10px]            ${isActived ? 'text-primary-600' : 'text-gray-500'}            ${curNav && isActived && 'hover:bg-primary-50'}          `)}          onMouseEnter={() => setHovered(true)}          onMouseLeave={() => setHovered(false)}        >          <div className='mr-2'>            {              (hovered && curNav)                ? <ArrowNarrowLeft className='w-4 h-4' />                : isActived                  ? activeIcon                  : icon            }          </div>          {text}        </div>      </Link>      {        curNav && isActived && (          <>            <div className='font-light text-gray-300 '>/</div>            <NavSelector              curNav={curNav}              navs={navs}              createText={createText}              onCreate={onCreate}              onLoadmore={onLoadmore}            />          </>        )      }    </div>  )}export default Nav
 |