ui: 时间显示修缮: 小时和分钟补齐一个 0

This commit is contained in:
CrescentLeaf
2025-11-30 00:32:27 +08:00
parent a7c61d9306
commit 1f6f8a768f

View File

@@ -1,4 +1,4 @@
import { Tab, TextField } from "mdui" import { Tab, Tabs, TextField } from "mdui"
import { $ } from "mdui/jq" import { $ } from "mdui/jq"
import useEventListener from "../useEventListener.ts" import useEventListener from "../useEventListener.ts"
import Element_Message from "./Message.tsx" import Element_Message from "./Message.tsx"
@@ -31,6 +31,7 @@ import JoinRequestsList from "./JoinRequestsList.tsx"
import getUrlForFileByHash from "../../getUrlForFileByHash.ts" import getUrlForFileByHash from "../../getUrlForFileByHash.ts"
import escapeHTML from "../../escapeHtml.ts" import escapeHTML from "../../escapeHtml.ts"
import GroupMembersList from "./GroupMembersList.tsx" import GroupMembersList from "./GroupMembersList.tsx"
import isMobileUI from "../isMobileUI.ts"
interface Args extends React.HTMLAttributes<HTMLElement> { interface Args extends React.HTMLAttributes<HTMLElement> {
target: string target: string
@@ -455,9 +456,20 @@ export default function ChatFragment({ target, showReturnButton, onReturnButtonC
{ {
(() => { (() => {
let date = new Date(0) let date = new Date(0)
let user: string
function timeAddZeroPrefix(t: number) {
if (t >= 0 && t < 10)
return '0' + t
return t + ''
}
return messagesList.map((msg) => { return messagesList.map((msg) => {
const lastDate = date const lastDate = date
const lastUser = user
date = new Date(msg.time) date = new Date(msg.time)
user = msg.user_id
const shouldShowTime = msg.user_id != null &&
(date.getMinutes() != lastDate.getMinutes() || date.getDate() != lastDate.getDate() || date.getMonth() != lastDate.getMonth() || date.getFullYear() != lastDate.getFullYear())
const msgElement = msg.user_id == null ? <SystemMessage><div dangerouslySetInnerHTML={{ const msgElement = msg.user_id == null ? <SystemMessage><div dangerouslySetInnerHTML={{
__html: DOMPurify.sanitize(markedInstance.parse(msg.text) as string, { __html: DOMPurify.sanitize(markedInstance.parse(msg.text) as string, {
@@ -482,18 +494,18 @@ export default function ChatFragment({ target, showReturnButton, onReturnButtonC
return ( return (
<> <>
{ {
msg.user_id != null && shouldShowTime
(date.getMinutes() != lastDate.getMinutes() || date.getDate() != lastDate.getDate() || date.getMonth() != lastDate.getMonth() || date.getFullYear() != lastDate.getFullYear())
&& <mdui-tooltip content={`${date.getFullYear()}${date.getMonth() + 1}${date.getDate()}${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}`}> && <mdui-tooltip content={`${date.getFullYear()}${date.getMonth() + 1}${date.getDate()}${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}`}>
<div style={{ <div style={{
fontSize: '87%', fontSize: '87%',
marginTop: '10px', marginTop: '13px',
marginBottom: '10px',
}}> }}>
{ {
(date.getFullYear() != lastDate.getFullYear() ? `${date.getFullYear()}` : '') (date.getFullYear() != lastDate.getFullYear() ? `${date.getFullYear()}` : '')
+ `${date.getMonth() + 1}` + `${date.getMonth() + 1}`
+ `${date.getDate()}` + `${date.getDate()}`
+ ` ${date.getHours()}:${date.getMinutes()}` + ` ${timeAddZeroPrefix(date.getHours())}:${timeAddZeroPrefix(date.getMinutes())}`
} }
</div> </div>
</mdui-tooltip> </mdui-tooltip>