mirror of
https://github.com/labring/FastGPT.git
synced 2025-08-05 06:35:39 +00:00

* Dataset collection forbid (#1885) * perf: tool call support same id * feat: collection forbid * feat: collection forbid * Inheritance Permission for apps (#1897) * feat: app schema define chore: references of authapp * feat: authApp method inheritance * feat: create and update api * feat: update * feat: inheritance Permission controller for app. * feat: abstract version of inheritPermission * feat: ancestorId for apps * chore: update app * fix: inheritPermission abstract version * feat: update folder defaultPermission * feat: app update api * chore: inheritance frontend * chore: app list api * feat: update defaultPermission in app deatil * feat: backend api finished * feat: app inheritance permission fe * fix: app update defaultpermission causes collaborator miss * fix: ts error * chore: adjust the codes * chore: i18n chore: i18n * chore: fe adjust and i18n * chore: adjust the code * feat: resume api; chore: rewrite update api and inheritPermission methods * chore: something * chore: fe code adjusting * feat: frontend adjusting * chore: fe code adjusting * chore: adjusting the code * perf: fe loading * format * Inheritance fix (#1908) * fix: SlideCard * fix: authapp did not return parent app for inheritance app * fix: fe adjusting * feat: fe adjusing * perf: inherit per ux * doc * fix: ts errors (#1916) * perf: inherit permission * fix: permission inherit * Workflow type (#1938) * perf: workflow type tmp workflow perf: workflow type feat: custom field config * perf: dynamic input * perf: node classify * perf: node classify * perf: node classify * perf: node classify * fix: workflow custom input * feat: text editor and customFeedback move to basic nodes * feat: community system plugin * fix: ts * feat: exprEval plugin * perf: workflow type * perf: plugin important * fix: default templates * perf: markdown hr css * lock * perf: fetch url * perf: new plugin version * fix: chat histories update * fix: collection paths invalid * perf: app card ui --------- Co-authored-by: Finley Ge <32237950+FinleyGe@users.noreply.github.com>
69 lines
2.0 KiB
TypeScript
69 lines
2.0 KiB
TypeScript
import React, { useMemo } from 'react';
|
|
import { useChatBox } from '@/components/ChatBox/hooks/useChatBox';
|
|
import type { ChatItemType } from '@fastgpt/global/core/chat/type.d';
|
|
import { Box, IconButton } from '@chakra-ui/react';
|
|
import { useTranslation } from 'next-i18next';
|
|
import MyIcon from '@fastgpt/web/components/common/Icon';
|
|
import { useRouter } from 'next/router';
|
|
import MyMenu from '@fastgpt/web/components/common/MyMenu';
|
|
|
|
const ToolMenu = ({ history }: { history: ChatItemType[] }) => {
|
|
const { t } = useTranslation();
|
|
const { onExportChat } = useChatBox();
|
|
const router = useRouter();
|
|
console.log(history);
|
|
return history.length > 0 ? (
|
|
<MyMenu
|
|
Button={
|
|
<IconButton
|
|
icon={<MyIcon name={'more'} w={'14px'} p={2} />}
|
|
aria-label={''}
|
|
size={'sm'}
|
|
variant={'whitePrimary'}
|
|
/>
|
|
}
|
|
menuList={[
|
|
{
|
|
children: [
|
|
{
|
|
icon: 'core/chat/chatLight',
|
|
label: t('core.chat.New Chat'),
|
|
onClick: () => {
|
|
router.replace({
|
|
query: {
|
|
...router.query,
|
|
chatId: ''
|
|
}
|
|
});
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
children: [
|
|
// {
|
|
// icon: 'core/app/appApiLight',
|
|
// label: `HTML ${t('Export')}`,
|
|
// onClick: () => onExportChat({ type: 'html', history })
|
|
// },
|
|
{
|
|
icon: 'file/markdown',
|
|
label: `Markdown ${t('Export')}`,
|
|
onClick: () => onExportChat({ type: 'md', history })
|
|
}
|
|
// {
|
|
// icon: 'core/chat/export/pdf',
|
|
// label: `PDF ${t('Export')}`,
|
|
// onClick: () => onExportChat({ type: 'pdf', history })
|
|
// }
|
|
]
|
|
}
|
|
]}
|
|
/>
|
|
) : (
|
|
<Box w={'28px'} h={'28px'} />
|
|
);
|
|
};
|
|
|
|
export default ToolMenu;
|