From a7d6ea011d30aeb1a84a597c41acea848d1e05e9 Mon Sep 17 00:00:00 2001 From: "G.Wood-Sun" Date: Wed, 30 Apr 2025 16:49:58 +0800 Subject: [PATCH] feat: support HTML preview --- .../base/html-preview-button/index.tsx | 74 +++++++++++++++++++ .../base/html-preview-button/style.module.css | 5 ++ web/app/components/base/markdown.tsx | 7 +- web/app/components/base/utils.ts | 9 +++ 4 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 web/app/components/base/html-preview-button/index.tsx create mode 100644 web/app/components/base/html-preview-button/style.module.css create mode 100644 web/app/components/base/utils.ts diff --git a/web/app/components/base/html-preview-button/index.tsx b/web/app/components/base/html-preview-button/index.tsx new file mode 100644 index 0000000000..b56b12f955 --- /dev/null +++ b/web/app/components/base/html-preview-button/index.tsx @@ -0,0 +1,74 @@ +import React from 'react' +import FullScreenModal from '@/app/components/base/fullscreen-modal' +import cn from '@/utils/classnames' +import s from './style.module.css' +import { useTranslation } from 'react-i18next' +import ActionButton from '../action-button' +import Tooltip from '../tooltip' + +type HTMLPreviewBtnProps = { + content: string, + completed?: boolean, +} + +const prefixPreview = 'appOverview.overview.appInfo.preview' + +type CreateIframeModalProps = { + show: boolean, + onClose: () => void, + content: string, +} + +const CreateIframeModal = ({ show, onClose, content }: CreateIframeModalProps) => { + const { t } = useTranslation() + return ( + +