Search Addressable Events

Search through parameterized events with d-tags, such as long-form articles, wiki pages, or e-books/publications

{#if cacheResults.length > 0 || results.length > 0}
{#if cacheResults.length > 0}

Found in Cache: ({cacheResults.length})

{#each cacheResults as { event, matchedTag, matchedValue, relevance, relay }}
handleResultClick(event)} onkeydown={(e) => handleResultKeydown(e, event)} > {#if getImageTag(event)}
{ (e.target as HTMLImageElement).style.display = 'none'; }} />
{/if}
{getKindInfo(event.kind).description}
{#if getTagValue(event, 'd')}
d: {@html highlightText(getTagValue(event, 'd') || '', searchQuery, matchedTag.toLowerCase() === 'd')}
{/if} {#if getTagValue(event, 'T')}
T: {@html highlightText(getTagValue(event, 'T') || '', searchQuery, matchedTag === 'T')}
{/if} {#if getTagValue(event, 'C')}
C: {@html highlightText(getTagValue(event, 'C') || '', searchQuery, matchedTag === 'C')}
{/if} {#if getTagValue(event, 'title')}
title: {@html highlightText(getTagValue(event, 'title') || '', searchQuery, matchedTag.toLowerCase() === 'title')}
{/if} {#if getTagValue(event, 'author')}
author: {@html highlightText(getTagValue(event, 'author') || '', searchQuery, matchedTag.toLowerCase() === 'author')}
{/if} {#if getTagValue(event, 'summary')}
summary: {@html highlightText(getTagValue(event, 'summary') || '', searchQuery, matchedTag.toLowerCase() === 'summary')}
{/if} {#if getTagValue(event, 'description')}
description: {@html highlightText(getTagValue(event, 'description') || '', searchQuery, matchedTag.toLowerCase() === 'description')}
{/if}
{event.id}
{/each}
{/if} {#if results.length > 0}

Results from Relays ({results.length})

{#each results as { event, matchedTag, matchedValue, relevance, relay }}
handleResultClick(event)} onkeydown={(e) => handleResultKeydown(e, event)} > {#if getImageTag(event)}
{ (e.target as HTMLImageElement).style.display = 'none'; }} />
{/if}
{#if relay} {#if relay === 'cache'} {:else} {/if} {/if}
{getKindInfo(event.kind).description}
{#if getTagValue(event, 'd')}
d: {@html highlightText(getTagValue(event, 'd') || '', searchQuery, matchedTag.toLowerCase() === 'd')}
{/if} {#if getTagValue(event, 'T')}
T: {@html highlightText(getTagValue(event, 'T') || '', searchQuery, matchedTag === 'T')}
{/if} {#if getTagValue(event, 'C')}
C: {@html highlightText(getTagValue(event, 'C') || '', searchQuery, matchedTag === 'C')}
{/if} {#if getTagValue(event, 'title')}
title: {@html highlightText(getTagValue(event, 'title') || '', searchQuery, matchedTag.toLowerCase() === 'title')}
{/if} {#if getTagValue(event, 'author')}
author: {@html highlightText(getTagValue(event, 'author') || '', searchQuery, matchedTag.toLowerCase() === 'author')}
{/if} {#if getTagValue(event, 'summary')}
summary: {@html highlightText(getTagValue(event, 'summary') || '', searchQuery, matchedTag.toLowerCase() === 'summary')}
{/if} {#if getTagValue(event, 'description')}
description: {@html highlightText(getTagValue(event, 'description') || '', searchQuery, matchedTag.toLowerCase() === 'description')}
{/if}
{event.id}
{/each}
{/if}
{:else if !searching && searchQuery.trim() && cacheResults.length === 0}
No addressable events found matching "{searchQuery}"
{/if}