ui: 修正 消息右鍵菜單

* 修正打開狀態
* 避免不必要的狀態變更
This commit is contained in:
CrescentLeaf
2025-10-02 20:54:39 +08:00
parent 2af396a2b8
commit 67f019713a

View File

@@ -33,6 +33,9 @@ export default function Message({ userId, rawData, renderHTML, message, ...props
const dropDownRef = React.useRef<Dropdown>(null)
const messageJsonDialogRef = React.useRef<Dialog>(null)
useEventListener(messageJsonDialogRef, 'click', (e) => {
e.stopPropagation()
})
const [isDropDownOpen, setDropDownOpen] = React.useState(false)
@@ -116,7 +119,10 @@ export default function Message({ userId, rawData, renderHTML, message, ...props
dangerouslySetInnerHTML={{
__html: renderHTML
}} />
<mdui-menu onClick={(e) => e.stopPropagation()}>
<mdui-menu onClick={(e) => {
e.stopPropagation()
setDropDownOpen(false)
}}>
<mdui-menu-item icon="content_copy" onClick={() => copyToClipboard($(dropDownRef.current as HTMLElement).find('#msg').text())}></mdui-menu-item>
<mdui-menu-item icon="content_copy" onClick={() => copyToClipboard(rawData)}></mdui-menu-item>
<mdui-menu-item icon="info" onClick={() => messageJsonDialogRef.current.open = true}></mdui-menu-item>