| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 | 
							- '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
 - } & INavSelectorProps
 - 
 - const 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
 
 
  |