Move store chips to own row below filter input

Filter bar now has two rows: text filter + count on top,
store toggle chips on the bottom. Chips wrap on narrow screens.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
mariosemes
2026-03-26 21:50:54 +01:00
parent 4fb0d65710
commit ac05e83bdd

View File

@@ -150,18 +150,23 @@
<!-- Filters row -->
{#if !loading && results.length > 0}
<div class="flex-shrink-0 border-b border-surface-border px-6 py-2 flex items-center gap-3">
<div class="relative flex-1">
<svg class="absolute left-2.5 top-1/2 -translate-y-1/2 w-3 h-3 text-text-tertiary"
fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
<path stroke-linecap="round" stroke-linejoin="round" d="M12 3c2.755 0 5.455.232 8.083.678.533.09.917.556.917 1.096v1.044a2.25 2.25 0 01-.659 1.591l-5.432 5.432a2.25 2.25 0 00-.659 1.591v2.927a2.25 2.25 0 01-1.244 2.013L9.75 21v-6.568a2.25 2.25 0 00-.659-1.591L3.659 7.409A2.25 2.25 0 013 5.818V4.774c0-.54.384-1.006.917-1.096A48.32 48.32 0 0112 3z" />
</svg>
<input type="text" bind:value={filterText} placeholder="Filter results..."
class="w-full pl-8 pr-3 py-1 bg-surface border border-surface-border rounded text-xs
text-text-primary placeholder-text-tertiary focus:border-accent/50 focus:outline-none transition-colors" />
<div class="flex-shrink-0 border-b border-surface-border px-6 py-2 space-y-2">
<div class="flex items-center gap-3">
<div class="relative flex-1">
<svg class="absolute left-2.5 top-1/2 -translate-y-1/2 w-3 h-3 text-text-tertiary"
fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
<path stroke-linecap="round" stroke-linejoin="round" d="M12 3c2.755 0 5.455.232 8.083.678.533.09.917.556.917 1.096v1.044a2.25 2.25 0 01-.659 1.591l-5.432 5.432a2.25 2.25 0 00-.659 1.591v2.927a2.25 2.25 0 01-1.244 2.013L9.75 21v-6.568a2.25 2.25 0 00-.659-1.591L3.659 7.409A2.25 2.25 0 013 5.818V4.774c0-.54.384-1.006.917-1.096A48.32 48.32 0 0112 3z" />
</svg>
<input type="text" bind:value={filterText} placeholder="Filter results..."
class="w-full pl-8 pr-3 py-1 bg-surface border border-surface-border rounded text-xs
text-text-primary placeholder-text-tertiary focus:border-accent/50 focus:outline-none transition-colors" />
</div>
<span class="text-2xs text-text-tertiary whitespace-nowrap">
{filteredAndSorted().length} of {results.length}
</span>
</div>
<div class="flex items-center gap-1.5">
<div class="flex items-center gap-1.5 flex-wrap">
{#each storeNames() as name}
<button
onclick={() => toggleStore(name)}
@@ -184,10 +189,6 @@
</button>
{/each}
</div>
<span class="text-2xs text-text-tertiary whitespace-nowrap">
{filteredAndSorted().length} of {results.length}
</span>
</div>
{/if}