feat: add image usage for markdown component

pull/199/merge
moonrailgun 1 month ago
parent 4f56d761de
commit 6e076d46af

@ -42,7 +42,11 @@ const MarkdownEditorRender: React.FC<{ dataMap: Record<string, string> }> =
}, [text]); }, [text]);
return ( return (
<MarkdownEditor value={text} onChange={(val: string) => setText(val)} /> <MarkdownEditor
value={text}
onChange={(val: string) => setText(val)}
imageUsage="group"
/>
); );
}); });
MarkdownEditorRender.displayName = 'MarkdownEditorRender'; MarkdownEditorRender.displayName = 'MarkdownEditorRender';

@ -1,6 +1,6 @@
import React from 'react'; import React from 'react';
import { Editor, EditorProps } from '@bytemd/react'; import { Editor, EditorProps } from '@bytemd/react';
import { uploadFile } from 'tailchat-shared'; import { uploadFile, UploadFileUsage } from 'tailchat-shared';
import { Markdown } from '../Markdown'; import { Markdown } from '../Markdown';
import { createRoot } from 'react-dom/client'; import { createRoot } from 'react-dom/client';
import gfm from '@bytemd/plugin-gfm'; import gfm from '@bytemd/plugin-gfm';
@ -20,6 +20,7 @@ const overridePreview: EditorProps['overridePreview'] = (el, props) => {
interface MarkdownEditorProps { interface MarkdownEditorProps {
value: string; value: string;
onChange: (val: string) => void; onChange: (val: string) => void;
imageUsage?: UploadFileUsage;
} }
export const MarkdownEditor: React.FC<MarkdownEditorProps> = React.memo( export const MarkdownEditor: React.FC<MarkdownEditorProps> = React.memo(
(props) => { (props) => {
@ -31,7 +32,9 @@ export const MarkdownEditor: React.FC<MarkdownEditorProps> = React.memo(
uploadImages={(files) => { uploadImages={(files) => {
return Promise.all( return Promise.all(
files.map((f) => files.map((f) =>
uploadFile(f).then((file) => { uploadFile(f, {
usage: props.imageUsage || 'unknown',
}).then((file) => {
return { return {
url: file.url, url: file.url,
}; };

Loading…
Cancel
Save