From 38070e7d799b26d2272b64af516ee488fe6d5e68 Mon Sep 17 00:00:00 2001 From: opficdev Date: Fri, 6 Mar 2026 11:48:51 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EB=82=B4=EB=B9=84=EA=B2=8C=EC=9D=B4?= =?UTF-8?q?=EC=85=98=EC=9C=BC=EB=A1=9C=20=EB=B7=B0=EA=B0=80=20=EC=9D=B4?= =?UTF-8?q?=EB=8F=99=ED=95=B4=EB=8F=84=20=EC=BF=BC=EB=A6=AC=EA=B0=80=20?= =?UTF-8?q?=EA=B0=99=EC=9C=BC=EB=AF=80=EB=A1=9C=20=EA=B2=80=EC=83=89=20?= =?UTF-8?q?=EB=A1=9C=EC=A7=81=EC=9D=84=20=ED=98=B8=EC=B6=9C=ED=95=98?= =?UTF-8?q?=EC=A7=80=20=EC=95=8A=EB=8F=84=EB=A1=9D=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DevLog/Presentation/ViewModel/SearchViewModel.swift | 1 + DevLog/Presentation/ViewModel/TodoListViewModel.swift | 1 + 2 files changed, 2 insertions(+) diff --git a/DevLog/Presentation/ViewModel/SearchViewModel.swift b/DevLog/Presentation/ViewModel/SearchViewModel.swift index 25f3791d..2e56e10f 100644 --- a/DevLog/Presentation/ViewModel/SearchViewModel.swift +++ b/DevLog/Presentation/ViewModel/SearchViewModel.swift @@ -98,6 +98,7 @@ final class SearchViewModel: Store { case .setSearching(let isSearching): state.isSearching = isSearching case .setSearchQuery(let query): + guard state.searchQuery != query else { return [] } state.searchQuery = query state.showAllTodos = false state.showAllWebPages = false diff --git a/DevLog/Presentation/ViewModel/TodoListViewModel.swift b/DevLog/Presentation/ViewModel/TodoListViewModel.swift index f64a79de..24134f88 100644 --- a/DevLog/Presentation/ViewModel/TodoListViewModel.swift +++ b/DevLog/Presentation/ViewModel/TodoListViewModel.swift @@ -310,6 +310,7 @@ private extension TodoListViewModel { guard state.hasMore, !state.isLoading, pendingTask == nil else { return [] } return [.loadNextPage] case .setSearchText(let text): + guard state.searchText != text else { return [] } state.searchText = text state.showAllSearchResults = false let trimmed = text.trimmingCharacters(in: .whitespacesAndNewlines)