From c399a23582d6d5770e67b2508cab35ba4bfbdcbf Mon Sep 17 00:00:00 2001 From: =AhmedAshraf <=ahmedashrafelgendy25@gmail.com> Date: Tue, 24 Mar 2026 01:37:57 +0200 Subject: [PATCH] [Feature] Complete-tasks: Remove Complete Todos Task, By Adding Complete Button & integrate task extraction utility --- .../MemoView/components/MemoCompleteList.tsx | 4 ++-- .../components/MemoView/components/MemoFooter.tsx | 14 ++++++++------ web/src/components/PagedMemoList/PagedMemoList.tsx | 1 + web/src/hooks/useMemoQueries.ts | 1 - web/src/utils/markdown-manipulation.ts | 1 + 5 files changed, 12 insertions(+), 9 deletions(-) diff --git a/web/src/components/MemoView/components/MemoCompleteList.tsx b/web/src/components/MemoView/components/MemoCompleteList.tsx index d089ebd18..176655480 100644 --- a/web/src/components/MemoView/components/MemoCompleteList.tsx +++ b/web/src/components/MemoView/components/MemoCompleteList.tsx @@ -10,12 +10,12 @@ function MemoCompleteList() { const { mutate: deleteMemo } = useDeleteMemo(); const { mutate: createMemo } = useCreateMemo(); - // Parse tasks once per render for both counting and clearing + // Parse tasks once per render for both counting and clearing const tasks = extractTasks(memo.content); const completedTasks = tasks.filter((task) => task.checked); const completedCount = completedTasks.length; const hasCompletedTasks = completedCount > 0; - + const handleClearCompleted = () => { if (!hasCompletedTasks) { return; diff --git a/web/src/components/MemoView/components/MemoFooter.tsx b/web/src/components/MemoView/components/MemoFooter.tsx index d3728ebb8..32fa2e21c 100644 --- a/web/src/components/MemoView/components/MemoFooter.tsx +++ b/web/src/components/MemoView/components/MemoFooter.tsx @@ -2,15 +2,17 @@ import { useMemoViewContext } from "../MemoViewContext"; import MemoCompleteList from "./MemoCompleteList"; function MemoFooter() { - const { memo } = useMemoViewContext(); - const hasTaskList = memo.property?.hasTaskList; - if (!hasTaskList) { + const { memo } = useMemoViewContext(); + const hasTaskList = memo.property?.hasTaskList; + + if (!hasTaskList) { return null; } + return ( - + ); } diff --git a/web/src/components/PagedMemoList/PagedMemoList.tsx b/web/src/components/PagedMemoList/PagedMemoList.tsx index 882666f59..712866a22 100644 --- a/web/src/components/PagedMemoList/PagedMemoList.tsx +++ b/web/src/components/PagedMemoList/PagedMemoList.tsx @@ -146,6 +146,7 @@ const PagedMemoList = (props: Props) => { const children = (