'use client' import { searchState } from '@/store/boardAtom' import { useRecoilState, useRecoilValue } from 'recoil' import { useState } from 'react' import { useMessage } from '@/hooks/useMessage' import QnaRegModal from '@/components/community/modal/QnaRegModal' export default function Search({ title = '', subTitle = '', isSelectUse = false, clsCode = '' }) { const { getMessage } = useMessage() const [open, setOpen] = useState(false) const search = useRecoilValue(searchState) const [searchForm, setSearchForm] = useRecoilState(searchState) const [selectPageBlock, setSelectPageBlock] = useState(search.pageBlock) const [searchValue, setSearchValue] = useState(search.searchValue) const [searchView, setSearchView] = useState(search.searchValue ? true : false) const [searchViewText, setSearchViewText] = useState(search.searchValue ? search.searchValue : '') // Enter 키 처리 const handleKeyDown = (e) => { if (e.key === 'Enter') { handleSubmit(e) } } // 조회 값 처리 const handleSearch = (text, block) => { if (text !== '') { setSearchView(true) setSearchViewText(text) setSearchForm({ ...searchForm, currentPage: 1, searchValue: text, pageBlock: block, searchFlag: true }) } else { setSearchView(false) setSearchViewText('') setSearchForm({ ...searchForm, currentPage: 1, searchValue: '', pageBlock : block, searchFlag : !searchForm.searchFlag, }) } // 조회 후 값 비워주기 setSearchValue('') } const handleSubmit = (e) => { e.preventDefault() handleSearch(searchValue, selectPageBlock) } return ( <>
{ setSearchValue(e.target.value) }} onKeyDown={handleKeyDown} value={searchValue} />
{searchView && (
{isSelectUse ? ( <>
${searchViewText}`, `${search.totalCount}`]), }} >
) : ( <>
${searchViewText}`, `${search.totalCount}`]), }} >
)}
)}

{subTitle}

{isSelectUse && (
{clsCode === 'QNA' &&
}
)}
{open && } ) }