From d17d5c01e8da21f02f6325d7fabbf35c7c06174f Mon Sep 17 00:00:00 2001 From: ramvignesh-b Date: Sat, 18 Apr 2026 18:50:54 +0530 Subject: [PATCH] refactor: remove side effects from useMemo --- frontend/src/hooks/useLetters.tsx | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/frontend/src/hooks/useLetters.tsx b/frontend/src/hooks/useLetters.tsx index 7b5b1d5..8ab1fe2 100644 --- a/frontend/src/hooks/useLetters.tsx +++ b/frontend/src/hooks/useLetters.tsx @@ -69,18 +69,20 @@ export function useLetters() { api .get(endpoints.LETTERS) .then((res) => decryptLetters(res.data, masterKey)) - .then(setLetters) + .then((decrypted) => { + setLetters( + decrypted.sort( + (a, b) => + new Date(b.updated_at).getTime() - + new Date(a.updated_at).getTime(), + ), + ); + }) .catch((_err) => {}) .finally(() => setLoading(false)); }, [masterKey]); const drawerItems = useMemo(() => { - setLetters( - letters.sort( - (a, b) => - new Date(b.updated_at).getTime() - new Date(a.updated_at).getTime(), - ), - ); return { drafts: letters.filter((l) => l.status === "DRAFT"), kept: letters.filter((l) => l.type === "KEPT" && l.status === "SEALED"),