From 01daa0fd509100bc4a95a2e4982eb7377bfb6e63 Mon Sep 17 00:00:00 2001 From: Jonas Carlsen Date: Tue, 5 May 2026 08:12:34 +0200 Subject: [PATCH] fix: select correct node context when searching --- src/api/searchApi.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/api/searchApi.ts b/src/api/searchApi.ts index 673c115d..1b973b73 100644 --- a/src/api/searchApi.ts +++ b/src/api/searchApi.ts @@ -120,6 +120,9 @@ export async function searchWithoutPagination( } const transformResult = (result: MultiSearchSummaryDTO | NodeHitDTO, subjects: string[]): GQLSearchResultUnion => { + const searchCtx = result.contexts.find((c) => (subjects.length === 1 ? c.rootId === subjects[0] : c.isPrimary)); + const url = searchCtx?.url ?? result.contexts?.[0]?.url; + if (result.typename === "NodeHitDTO") { const ret: GQLNodeSearchResult = { __typename: "NodeSearchResult", @@ -128,14 +131,13 @@ const transformResult = (result: MultiSearchSummaryDTO | NodeHitDTO, subjects: s supportedLanguages: [], metaDescription: result.subjectPage?.metaDescription.metaDescription ?? "", id: result.id, - url: result.url ?? "", - context: result.context, + url: searchCtx?.url ?? result.url ?? "", + context: searchCtx ? { ...searchCtx } : undefined, contexts: result.contexts, }; return ret; } - const searchCtx = result.contexts.find((c) => (subjects.length === 1 ? c.rootId === subjects[0] : c.isPrimary)); - const url = searchCtx?.url ?? result.contexts?.[0]?.url; + const isLearningpath = result.learningResourceType === "learningpath"; return { ...result,