import dayjs from "dayjs"; import { useEffect, useState } from "react"; import { toast } from "react-hot-toast"; import { useTranslation } from "react-i18next"; import { Link, useParams } from "react-router-dom"; import { UNKNOWN_ID } from "../helpers/consts"; import { useGlobalStore, useLocationStore, useMemoStore, useUserStore } from "../store/module"; import useLoading from "../hooks/useLoading"; import MemoContent from "../components/MemoContent"; import MemoResources from "../components/MemoResources"; import "../less/memo-detail.less"; interface State { memo: Memo; } const MemoDetail = () => { const { t, i18n } = useTranslation(); const params = useParams(); const globalStore = useGlobalStore(); const locationStore = useLocationStore(); const memoStore = useMemoStore(); const userStore = useUserStore(); const [state, setState] = useState({ memo: { id: UNKNOWN_ID, } as Memo, }); const loadingState = useLoading(); const customizedProfile = globalStore.state.systemStatus.customizedProfile; const user = userStore.state.user; const location = locationStore.state; useEffect(() => { const memoId = Number(params.memoId); if (memoId && !isNaN(memoId)) { memoStore .fetchMemoById(memoId) .then((memo) => { setState({ memo, }); loadingState.setFinish(); }) .catch((error) => { console.error(error); toast.error(error.response.data.message); }); } }, [location]); return (

{customizedProfile.name}

{!loadingState.isLoading && ( <> {user ? ( 🏠 {t("common.back-to-home")} ) : ( 👉 {t("common.sign-in")} )} )}
{!loadingState.isLoading && (
{dayjs(state.memo.createdTs).locale(i18n.language).format("YYYY/MM/DD HH:mm:ss")} @{state.memo.creatorName}
undefined} />
)}
); }; export default MemoDetail;