'use client' import React, { useEffect, useState } from 'react' import Link from 'next/link' import { usePathname, useSearchParams, useSelectedLayoutSegment } from 'next/navigation' import type { INavSelectorProps } from './nav-selector' import NavSelector from './nav-selector' import classNames from '@/utils/classnames' import { ArrowNarrowLeft } from '@/app/components/base/icons/src/vender/line/arrows' import { useStore as useAppStore } from '@/app/components/app/store' type INavProps = { icon: React.ReactNode activeIcon?: React.ReactNode text: string activeSegment: string | string[] link: string isApp: boolean } & INavSelectorProps const Nav = ({ icon, activeIcon, text, activeSegment, link, curNav, navs, createText, onCreate, onLoadmore, isApp, }: INavProps) => { const setAppDetail = useAppStore(state => state.setAppDetail) const [hovered, setHovered] = useState(false) const segment = useSelectedLayoutSegment() const isActivated = Array.isArray(activeSegment) ? activeSegment.includes(segment!) : segment === activeSegment const pathname = usePathname() const searchParams = useSearchParams() const [linkLastSearchParams, setLinkLastSearchParams] = useState('') useEffect(() => { if (pathname === link) setLinkLastSearchParams(searchParams.toString()) }, [pathname, searchParams]) return (