'use client' import { useMemo } from 'react' import { useTranslation } from 'react-i18next' import { RiArrowRightUpLine, RiBugLine, RiClipboardLine, RiEqualizer2Line, } from '@remixicon/react' import { PluginPageContextProvider, usePluginPageContext, } from './context' import InstallPluginDropdown from './install-plugin-dropdown' import { useTabSearchParams } from '@/hooks/use-tab-searchparams' import { useModalContext } from '@/context/modal-context' import Button from '@/app/components/base/button' import TabSlider from '@/app/components/base/tab-slider' import ActionButton from '@/app/components/base/action-button' import Tooltip from '@/app/components/base/tooltip' import cn from '@/utils/classnames' export type PluginPageProps = { plugins: React.ReactNode marketplace: React.ReactNode } const PluginPage = ({ plugins, marketplace, }: PluginPageProps) => { const { t } = useTranslation() const { setShowPluginSettingModal } = useModalContext() as any const containerRef = usePluginPageContext(v => v.containerRef) const options = useMemo(() => { return [ { value: 'plugins', text: t('common.menus.plugins') }, { value: 'discover', text: 'Explore Marketplace' }, ] }, [t]) const [activeTab, setActiveTab] = useTabSearchParams({ defaultTab: options[0].value, }) return (