diff --git a/tests/memory-count.test.ts b/tests/memory-count.test.ts index 67e8a953..b2c83d3e 100644 --- a/tests/memory-count.test.ts +++ b/tests/memory-count.test.ts @@ -3,11 +3,16 @@ import { getDisplayedMemoryCount } from "../web/src/lib/memory-count"; describe("getDisplayedMemoryCount", () => { test("shows matched results while search is active", () => { - expect(getDisplayedMemoryCount(true, 3, 120)).toBe(3); - expect(getDisplayedMemoryCount(true, 0, 120)).toBe(0); + expect(getDisplayedMemoryCount(true, false, 3, 120)).toBe(3); + expect(getDisplayedMemoryCount(true, false, 0, 120)).toBe(0); }); - test("restores the store total when search is cleared", () => { - expect(getDisplayedMemoryCount(false, 3, 120)).toBe(120); + test("shows filtered results while a tag filter is active", () => { + expect(getDisplayedMemoryCount(false, true, 3, 120)).toBe(3); + expect(getDisplayedMemoryCount(false, true, 0, 120)).toBe(0); + }); + + test("restores the store total when search and tag filter are cleared", () => { + expect(getDisplayedMemoryCount(false, false, 3, 120)).toBe(120); }); }); diff --git a/web/src/App.tsx b/web/src/App.tsx index 0cf37a3b..5d5fa2c0 100644 --- a/web/src/App.tsx +++ b/web/src/App.tsx @@ -147,6 +147,7 @@ export default function App() { {t("text-total", { count: getDisplayedMemoryCount( explorer.isSearching, + explorer.selectedTag !== "", explorer.totalItems, explorer.statsTotal ), diff --git a/web/src/lib/memory-count.ts b/web/src/lib/memory-count.ts index 0cd15f2a..a0833330 100644 --- a/web/src/lib/memory-count.ts +++ b/web/src/lib/memory-count.ts @@ -1,7 +1,8 @@ export function getDisplayedMemoryCount( isSearching: boolean, - searchTotal: number, + tagFilterActive: boolean, + resultTotal: number, storeTotal: number ): number { - return isSearching ? searchTotal : storeTotal; + return isSearching || tagFilterActive ? resultTotal : storeTotal; }