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