Code review forward-proofing:
- Early-return on event.isComposing so the / shortcut doesn't disrupt
IME composition (multi-keystroke input methods).
- Treat <select> as editable so / doesn't steal focus while a dropdown
is open and the user is typing to seek.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Code review nits:
- .bsearch border-bottom + .feature border-top rendered a doubled
hairline; removed the bottom border (feature's top is sufficient).
- Renamed bsearch__input / bsearch__hint to binput / bhint to match
the project's flat single-class convention (postrow, pdate, yr, ln).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Code review nit: searchText (required) was appended after the optional
deck/tag, breaking the required-then-optional convention used by the
rest of the interface.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Tiny client-side filter on /blog using data-search attributes on each
row. No new deps, no JSON index, no React island. Filters in place
within the year-grouped archive.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>