From 08e66c18e7d993454a9186f6858df202d0dfd65f Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 29 Oct 2025 14:57:53 +0200 Subject: [PATCH] fix(export/share): navigation in search not working --- apps/server/src/services/export/zip/share_theme.ts | 7 ++++++- packages/share-theme/src/scripts/modules/search.ts | 7 +++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/apps/server/src/services/export/zip/share_theme.ts b/apps/server/src/services/export/zip/share_theme.ts index 10a366f15..953824304 100644 --- a/apps/server/src/services/export/zip/share_theme.ts +++ b/apps/server/src/services/export/zip/share_theme.ts @@ -14,7 +14,7 @@ import becca from "../../../becca/becca"; const shareThemeAssetDir = getShareThemeAssetDir(); interface SearchIndexEntry { - id: string; + id: string | null; title: string; content: string; path: string; @@ -94,6 +94,11 @@ export default class ShareThemeExportProvider extends ZipExportProvider { this.#saveIndex(rootMeta); // Search index + for (const item of this.searchIndex.values()) { + if (!item.id) continue; + item.id = this.getNoteTargetUrl(item.id, rootMeta); + } + this.archive.append(JSON.stringify(Array.from(this.searchIndex.values()), null, 4), { name: "search-index.json" }); } diff --git a/packages/share-theme/src/scripts/modules/search.ts b/packages/share-theme/src/scripts/modules/search.ts index cc0777443..515c68702 100644 --- a/packages/share-theme/src/scripts/modules/search.ts +++ b/packages/share-theme/src/scripts/modules/search.ts @@ -70,12 +70,15 @@ async function fetchResults(query: string): Promise { keys: [ "title", "content" - ] + ], + includeScore: true }); - const results = fuse.search(query); + const results = fuse.search(query, { limit: 5 }); + console.debug("Search results:", results); const processedResults = results.map(({ item, score }) => ({ ...item, + id: rootUrl + "/" + item.id, score })); return { results: processedResults };