diff --git a/src/lib/components/SearchBox.svelte b/src/lib/components/SearchBox.svelte new file mode 100644 index 0000000..67fcaa0 --- /dev/null +++ b/src/lib/components/SearchBox.svelte @@ -0,0 +1,173 @@ + + +
+
+ = 0 + ? `search-result-${activeIndex}` + : undefined} + aria-label="Search discussions" + autocomplete="off" + oninput={schedule} + onkeydown={onKeydown} + onfocus={onFocus} + onblur={onBlur} + class="w-full rounded-lg bg-neutral-100 py-2.5 pr-11 pl-4 text-neutral-800 placeholder-neutral-400 focus:ring-2 focus:ring-neutral-300 focus:outline-none dark:bg-neutral-800 dark:text-neutral-200 dark:placeholder-neutral-500 dark:focus:ring-neutral-600" + /> + +
+ + {#if open} +
+ {#if searching} +
+ + Searching… +
+ {:else if results.length === 0} +
+ No results +
+ {/if} + {#each results as r, i (r.threadId)} + { + e.preventDefault(); + select(r); + }} + onmouseenter={() => (activeIndex = i)} + > + + {r.title} + {#if r.matchKind === "reply"} + reply + {/if} + + {#if r.snippet} + + {r.snippet} + + {/if} + + {/each} +
+ {/if} +
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 6126a9c..bf8ca5b 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,11 +1,12 @@