import { Drawer, Typography } from "antd"; import React, { useEffect, useState } from "react"; import { put } from "../../request"; import type { IArticleDataResponse, IArticleResponse } from "../../api/Article"; import ArticleView from "./ArticleView"; const { Paragraph } = Typography; interface IArticlePrevRequest { content: string; } interface IWidget { trigger?: React.ReactNode; title?: React.ReactNode; content?: string; articleId: string; } const ArticlePrevDrawerWidget = ({ trigger, title, content, articleId, }: IWidget) => { const [articleData, setArticleData] = useState(); const [open, setOpen] = useState(false); const [errorMsg, setErrorMsg] = useState(); const showDrawer = () => { setOpen(true); }; const onClose = () => { setOpen(false); }; useEffect(() => { put( `/v2/article-preview/${articleId}`, { content: content ? content : "", } ) .then((res) => { console.log("save response", res); if (res.ok) { setArticleData(res.data); } else { setErrorMsg(res.message); } }) .catch((e: IArticleResponse) => { setErrorMsg(e.message); }); }, [articleId, content]); return ( <> showDrawer()}>{trigger} {errorMsg} {articleData ? ( ) : ( <> )} ); }; export default ArticlePrevDrawerWidget;