'use client' // import { useMemo, useState } from 'react' import { useState } from 'react' import { useTranslation } from 'react-i18next' // import { useContext } from 'use-context-selector' import { RiAddCircleFill, // RiArrowRightUpLine, // RiBookOpenLine, } from '@remixicon/react' import type { CustomCollectionBackend } from '../types' // import I18n from '@/context/i18n' // import { getLanguage } from '@/i18n-config/language' import EditCustomToolModal from '@/app/components/tools/edit-custom-collection-modal' import { createCustomCollection } from '@/service/tools' import Toast from '@/app/components/base/toast' import { useAppContext } from '@/context/app-context' // import { useDocLink } from '@/context/i18n' type Props = { onRefreshData: () => void } const Contribute = ({ onRefreshData }: Props) => { const { t } = useTranslation() // zlwu12 2025-09-18 注释 // const { locale } = useContext(I18n) // const language = getLanguage(locale) const { isCurrentWorkspaceManager } = useAppContext() // zlwu12 2025-09-18 注释 // const docLink = useDocLink() // const linkUrl = useMemo(() => { // return docLink('/guides/tools#how-to-create-custom-tools', { // 'zh-Hans': '/guides/tools#ru-he-chuang-jian-zi-ding-yi-gong-ju', // }) // }, [language]) const [isShowEditCollectionToolModal, setIsShowEditCustomCollectionModal] = useState(false) const doCreateCustomToolCollection = async (data: CustomCollectionBackend) => { await createCustomCollection(data) Toast.notify({ type: 'success', message: t('common.api.actionSuccess'), }) setIsShowEditCustomCollectionModal(false) onRefreshData() } return ( <> {isCurrentWorkspaceManager && (
setIsShowEditCustomCollectionModal(true)}>
{t('tools.createCustomTool')}
{/* zlwu12 2025-09-18 注释 */} {/*
{t('tools.customToolTip')}
*/}
)} {isShowEditCollectionToolModal && ( setIsShowEditCustomCollectionModal(false)} onAdd={doCreateCustomToolCollection} /> )} ) } export default Contribute