import dayjs from "dayjs"; import { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useParams } from "react-router-dom"; import { UNKNOWN_ID } from "../helpers/consts"; import { useMemoStore } from "../store/module"; import useLoading from "../hooks/useLoading"; import toastHelper from "../components/Toast"; import MemoContent from "../components/MemoContent"; import MemoResources from "../components/MemoResources"; interface State { memo: Memo; } const EmbedMemo = () => { const { i18n } = useTranslation(); const params = useParams(); const memoStore = useMemoStore(); const [state, setState] = useState({ memo: { id: UNKNOWN_ID, } as Memo, }); const loadingState = useLoading(); useEffect(() => { const memoId = Number(params.memoId); if (memoId && !isNaN(memoId)) { memoStore .fetchMemoById(memoId) .then((memo) => { setState({ memo, }); loadingState.setFinish(); }) .catch((error) => { console.error(error); toastHelper.error(error.response.data.message); }); } }, []); return (
{!loadingState.isLoading && (
{dayjs(state.memo.displayTs).locale(i18n.language).format("YYYY/MM/DD HH:mm:ss")} @{state.memo.creator.nickname || state.memo.creator.username}
undefined} />
)}
); }; export default EmbedMemo;