From 2d1b58d49c99d2cbecc253b655ee583880156f40 Mon Sep 17 00:00:00 2001 From: Adam Mathes Date: Fri, 13 Feb 2026 17:02:58 -0800 Subject: feat(v2): implement search functionality (NK-shpyxh) --- frontend/src/components/FeedList.tsx | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'frontend/src/components/FeedList.tsx') diff --git a/frontend/src/components/FeedList.tsx b/frontend/src/components/FeedList.tsx index 91d927c..4e7b040 100644 --- a/frontend/src/components/FeedList.tsx +++ b/frontend/src/components/FeedList.tsx @@ -1,5 +1,5 @@ import { useEffect, useState } from 'react'; -import { Link } from 'react-router-dom'; +import { Link, useNavigate } from 'react-router-dom'; import type { Feed, Category } from '../types'; import './FeedList.css'; @@ -8,6 +8,15 @@ export default function FeedList() { const [tags, setTags] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(''); + const [searchQuery, setSearchQuery] = useState(''); + const navigate = useNavigate(); + + const handleSearch = (e: React.FormEvent) => { + e.preventDefault(); + if (searchQuery.trim()) { + navigate(`/?q=${encodeURIComponent(searchQuery.trim())}`); + } + }; useEffect(() => { Promise.all([ @@ -36,6 +45,17 @@ export default function FeedList() { return (
+
+
+ setSearchQuery(e.target.value)} + className="search-input" + /> +
+
  • Unread
  • -- cgit v1.2.3