searchStore.js 744 Bytes
import { writable, derived } from 'svelte/store';

export const query = writable('');
export const results = writable([]);
export const isLoading = writable(false);
export const indexLoaded = writable(true);
export const error = writable(null);
export const selectedIndex = writable(-1);
export const filterType = writable('todos');

export const showResults = derived(
  [query, results, indexLoaded],
  ([$query, $results, $indexLoaded]) => $indexLoaded && $query.length >= 2
);

export async function initIndex() {
  indexLoaded.set(true);
}

export function performSearch() {}
export function clearSearch() {
  query.set('');
  results.set([]);
  selectedIndex.set(-1);
}
export function setFilter() {}
export function navigateResults() {}