From eabe09a69ecb619703f17706ec9c3959e3be125a Mon Sep 17 00:00:00 2001 From: Ahmed-Elgendy25 Date: Mon, 23 Mar 2026 20:49:02 +0200 Subject: [PATCH] feat: add MemoFooter and MemoCompleteList components; enhance ListItem with strike-through for completed tasks --- memos_prod.db-shm | Bin 32768 -> 32768 bytes memos_prod.db-wal | Bin 453232 -> 795192 bytes web/src/components/MemoView/MemoView.tsx | 3 ++- .../MemoView/components/MemoCompleteList.tsx | 19 ++++++++++++++++++ .../MemoView/components/MemoFooter.tsx | 11 ++++++++++ 5 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 web/src/components/MemoView/components/MemoCompleteList.tsx create mode 100644 web/src/components/MemoView/components/MemoFooter.tsx diff --git a/memos_prod.db-shm b/memos_prod.db-shm index ad56e3d1518a97455c9c74ddb8980f0fdb0e32c7..62d7f1546f0ef0f0fdd0c6887eed1d50998c7b4a 100644 GIT binary patch delta 596 zcmcJLIWI&}7>1vFWP(I74JH}|jY800E2U+3EQ_1brau`lD=mtp>c zMkP^-LTGg33>q1cD7?v&lkfe`x16J@LRE#`^bm_rSrP?|9(kH1IoWQ5^ELN5`7-0a zI4hG%!6QptLVwOR1z5`{r-DkVsHTP%I_RW}ZhGjYkA4OiWQbu# z&=_TmaVD5#ifLw;WsZ3kSY(N19IUX4lQq`aV3RGj*SUTmD zss|bc1|W0wfcQTYKtvgs7#KD-?q}RQh1tPw^8)4&#?4n89RxN{V!p>T`BR7rka3G? Y^M`N=W+3Yc)8sd?QeejBR|#VB0C1u|g8%>k diff --git a/memos_prod.db-wal b/memos_prod.db-wal index 63af6c02669a0eff2cc5087a0fb102af05850e34..09ff88a2ffdb6a1c0f2a550e103f2fb17d0a5a6e 100644 GIT binary patch literal 795192 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 z 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 R#b!8>{sQCzr>?)i{|})~GnfDX delta 21 ccmdmS#Nfjf>4p}@7N!>F7M2#)Eo=p^0BINq!vFvP diff --git a/web/src/components/MemoView/MemoView.tsx b/web/src/components/MemoView/MemoView.tsx index 210e3484d..9d3c37ba5 100644 --- a/web/src/components/MemoView/MemoView.tsx +++ b/web/src/components/MemoView/MemoView.tsx @@ -16,6 +16,7 @@ import { MEMO_CARD_BASE_CLASSES } from "./constants"; import { useImagePreview } from "./hooks"; import { computeCommentAmount, MemoViewContext } from "./MemoViewContext"; import type { MemoViewProps } from "./types"; +import MemoFooter from "./components/MemoFooter"; const MemoView: React.FC = (props: MemoViewProps) => { <<<<<<< HEAD @@ -181,7 +182,7 @@ const MemoView: React.FC = (props: MemoViewProps) => { >>>>>>> 89d43a2e (Developed Color Picker Feature for memos) - + +
+ Completed Task + +
+ + + ) +} + +export default MemoCompleteList \ No newline at end of file diff --git a/web/src/components/MemoView/components/MemoFooter.tsx b/web/src/components/MemoView/components/MemoFooter.tsx new file mode 100644 index 000000000..b42b3e079 --- /dev/null +++ b/web/src/components/MemoView/components/MemoFooter.tsx @@ -0,0 +1,11 @@ +import MemoCompleteList from "./MemoCompleteList"; + +function MemoFooter() { + return ( + + ); +} + +export default MemoFooter; \ No newline at end of file