Spaces:
Paused
Paused
import CopyToClipboard from '@/components/copy-to-clipboard'; | |
import HightLightMarkdown from '@/components/highlight-markdown'; | |
import { useTranslate } from '@/hooks/common-hooks'; | |
import { IModalProps } from '@/interfaces/common'; | |
import { Card, Modal, Tabs, TabsProps } from 'antd'; | |
import styles from './index.less'; | |
const EmbedModal = ({ | |
visible, | |
hideModal, | |
token = '', | |
}: IModalProps<any> & { token: string }) => { | |
const { t } = useTranslate('chat'); | |
const text = ` | |
~~~ html | |
<iframe | |
src="${location.origin}/chat/share?shared_id=${token}" | |
style="width: 100%; height: 100%; min-height: 600px" | |
frameborder="0" | |
> | |
</iframe> | |
~~~ | |
`; | |
const items: TabsProps['items'] = [ | |
{ | |
key: '1', | |
label: t('fullScreenTitle'), | |
children: ( | |
<Card | |
title={t('fullScreenDescription')} | |
extra={<CopyToClipboard text={text}></CopyToClipboard>} | |
className={styles.codeCard} | |
> | |
<HightLightMarkdown>{text}</HightLightMarkdown> | |
</Card> | |
), | |
}, | |
{ | |
key: '2', | |
label: t('partialTitle'), | |
children: t('comingSoon'), | |
}, | |
{ | |
key: '3', | |
label: t('extensionTitle'), | |
children: t('comingSoon'), | |
}, | |
]; | |
const onChange = (key: string) => { | |
console.log(key); | |
}; | |
return ( | |
<Modal | |
title={t('embedModalTitle')} | |
open={visible} | |
style={{ top: 300 }} | |
width={'50vw'} | |
onOk={hideModal} | |
onCancel={hideModal} | |
> | |
<Tabs defaultActiveKey="1" items={items} onChange={onChange} /> | |
</Modal> | |
); | |
}; | |
export default EmbedModal; | |