ui: 对富文本的纯文件消息进行显示优化
* 唉太难弄了, 那边距可太恐怖了
This commit is contained in:
@@ -44,6 +44,17 @@ export default function Message({ userId, rawData, renderHTML, message, openUser
|
||||
|
||||
const [isDropDownOpen, setDropDownOpen] = React.useState(false)
|
||||
|
||||
const [isUsingFullDisplay, setIsUsingFullDisplay] = React.useState(false)
|
||||
|
||||
React.useEffect(() => {
|
||||
const text = $(dropDownRef.current as HTMLElement).find('#msg').text().trim()
|
||||
console.log(renderHTML)
|
||||
setIsUsingFullDisplay(text == '' || (
|
||||
rawData.split("tws:\/\/file\?hash=").length == 2
|
||||
&& /\<\/chat\-(file|image|video)\>(\<\/span\>)?$/.test(renderHTML.trim())
|
||||
))
|
||||
}, [renderHTML])
|
||||
|
||||
return (
|
||||
<div
|
||||
slot="trigger"
|
||||
@@ -112,10 +123,12 @@ export default function Message({ userId, rawData, renderHTML, message, openUser
|
||||
minWidth: "0%",
|
||||
[isAtRight ? "marginRight" : "marginLeft"]: "55px",
|
||||
marginTop: "-5px",
|
||||
padding: "15px",
|
||||
padding: isUsingFullDisplay ? undefined : "13px",
|
||||
paddingTop: isUsingFullDisplay ? undefined : "14px",
|
||||
alignSelf: isAtRight ? "flex-end" : "flex-start",
|
||||
backgroundColor: isUsingFullDisplay ? "inherit" : undefined
|
||||
}}>
|
||||
<mdui-dialog close-on-overlay-click close-on-esc fullscreen ref={messageJsonDialogRef}>
|
||||
<mdui-dialog close-on-overlay-click close-on-esc ref={messageJsonDialogRef}>
|
||||
{
|
||||
// @ts-ignore 这是可以正常工作的
|
||||
<ReactJson src={message} />
|
||||
|
||||
@@ -11,10 +11,10 @@ export default function SystemMessage({ children }: React.HTMLAttributes<HTMLEle
|
||||
<mdui-card variant="filled"
|
||||
style={{
|
||||
alignSelf: 'center',
|
||||
paddingTop: '9px',
|
||||
paddingBottom: '9px',
|
||||
paddingLeft: '18px',
|
||||
paddingRight: '18px',
|
||||
paddingTop: '8px',
|
||||
paddingBottom: '8px',
|
||||
paddingLeft: '17px',
|
||||
paddingRight: '17px',
|
||||
fontSize: '92%',
|
||||
}}>
|
||||
{children}
|
||||
|
||||
Reference in New Issue
Block a user