'use client'; import { useState, type FormEvent } from 'react'; import { useRouter } from 'next/navigation'; const TYPES = [ { value: '', label: 'すべて' }, { value: 'thread', label: '掲示板' }, { value: 'chat', label: 'チャット' }, { value: 'todo', label: 'ToDo' }, { value: 'file', label: 'ファイル' }, { value: 'event', label: 'イベント' }, { value: 'meeting', label: 'ミーティング' }, { value: 'milestone', label: 'マイルストーン' }, { value: 'note', label: 'メモ' }, ]; export function SearchForm({ projectId, initialQ, initialType, }: { projectId: number; initialQ: string; initialType: string; }) { const router = useRouter(); const [q, setQ] = useState(initialQ); const [type, setType] = useState(initialType); function onSubmit(event: FormEvent) { event.preventDefault(); const params = new URLSearchParams(); if (q) params.set('q', q); if (type) params.set('type', type); router.push(`/projects/${projectId}/search?${params.toString()}`); } return (
setQ(e.target.value)} placeholder="キーワード" className="flex-1 rounded border px-3 py-2" data-testid="search-input" />
); }