import { Box, Button, Flex, HStack } from '@chakra-ui/react'; import React from 'react'; import MyIcon from '@fastgpt/web/components/common/Icon'; import { FolderIcon } from '@fastgpt/global/common/file/image/constants'; import FormLabel from '@fastgpt/web/components/common/MyBox/FormLabel'; import MyDivider from '@fastgpt/web/components/common/MyDivider'; import { useTranslation } from 'next-i18next'; import { useConfirm } from '@fastgpt/web/hooks/useConfirm'; import { PermissionValueType } from '@fastgpt/global/support/permission/type'; import DefaultPermissionList from '@/components/support/permission/DefaultPerList'; import CollaboratorContextProvider, { MemberManagerInputPropsType } from '../../support/permission/MemberManager/context'; import MyTooltip from '@fastgpt/web/components/common/MyTooltip'; import { useSystemStore } from '@/web/common/system/useSystemStore'; import ResumeInherit from '@/components/support/permission/ResumeInheritText'; const FolderSlideCard = ({ refreshDeps, name, intro, onEdit, onMove, deleteTip, onDelete, defaultPer, managePer, isInheritPermission, resumeInheritPermission, hasParent, refetchResource }: { refreshDeps?: any[]; name: string; intro?: string; onEdit: () => void; onMove: () => void; deleteTip: string; onDelete: () => void; defaultPer?: { value: PermissionValueType; defaultValue: PermissionValueType; onChange: (v: PermissionValueType) => Promise; }; managePer: MemberManagerInputPropsType; isInheritPermission?: boolean; resumeInheritPermission?: () => Promise; hasParent?: boolean; refetchResource?: () => Promise; }) => { const { t } = useTranslation(); const { feConfigs } = useSystemStore(); const { ConfirmModal, openConfirm } = useConfirm({ type: 'delete', content: deleteTip }); return ( {name} {intro || t('common:not_yet_introduced')} {managePer.permission.hasManagePer && ( <> {t('common:common.Operation')} {managePer.permission.isOwner && ( )} )} {feConfigs?.isPlus && ( <> {!isInheritPermission && ( resumeInheritPermission?.().then(refetchResource)} /> )} {({ MemberListCard, onOpenManageModal, onOpenAddMember }) => { return ( <> {t('common:permission.Collaborator')} {managePer.permission.hasManagePer && ( )} ); }} )} ); }; export default FolderSlideCard;