消息和用户头像右键菜单查看原始数据
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
import { Message } from 'lingchair-client-protocol'
|
import { Message } from 'lingchair-client-protocol'
|
||||||
import * as React from 'react'
|
import * as React from 'react'
|
||||||
import ChatMessage from './ChatMessage.tsx'
|
import ChatMessage from './ChatMessage.tsx'
|
||||||
|
import { dialog } from 'mdui'
|
||||||
|
|
||||||
export default function ChatMessageContainer({ messages }: { messages: Message[] }) {
|
export default function ChatMessageContainer({ messages }: { messages: Message[] }) {
|
||||||
return (
|
return (
|
||||||
@@ -53,7 +54,51 @@ export default function ChatMessageContainer({ messages }: { messages: Message[]
|
|||||||
</div>
|
</div>
|
||||||
</mdui-tooltip>
|
</mdui-tooltip>
|
||||||
}
|
}
|
||||||
<ChatMessage message={msg} noUserDisplay={lastUser == user && !shouldShowTime} />
|
<ChatMessage
|
||||||
|
message={msg}
|
||||||
|
noUserDisplay={lastUser == user && !shouldShowTime}
|
||||||
|
avatarMenuItems={[
|
||||||
|
<mdui-menu-item icon="info" onClick={async () => {
|
||||||
|
const user = await msg.getUser().then((re) => re?.bean) || {}
|
||||||
|
dialog({
|
||||||
|
headline: "Info",
|
||||||
|
body: `<span style="word-break: break-word;">${Object.keys(user)
|
||||||
|
// @ts-ignore 懒
|
||||||
|
.map((k) => `${k} = ${user[k]}`)
|
||||||
|
.join('<br><br>')}<span>`,
|
||||||
|
closeOnEsc: true,
|
||||||
|
closeOnOverlayClick: true,
|
||||||
|
actions: [
|
||||||
|
{
|
||||||
|
text: "关闭",
|
||||||
|
onClick: () => {
|
||||||
|
return true
|
||||||
|
},
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}).addEventListener('click', (e) => e.stopPropagation())
|
||||||
|
}}>JSON</mdui-menu-item>
|
||||||
|
]}
|
||||||
|
messageMenuItems={[
|
||||||
|
<mdui-menu-item icon="info" onClick={() => dialog({
|
||||||
|
headline: "Info",
|
||||||
|
body: `<span style="word-break: break-word;">${Object.keys(msg.bean)
|
||||||
|
// @ts-ignore 懒
|
||||||
|
.map((k) => `${k} = ${msg.bean[k]}`)
|
||||||
|
.join('<br><br>')}<span>`,
|
||||||
|
closeOnEsc: true,
|
||||||
|
closeOnOverlayClick: true,
|
||||||
|
actions: [
|
||||||
|
{
|
||||||
|
text: "关闭",
|
||||||
|
onClick: () => {
|
||||||
|
return true
|
||||||
|
},
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}).addEventListener('click', (e) => e.stopPropagation())}>Info</mdui-menu-item>
|
||||||
|
]}
|
||||||
|
/>
|
||||||
</>
|
</>
|
||||||
})
|
})
|
||||||
})()
|
})()
|
||||||
|
|||||||
Reference in New Issue
Block a user