"use client"; import { redirect, useSearchParams } from "next/navigation"; import { useState } from "react"; import { Icon } from "@iconify/react"; import { querySchema } from "@/lib/schemas"; export default function SearchBar() { const searchParams = useSearchParams(); const [query, setQuery] = useState(""); const handleSearch = () => { const result = querySchema.safeParse(query); if (!result.success) redirect("/"); // Clone current search params and add query param const params = new URLSearchParams(searchParams.toString()); params.set("q", query); redirect(`/?${params.toString()}`); }; const handleKeyDown = (event: React.KeyboardEvent) => { if (event.key === "Enter") handleSearch(); }; return (
setQuery(e.target.value)} onKeyDown={handleKeyDown} className="bg-orange-200 border-2 border-orange-400 py-2 px-3 rounded-l-xl outline-0 w-full placeholder:text-black/40" />
); }