'use client' import * as React from 'react' import { Button } from '@admin/components/ui/button' import { Form, FormControl, FormField, FormItem } from '@admin/components/ui/form' import { Input } from '@admin/components/ui/input' import { CornerDownLeft, Search, X } from 'lucide-react' import { useForm } from 'react-hook-form' interface SearchInputProps { value?: string placeholder?: string isPending?: boolean onSearch: (value: string | null) => void } interface SearchFormValues { search: string } export function SearchInput({ value, placeholder = 'Search...', isPending, onSearch }: SearchInputProps) { const searchFormValues = React.useMemo(() => ({ search: value ?? '' }), [value]) const form = useForm({ defaultValues: searchFormValues, values: searchFormValues }) const onSubmit = React.useCallback( (data: SearchFormValues) => { const trimmed = data.search.trim() onSearch(trimmed || null) }, [onSearch] ) return (
(
{value ? ( ) : ( )}
)} /> ) }