'use client' import { useCallback, useState, } from 'react' import { RiCloseLine } from '@remixicon/react' import { useMarketplaceContext } from '../context' import TagsFilter from './tags-filter' import ActionButton from '@/app/components/base/action-button' import cn from '@/utils/classnames' type SearchBoxProps = { onChange?: (searchText: string, tags: string[]) => void } const SearchBox = ({ onChange, }: SearchBoxProps) => { const intersected = useMarketplaceContext(v => v.intersected) const [searchText, setSearchText] = useState('') const [selectedTags, setSelectedTags] = useState([]) const handleTagsChange = useCallback((tags: string[]) => { setSelectedTags(tags) onChange?.(searchText, tags) }, [searchText, onChange]) return (
{ setSearchText(e.target.value) onChange?.(e.target.value, selectedTags) }} /> { searchText && ( setSearchText('')}> ) }
) } export default SearchBox