From 64f81d1329c579a908d46ab55e1d07781206c792 Mon Sep 17 00:00:00 2001 From: grimsi <9295182+grimsi@users.noreply.github.com> Date: Sat, 24 May 2025 18:32:52 +0200 Subject: [PATCH] Fix SearchView adding entries to browser history --- gameyfin/src/main/frontend/views/SearchView.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gameyfin/src/main/frontend/views/SearchView.tsx b/gameyfin/src/main/frontend/views/SearchView.tsx index c43cd1a..8c4e17b 100644 --- a/gameyfin/src/main/frontend/views/SearchView.tsx +++ b/gameyfin/src/main/frontend/views/SearchView.tsx @@ -21,6 +21,7 @@ export default function SearchView() { const libraries = useSnapshot(libraryState).libraries as LibraryDto[]; const [searchParams, setSearchParams] = useSearchParams(); + const [initialLoadComplete, setInitialLoadComplete] = useState(false); // State to track selected filter values const [searchTerm, setSearchTerm] = useState(""); @@ -49,10 +50,14 @@ export default function SearchView() { setSelectedThemes(new Set(themes)); setSelectedFeatures(new Set(features)); setSelectedPerspectives(new Set(perspectives)); + + setInitialLoadComplete(true); }, []); // Update search parameters whenever the filters change useEffect(() => { + if (!initialLoadComplete) return; + const newParams = new URLSearchParams(); // Preserve search term if exists @@ -97,7 +102,7 @@ export default function SearchView() { }); } - setSearchParams(newParams); + setSearchParams(newParams, {replace: true}); }, [searchTerm, selectedLibraries, selectedDevelopers, selectedGenres, selectedThemes, selectedFeatures, selectedPerspectives]);