import { useEffect, useState } from "react"; import toast from "react-hot-toast"; import ArchivedMemo from "@/components/ArchivedMemo"; import Empty from "@/components/Empty"; import MemoFilter from "@/components/MemoFilter"; import MobileHeader from "@/components/MobileHeader"; import useLoading from "@/hooks/useLoading"; import { useFilterStore, useMemoStore } from "@/store/module"; import { useTranslate } from "@/utils/i18n"; const Archived = () => { const t = useTranslate(); const memoStore = useMemoStore(); const loadingState = useLoading(); const [archivedMemos, setArchivedMemos] = useState([]); const memos = memoStore.state.memos; const filterStore = useFilterStore(); const filter = filterStore.state; const { text: textQuery } = filter; useEffect(() => { memoStore .fetchArchivedMemos() .then((result) => { const filteredMemos = textQuery ? result.filter((memo) => memo.content.toLowerCase().includes(textQuery.toLowerCase())) : result; setArchivedMemos(filteredMemos); }) .catch((error) => { console.error(error); toast.error(error.response.data.message); }) .finally(() => { loadingState.setFinish(); }); }, [memos, textQuery]); return (
{loadingState.isLoading ? (

{t("memo.fetching-data")}

) : archivedMemos.length === 0 ? (

{t("message.no-data")}

) : (
{archivedMemos.map((memo) => ( ))}
)}
); }; export default Archived;