import HightLightMarkdown from '@/components/highlight-markdown'; import { Modal } from '@/components/ui/modal/modal'; import { RAGFlowSelect } from '@/components/ui/select'; import { Switch } from '@/components/ui/switch'; import { LanguageAbbreviation, LanguageAbbreviationMap, } from '@/constants/common'; import { useTranslate } from '@/hooks/common-hooks'; import { message } from 'antd'; import { useCallback, useEffect, useMemo, useState } from 'react'; import { useFetchTokenListBeforeOtherStep } from '../agent/hooks/use-show-dialog'; type IEmbedAppModalProps = { open: any; url: string; token: string; from: string; setOpen: (e: any) => void; tenantId: string; }; const EmbedAppModal = (props: IEmbedAppModalProps) => { const { t } = useTranslate('search'); const { open, setOpen, token = '', from, url, tenantId } = props; const { beta, handleOperate } = useFetchTokenListBeforeOtherStep(); useEffect(() => { if (open && !beta) { handleOperate(); } }, [handleOperate, open, beta]); const [hideAvatar, setHideAvatar] = useState(false); const [locale, setLocale] = useState(''); const languageOptions = useMemo(() => { return Object.values(LanguageAbbreviation).map((x) => ({ label: LanguageAbbreviationMap[x], value: x, })); }, []); const generateIframeSrc = useCallback(() => { // const { visibleAvatar, locale } = values; let src = `${location.origin}${url}?shared_id=${token}&from=${from}&auth=${beta}&tenantId=${tenantId}`; if (hideAvatar) { src += '&visible_avatar=1'; } if (locale) { src += `&locale=${locale}`; } return src; }, [beta, from, token, hideAvatar, locale, url, tenantId]); // ... existing code ... const text = useMemo(() => { const iframeSrc = generateIframeSrc(); return `\`\`\`html \`\`\``; }, [generateIframeSrc]); // ... existing code ... return ( setOpen(false)} showfooter={false} footer={null} > {/* Hide Avatar Toggle */} {t('profile')} { setHideAvatar(value); }} /> {/* Locale Select */} {t('locale')} setLocale(value)} options={languageOptions} > {/* Embed Code */} {t('embedCode')} {/* */} {/* {text} */} {text} {/* */} {/* ID Field */} {t('id')} { navigator.clipboard.writeText(token); message.success(t('copySuccess')); }} className="ml-2 p-2 hover:text-white transition-colors" title="Copy ID" > ); }; export default EmbedAppModal;
{text}