V4.8.17 feature (#3485)
* feat: add third party account config (#3443) * temp * editor workflow variable style * add team to dispatch * i18n * delete console * change openai account position * fix * fix * fix * fix * fix * 4.8.17 test (#3461) * perf: external provider config * perf: ui * feat: add template config (#3434) * change template position * template config * delete console * delete * fix * fix * perf: Mongo visutal field (#3464) * remve invalid code * perf: team member visutal code * perf: virtual search; perf: search test data * fix: ts * fix: image response headers * perf: template code * perf: auth layout;perf: auto save (#3472) * perf: auth layout * perf: auto save * perf: auto save * fix: template guide display & http input support external variables (#3475) * fix: template guide display * http editor support external workflow variables * perf: auto save;fix: ifelse checker line break; (#3478) * perf: auto save * perf: auto save * fix: ifelse checker line break * perf: doc * perf: doc * fix: update var type error * 4.8.17 test (#3479) * perf: auto save * perf: auto save * perf: template code * 4.8.17 test (#3480) * perf: auto save * perf: auto save * perf: model price model * feat: add react memo * perf: model provider filter * fix: ts (#3481) * perf: auto save * perf: auto save * fix: ts * simple app tool select (#3473) * workflow plugin userguide & simple tool ui * simple tool filter * reuse component * change component to hook * fix * perf: too selector modal (#3484) * perf: auto save * perf: auto save * perf: markdown render * perf: too selector * fix: app version require tmbId * perf: templates refresh * perf: templates refresh * hide auto save error tip * perf: toolkit guide --------- Co-authored-by: heheer <heheer@sealos.io>
This commit is contained in:
46
projects/app/src/components/common/Modal/UseGuideModal.tsx
Normal file
46
projects/app/src/components/common/Modal/UseGuideModal.tsx
Normal file
@@ -0,0 +1,46 @@
|
||||
import { Box, ModalBody, useDisclosure } from '@chakra-ui/react';
|
||||
import Markdown from '@/components/Markdown';
|
||||
import MyModal from '@fastgpt/web/components/common/MyModal';
|
||||
import { getDocPath } from '@/web/common/system/doc';
|
||||
import React from 'react';
|
||||
|
||||
const UseGuideModal = ({
|
||||
children,
|
||||
title,
|
||||
iconSrc,
|
||||
text,
|
||||
link
|
||||
}: {
|
||||
children: ({ onClick }: { onClick: () => void }) => React.ReactNode;
|
||||
title?: string;
|
||||
iconSrc?: string;
|
||||
text?: string;
|
||||
link?: string;
|
||||
}) => {
|
||||
const { isOpen, onOpen, onClose } = useDisclosure();
|
||||
const onClick = () => {
|
||||
if (link) {
|
||||
return window.open(getDocPath(link), '_blank');
|
||||
}
|
||||
if (text) {
|
||||
return onOpen();
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
{children({ onClick })}
|
||||
{isOpen && (
|
||||
<MyModal isOpen iconSrc={iconSrc} title={title} onClose={onClose} minW={'600px'}>
|
||||
<ModalBody>
|
||||
<Box border={'base'} borderRadius={'10px'} p={4} minH={'500px'}>
|
||||
<Markdown source={text} />
|
||||
</Box>
|
||||
</ModalBody>
|
||||
</MyModal>
|
||||
)}
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export default React.memo(UseGuideModal);
|
||||
Reference in New Issue
Block a user