feat: 增加普通消息的额外渲染函数

pull/81/head
moonrailgun 3 years ago
parent f24db563fb
commit a74c783f29

@ -13,7 +13,7 @@ import {
} from 'tailchat-shared';
import { Avatar } from '@/components/Avatar';
import { useRenderPluginMessageInterpreter } from './useRenderPluginMessageInterpreter';
import { getMessageRender } from '@/plugin/common';
import { getMessageRender, pluginMessageExtraParsers } from '@/plugin/common';
import { Icon } from '@iconify/react';
import { Divider, Dropdown } from 'antd';
import { UserName } from '@/components/UserName';
@ -110,6 +110,15 @@ const NormalMessage: React.FC<ChatMessageItemProps> = React.memo((props) => {
</div>
{reactions}
{/* 额外渲染 */}
<div>
{pluginMessageExtraParsers.map((parser) => (
<React.Fragment key={parser.name}>
{parser.render(payload)}
</React.Fragment>
))}
</div>
</div>
{/* 操作 */}

@ -2,6 +2,7 @@ import type { ChatInputActionContextProps } from '@/components/ChatBox/ChatInput
import {
buildRegFn,
buildRegList,
ChatMessage,
FastFormFieldMeta,
regSocketEventListener,
} from 'tailchat-shared';
@ -120,3 +121,11 @@ export const [pluginInspectServices, regInspectService] = buildRegList<{
label: string;
name: string;
}>();
/**
*
*/
export const [pluginMessageExtraParsers, regMessageExtraParser] = buildRegList<{
name: string;
render: (payload: ChatMessage) => React.ReactNode;
}>();

Loading…
Cancel
Save