minecraft-share/components/Search.tsx

30 lines
883 B
TypeScript
Raw Permalink Normal View History

2024-12-13 18:04:27 +08:00
'use client'
import { useState } from 'react'
import { useRouter } from 'next/navigation'
import { SearchIcon } from 'lucide-react'
export default function Search() {
const [search, setSearch] = useState('')
const router = useRouter()
const handleSearch = (e: React.FormEvent) => {
e.preventDefault()
router.push(`/?search=${encodeURIComponent(search)}`)
}
return (
<form onSubmit={handleSearch} className="relative">
<input
type="text"
value={search}
onChange={(e) => setSearch(e.target.value)}
placeholder="Search server packs..."
className="w-full p-2 pl-10 rounded-full border border-gray-300 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent"
/>
<SearchIcon className="absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-400" size={20} />
</form>
)
}