From 30da072d9634da15aa63e6432544df0e90ade076 Mon Sep 17 00:00:00 2001 From: Anders Olsson Date: Mon, 8 Jun 2026 13:45:35 +0200 Subject: [PATCH] feat(web): show recording_date on search rows; flag estimated count as approximate (#61) --- web/src/i18n/en.json | 4 ++-- web/src/i18n/sv.json | 4 ++-- web/src/search/search-result-row.tsx | 1 + web/src/search/search.test.tsx | 3 ++- web/src/test/fixtures.ts | 2 ++ 5 files changed, 9 insertions(+), 5 deletions(-) diff --git a/web/src/i18n/en.json b/web/src/i18n/en.json index f20aeac..a8a70bf 100644 --- a/web/src/i18n/en.json +++ b/web/src/i18n/en.json @@ -28,8 +28,8 @@ "loadError": "Search is unavailable", "unavailable": "Search is not available on this server", "loadMore": "Load more", - "resultCount_one": "{{count}} result", - "resultCount_other": "{{count}} results", + "resultCount_one": "~{{count}} result", + "resultCount_other": "~{{count}} results", "selectPrompt": "Select a result to see the full record" }, "fields": { diff --git a/web/src/i18n/sv.json b/web/src/i18n/sv.json index 7cedbc4..59d9c0c 100644 --- a/web/src/i18n/sv.json +++ b/web/src/i18n/sv.json @@ -28,8 +28,8 @@ "loadError": "Sök är inte tillgängligt", "unavailable": "Sök är inte tillgängligt på den här servern", "loadMore": "Visa fler", - "resultCount_one": "{{count}} träff", - "resultCount_other": "{{count}} träffar", + "resultCount_one": "~{{count}} träff", + "resultCount_other": "~{{count}} träffar", "selectPrompt": "Välj en träff för att se hela posten" }, "fields": { diff --git a/web/src/search/search-result-row.tsx b/web/src/search/search-result-row.tsx index 8c6a49e..5f54d56 100644 --- a/web/src/search/search-result-row.tsx +++ b/web/src/search/search-result-row.tsx @@ -18,6 +18,7 @@ export function SearchResultRow({ hit }: { hit: SearchHitView }) {
{hit.object_name}
{hit.object_number} + {hit.recording_date && · {hit.recording_date}}
{hit.snippet && ( diff --git a/web/src/search/search.test.tsx b/web/src/search/search.test.tsx index f69fea6..e78b21a 100644 --- a/web/src/search/search.test.tsx +++ b/web/src/search/search.test.tsx @@ -60,7 +60,8 @@ test("typing searches and renders highlighted rich rows", async () => { expect(await screen.findByText("Bronze figurine")).toBeInTheDocument(); const mark = await screen.findByText("bronze"); expect(mark.tagName).toBe("MARK"); - expect(screen.getByText(/25 results/i)).toBeInTheDocument(); + expect(screen.getByText(/~\s*25 results/i)).toBeInTheDocument(); + expect(screen.getByText(/1962-04-03/)).toBeInTheDocument(); }); test("Load more appends the next page", async () => { diff --git a/web/src/test/fixtures.ts b/web/src/test/fixtures.ts index ce83c1f..a101474 100644 --- a/web/src/test/fixtures.ts +++ b/web/src/test/fixtures.ts @@ -73,6 +73,7 @@ export const searchHits: SearchHitView[] = [ object_number: "2019.4.12", object_name: "Bronze figurine", brief_description: "A small cast figure.", + recording_date: "1962-04-03", visibility: "public", snippet: "cast bronze with green patina", }, @@ -81,6 +82,7 @@ export const searchHits: SearchHitView[] = [ object_number: `N-${i + 2}`, object_name: `Object ${i + 2}`, brief_description: null, + recording_date: null, visibility: "internal" as const, snippet: null, })),