From 4aa7eec6c33d8dd660da7ff4c254c590604cef0b Mon Sep 17 00:00:00 2001 From: kimminna Date: Sat, 18 Jul 2026 03:20:47 +0900 Subject: [PATCH 1/3] =?UTF-8?q?fix(ui):=20TodoToolbar=EC=9D=98=20hasMemo?= =?UTF-8?q?=20prop=EC=9D=84=20hasSubTask=EB=A1=9C=20=EB=B3=80=EA=B2=BD=20(?= =?UTF-8?q?#276)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 아이콘이 나타내는 실제 의미(서브태스크 유무)에 맞게 prop 이름을 hasSubTask로 수정했습니다 --- .../src/components/todo/todo-toolbar/TodoToolbar.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/timo-design-system/src/components/todo/todo-toolbar/TodoToolbar.tsx b/packages/timo-design-system/src/components/todo/todo-toolbar/TodoToolbar.tsx index 13028893..aca007af 100644 --- a/packages/timo-design-system/src/components/todo/todo-toolbar/TodoToolbar.tsx +++ b/packages/timo-design-system/src/components/todo/todo-toolbar/TodoToolbar.tsx @@ -56,7 +56,7 @@ export interface TodoToolbarProps { onSelectTag?: (tag: string) => void; onAddTagClick?: () => void; - hasMemo?: boolean; + hasSubTask?: boolean; isRepeatActive?: boolean; repeat: Omit; @@ -86,7 +86,7 @@ export const TodoToolbar = ({ addTagLabel, onSelectTag, onAddTagClick, - hasMemo = false, + hasSubTask = false, isRepeatActive = false, repeat, className, @@ -171,7 +171,7 @@ export const TodoToolbar = ({ onAddClick={onAddTagClick} /> - {hasMemo ? : } + {hasSubTask ? : } Date: Sat, 18 Jul 2026 03:22:59 +0900 Subject: [PATCH 2/3] =?UTF-8?q?fix(web):=20=ED=88=AC=EB=91=90=20=ED=88=B4?= =?UTF-8?q?=EB=B0=94=EC=97=90=20=EC=84=9C=EB=B8=8C=ED=83=9C=EC=8A=A4?= =?UTF-8?q?=ED=81=AC=20=EC=97=AC=EB=B6=80=EB=A5=BC=20=EC=98=AC=EB=B0=94?= =?UTF-8?q?=EB=A5=B4=EA=B2=8C=20=EC=A0=84=EB=8B=AC=20(#276)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 생성/상세 모달에서 hasSubTask 값을 메모가 아닌 서브태스크 입력 존재 여부로 계산하도록 수정했습니다 - 오늘 화면 투두 카드에서도 이름이 바뀐 hasSubTask prop을 그대로 전달하도록 수정했습니다 --- .../(with-time-sidebar)/today/_components/TodayTodoCard.tsx | 2 +- .../components/todo-modal/create/CreateTodoModalContent.tsx | 4 +++- .../components/todo-modal/detail/DetailTodoModalContent.tsx | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/apps/timo-web/app/[locale]/(main)/(with-time-sidebar)/today/_components/TodayTodoCard.tsx b/apps/timo-web/app/[locale]/(main)/(with-time-sidebar)/today/_components/TodayTodoCard.tsx index 381cd1b3..3b486a6a 100644 --- a/apps/timo-web/app/[locale]/(main)/(with-time-sidebar)/today/_components/TodayTodoCard.tsx +++ b/apps/timo-web/app/[locale]/(main)/(with-time-sidebar)/today/_components/TodayTodoCard.tsx @@ -183,7 +183,7 @@ export const TodayTodoCard = ({ tagLabel={toolbar.tag ?? "태그"} tags={[]} selectedTag={toolbar.tag} - hasMemo={toolbar.hasSubtask} + hasSubTask={toolbar.hasSubtask} isRepeatActive={toolbar.hasRepeat} repeat={{ detailHeading: "상세 설정", diff --git a/apps/timo-web/components/todo-modal/create/CreateTodoModalContent.tsx b/apps/timo-web/components/todo-modal/create/CreateTodoModalContent.tsx index 2af5b173..c0704ada 100644 --- a/apps/timo-web/components/todo-modal/create/CreateTodoModalContent.tsx +++ b/apps/timo-web/components/todo-modal/create/CreateTodoModalContent.tsx @@ -178,7 +178,9 @@ export const CreateTodoModalContent = ({ addTagLabel={t("createModal.addTag")} onSelectTag={tagField.handleSelectTag} onAddTagClick={tagField.handleAddTagClick} - hasMemo={Boolean(memoField.value?.trim())} + hasSubTask={subtaskField.subtaskInputs.some( + (entry) => entry.value.trim().length > 0, + )} isRepeatActive={repeatField.isRepeatActive} repeat={{ detailHeading: t("createModal.repeatDetailHeading"), diff --git a/apps/timo-web/components/todo-modal/detail/DetailTodoModalContent.tsx b/apps/timo-web/components/todo-modal/detail/DetailTodoModalContent.tsx index e834191a..a7ff4c25 100644 --- a/apps/timo-web/components/todo-modal/detail/DetailTodoModalContent.tsx +++ b/apps/timo-web/components/todo-modal/detail/DetailTodoModalContent.tsx @@ -215,7 +215,9 @@ export const DetailTodoModalContent = ({ addTagLabel={tCreateModal("addTag")} onSelectTag={patchHandlers.handleSelectTag} onAddTagClick={detailTodoForm.handleAddTagClick} - hasMemo={Boolean(todo.memo?.trim())} + hasSubTask={detailTodoForm.subtaskInputs.some( + (input) => input.value.trim().length > 0, + )} isRepeatActive={detailTodoForm.isRepeatActive} repeat={{ frequencyHeading: t("repeatFrequencyHeading"), From fee925169a098a9354d04aff9f961aecdb5f1a5c Mon Sep 17 00:00:00 2001 From: kimminna Date: Sat, 18 Jul 2026 03:23:52 +0900 Subject: [PATCH 3/3] =?UTF-8?q?fix(web):=20=ED=88=AC=EB=91=90=20=EB=A6=AC?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=20=EB=93=9C=EB=9E=98=EA=B7=B8=20=EC=8B=9C=20?= =?UTF-8?q?=EC=9E=90=EB=8F=99=20=EC=8A=A4=ED=81=AC=EB=A1=A4=20=ED=99=9C?= =?UTF-8?q?=EC=84=B1=ED=99=94=20(#276)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 세로 정렬 드래그 중 리스트 끝 근처에서 자동 스크롤되도록 autoScroll 옵션을 추가했습니다 --- apps/timo-web/providers/dnd/DndSortableListProvider.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/timo-web/providers/dnd/DndSortableListProvider.tsx b/apps/timo-web/providers/dnd/DndSortableListProvider.tsx index 469407f8..0a07e299 100644 --- a/apps/timo-web/providers/dnd/DndSortableListProvider.tsx +++ b/apps/timo-web/providers/dnd/DndSortableListProvider.tsx @@ -59,6 +59,7 @@ export const DndSortableListProvider = ({ sensors={sensors} collisionDetection={closestCenter} modifiers={[restrictToVerticalAxis]} + autoScroll={{ threshold: { x: 0, y: 0.2 } }} onDragEnd={handleDragEnd} >