feat: update search page and improve details

This commit is contained in:
2026-04-26 01:08:10 +08:00
parent 6415200f34
commit 4fc4b070dc
19 changed files with 1265 additions and 222 deletions
+4 -2
View File
@@ -17,7 +17,7 @@ export default function Navbar() {
const isLanding = pathname === "/"
const [searchQuery, setSearchQuery] = useState("")
const [searchQuery, setSearchQuery] = useState(() => searchParams.get("q") || "")
const debouncedQuery = useDebounce(searchQuery, 300)
const [mobileMenuOpen, setMobileMenuOpen] = useState(false)
const [isFocused, setIsFocused] = useState(false)
@@ -35,6 +35,8 @@ export default function Navbar() {
if (isLanding) return
const currentQ = searchParams.get("q") || ""
if (debouncedQuery === currentQ) return
// Don't overwrite URL if the typed query hasn't debounced yet
if (searchQuery !== debouncedQuery) return
const params = new URLSearchParams(searchParams.toString())
if (debouncedQuery) {
@@ -43,7 +45,7 @@ export default function Navbar() {
params.delete("q")
}
router.replace(`/search?${params.toString()}`, { scroll: false })
}, [debouncedQuery, isLanding, router, searchParams])
}, [debouncedQuery, isLanding, router, searchParams, searchQuery])
// Maintain focus & styles when flying from landing page search
useEffect(() => {