chore: update memo service (#1138)

* chore: update memo service

* chore: update
This commit is contained in:
boojack
2023-02-22 20:07:55 +08:00
committed by GitHub
parent 42d849abfc
commit 29124f56bb
19 changed files with 59 additions and 133 deletions

View File

@ -1,3 +1,4 @@
import { Tooltip } from "@mui/joy";
import copy from "copy-to-clipboard";
import dayjs from "dayjs";
import { memo, useEffect, useRef, useState } from "react";
@ -34,15 +35,16 @@ const Memo: React.FC<Props> = (props: Props) => {
const locationStore = useLocationStore();
const userStore = useUserStore();
const memoStore = useMemoStore();
const [displayTimeStr, setDisplayTimeStr] = useState<string>(getFormatedMemoTimeStr(memo.displayTs, i18n.language));
const [createdTimeStr, setCreatedTimeStr] = useState<string>(getFormatedMemoTimeStr(memo.createdTs, i18n.language));
const memoContainerRef = useRef<HTMLDivElement>(null);
const isVisitorMode = userStore.isVisitorMode();
const updatedTimeStr = getFormatedMemoTimeStr(memo.updatedTs, i18n.language);
useEffect(() => {
let intervalFlag: any = -1;
if (Date.now() - memo.displayTs < 1000 * 60 * 60 * 24) {
if (Date.now() - memo.createdTs < 1000 * 60 * 60 * 24) {
intervalFlag = setInterval(() => {
setDisplayTimeStr(getFormatedMemoTimeStr(memo.displayTs, i18n.language));
setCreatedTimeStr(getFormatedMemoTimeStr(memo.createdTs, i18n.language));
}, 1000 * 1);
}
@ -166,7 +168,7 @@ const Memo: React.FC<Props> = (props: Props) => {
editorStore.setEditMemoWithId(memo.id);
};
const handleMemoDisplayTimeClick = () => {
const handleMemoCreatedTimeClick = () => {
showChangeMemoCreatedTsDialog(memo.id);
};
@ -184,9 +186,11 @@ const Memo: React.FC<Props> = (props: Props) => {
{memo.pinned && <div className="corner-container"></div>}
<div className="memo-top-wrapper">
<div className="status-text-container">
<span className="time-text" onDoubleClick={handleMemoDisplayTimeClick}>
{displayTimeStr}
</span>
<Tooltip title={`Updated at ${updatedTimeStr}`} placement="top" arrow>
<span className="time-text" onDoubleClick={handleMemoCreatedTimeClick}>
{createdTimeStr}
</span>
</Tooltip>
{memo.visibility !== "PRIVATE" && !isVisitorMode && (
<span
className={`status-text ${memo.visibility.toLocaleLowerCase()}`}