fix: make FuzzySearch generic to support typed items

- Add SearchableItem base interface for minimum required fields
- Make FuzzySearch class generic with type parameter
- Update all page scripts to use typed FuzzySearch instances
- Fix type casting in calculateScore method
This commit is contained in:
Aaron Powell
2026-01-29 09:56:20 +11:00
parent 63fb276a6c
commit d46210b2de
8 changed files with 27 additions and 20 deletions

View File

@@ -48,7 +48,7 @@ export async function initHomepage(): Promise<void> {
// Load search index
const searchIndex = await fetchData<SearchItem[]>('search-index.json');
if (searchIndex) {
const search = new FuzzySearch();
const search = new FuzzySearch<SearchItem>();
search.setItems(searchIndex);
const searchInput = document.getElementById('global-search') as HTMLInputElement;