import React, { useState } from 'react' import { useCreateSavedSearch } from '../settings/useSavedSearches' interface SaveSearchFormProps { query: string } export function SaveSearchForm({ query }: SaveSearchFormProps): React.JSX.Element { const [open, setOpen] = useState(false) const [name, setName] = useState(query) const [saved, setSaved] = useState(false) const createMutation = useCreateSavedSearch() function handleOpen() { setName(query) setSaved(false) setOpen(true) } function handleCancel() { setOpen(false) } function handleSave(e: React.FormEvent) { e.preventDefault() if (!name.trim()) return createMutation.mutate( { name: name.trim(), query }, { onSuccess: () => { setSaved(true) setTimeout(() => { setOpen(false) setSaved(false) }, 1200) }, }, ) } if (!open) { return (
) } return (
{saved ? ( ) : (
{query} setName(e.target.value)} placeholder="name" autoComplete="off" autoFocus />
)}
) }