Add language filter to Discover

The CDX languages field (ISO 639 codes, e.g. "spa,eng") has been
captured on every page since the first ingestion command, but never
surfaced anywhere. Filters via FIND_IN_SET for an exact code match
rather than a LIKE substring match, since the column holds a
comma-separated list.

Verified against real data: lang=spa returns exactly the expected 47
sites (25+22 across two pages), a bogus code renders the empty state,
and lang=spa combined with tld=es correctly narrows to 20.
This commit is contained in:
m105
2026-07-22 23:11:30 +03:00
parent 59e152fd29
commit 4c0cc5a7f5
2 changed files with 28 additions and 3 deletions
@@ -23,6 +23,12 @@
placeholder="Platform, e.g. WordPress"
class="w-full max-w-[14rem] rounded-md border border-neutral-300 px-3 py-2 text-sm focus:border-neutral-500 focus:outline-none dark:border-neutral-700 dark:bg-neutral-900"
>
<input
type="text"
wire:model.live.debounce.400ms="language"
placeholder="Language code, e.g. spa"
class="w-full max-w-[12rem] rounded-md border border-neutral-300 px-3 py-2 text-sm focus:border-neutral-500 focus:outline-none dark:border-neutral-700 dark:bg-neutral-900"
>
</div>
<div class="mt-6 overflow-hidden rounded-lg border border-neutral-200 dark:border-neutral-800">
@@ -53,7 +59,7 @@
@if ($hasQuery)
No matching sites.
@else
Enter a keyword, TLD, or platform to search.
Enter a keyword, TLD, platform, or language to search.
@endif
</td>
</tr>