fix(export/share): navigation in search not working

This commit is contained in:
Elian Doran 2025-10-29 14:57:53 +02:00
parent cf8089b07f
commit 08e66c18e7
No known key found for this signature in database
2 changed files with 11 additions and 3 deletions

View File

@ -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" });
}

View File

@ -70,12 +70,15 @@ async function fetchResults(query: string): Promise<SearchResults> {
keys: [
"title",
"content"
]
],
includeScore: true
});
const results = fuse.search<SearchResult>(query);
const results = fuse.search<SearchResult>(query, { limit: 5 });
console.debug("Search results:", results);
const processedResults = results.map(({ item, score }) => ({
...item,
id: rootUrl + "/" + item.id,
score
}));
return { results: processedResults };