From 694a62cd5aba9b6f2a83c3880ef622fcb5a56849 Mon Sep 17 00:00:00 2001 From: moonrailgun Date: Sun, 16 Apr 2023 17:55:45 +0800 Subject: [PATCH] feat: add markdown editor into panel --- .../src/group/MarkdownPanel.tsx | 43 ++++++++++++++++--- client/web/src/plugin/component/index.tsx | 1 + 2 files changed, 38 insertions(+), 6 deletions(-) diff --git a/client/web/plugins/com.msgbyte.mdpanel/src/group/MarkdownPanel.tsx b/client/web/plugins/com.msgbyte.mdpanel/src/group/MarkdownPanel.tsx index ba154d56..fb790819 100644 --- a/client/web/plugins/com.msgbyte.mdpanel/src/group/MarkdownPanel.tsx +++ b/client/web/plugins/com.msgbyte.mdpanel/src/group/MarkdownPanel.tsx @@ -1,5 +1,9 @@ -import React from 'react'; -import { GroupExtraDataPanel, Markdown, TextArea } from '@capital/component'; +import React, { useEffect, useState } from 'react'; +import { + GroupExtraDataPanel, + Markdown, + MarkdownEditor, +} from '@capital/component'; import styled from 'styled-components'; import { Translate } from '../translate'; @@ -13,13 +17,36 @@ const EditModalContent = styled.div` height: 80vh; display: flex; flex-direction: column; + overflow: hidden; - .ant-input { + .main { flex: 1; - resize: none; + overflow: hidden; + + > div { + height: 100%; + + > .bytemd { + height: 100%; + } + } } `; +const MarkdownEditorRender: React.FC<{ dataMap: Record }> = + React.memo((props) => { + const [text, setText] = useState(() => props.dataMap['markdown']); + + useEffect(() => { + props.dataMap['markdown'] = text; + }, [text]); + + return ( + setText(val)} /> + ); + }); +MarkdownEditorRender.displayName = 'MarkdownEditorRender'; + const MarkdownPanel: React.FC = React.memo(() => { return ( {
{Translate.editTip}
-