summaryrefslogtreecommitdiff
path: root/apps/web/app/reader/_components/search-overlay.tsx
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-02-09 23:48:27 -0800
committerFuwn <[email protected]>2026-02-09 23:48:27 -0800
commitd0d49d9b759f841c0a05b2410efbd26957a813dc (patch)
tree6c72bd6a27e13b6cadb2d1797afedc172ffc32e7 /apps/web/app/reader/_components/search-overlay.tsx
parentfix: P0 correctness and security fixes (diff)
downloadasa.news-d0d49d9b759f841c0a05b2410efbd26957a813dc.tar.xz
asa.news-d0d49d9b759f841c0a05b2410efbd26957a813dc.zip
fix: P0 correctness/security fixes and P1 lint error resolution
P0: add missing 'developer' case to check_custom_feed_limit trigger, scope user_entry_states join to authenticated user in API v1 entries, replace in-memory rate limiting with Supabase-backed check_rate_limit RPC. P1: fix all 9 ESLint errors — useSyncExternalStore for useIsMobile, restructure WebhookSection to avoid set-state-in-effect, move ref mutations into useEffect, replace <a> with <Link> on shared page, ignore generated public/sw.js in eslint config.
Diffstat (limited to 'apps/web/app/reader/_components/search-overlay.tsx')
-rw-r--r--apps/web/app/reader/_components/search-overlay.tsx9
1 files changed, 4 insertions, 5 deletions
diff --git a/apps/web/app/reader/_components/search-overlay.tsx b/apps/web/app/reader/_components/search-overlay.tsx
index 5cfdb57..11e709c 100644
--- a/apps/web/app/reader/_components/search-overlay.tsx
+++ b/apps/web/app/reader/_components/search-overlay.tsx
@@ -50,10 +50,6 @@ export function SearchOverlay({ onClose }: SearchOverlayProperties) {
}, [])
useEffect(() => {
- setSelectedResultIndex(-1)
- }, [searchQuery])
-
- useEffect(() => {
function handleKeyDown(event: KeyboardEvent) {
if (event.key === "Escape") {
onClose()
@@ -122,7 +118,10 @@ export function SearchOverlay({ onClose }: SearchOverlayProperties) {
ref={inputReference}
type="text"
value={searchQuery}
- onChange={(event) => setSearchQuery(event.target.value)}
+ onChange={(event) => {
+ setSearchQuery(event.target.value)
+ setSelectedResultIndex(-1)
+ }}
onKeyDown={handleInputKeyDown}
placeholder="search entries..."
className="w-full bg-transparent text-text-primary outline-none placeholder:text-text-dim"