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 */}
{ setHideAvatar(value); }} />
{/* Locale Select */}
setLocale(value)} options={languageOptions} >
{/* Embed Code */}
{/*
*/} {/*
{text}
*/} {text} {/*
*/}
{/* ID Field */}
); }; export default EmbedAppModal;