|
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; |
|
|