'use client' import { useEffect, useState, useContext } from 'react' import { useRouter } from 'next/navigation' import { useRecoilState, useRecoilValue } from 'recoil' import { useAxios } from '@/hooks/useAxios' import { globalLocaleStore } from '@/store/localeAtom' import MainContents from './main/MainContents' import { useMessage } from '@/hooks/useMessage' import { stuffSearchState } from '@/store/stuffAtom' import '@/styles/contents.scss' import ChangePasswordPop from './main/ChangePasswordPop' import { searchState } from '@/store/boardAtom' import { SessionContext } from '@/app/SessionProvider' import { QcastContext } from '@/app/QcastProvider' export default function MainPage() { const { session } = useContext(SessionContext) const globalLocaleState = useRecoilValue(globalLocaleStore) const { promiseGet } = useAxios(globalLocaleState) const router = useRouter() const { getMessage } = useMessage() const [searchTxt, setSearchTxt] = useState('') const [searchRadioType, setSearchRadioType] = useState('object') // const [saleStoreId, setSaleStoreId] = useState('') // const [saleStoreName, setSaleStoreName] = useState('') const [stuffSearch, setStuffSearch] = useRecoilState(stuffSearchState) const [searchForm, setSearchForm] = useRecoilState(searchState) const { qcastState } = useContext(QcastContext) // useEffect(() => { // if (session.pwdInitYn === 'Y') { // fetchObjectList() // } // }, [session]) const fetchObjectList = async () => { try { const apiUrl = `/api/main-page/object/${session?.storeId}/list` await promiseGet({ url: apiUrl, }).then((res) => { if (res.status === 200) { setSaleStoreId(res.data.saleStoreId) setSaleStoreName(res.data.saleStoreName) } }) } catch (error) { console.error('MAIN API fetching error:', error) } } // 엔터 이벤트 const handleByOnKeyUp = (e) => { if (e.key === 'Enter') { //물건번호 일떄 if (searchRadioType === 'object') { setStuffSearch({ ...stuffSearch, schObjectNo: searchTxt, code: 'M', }) router.push('/management/stuff') } else { setSearchForm({ ...searchForm, searchValue: searchTxt, mainFlag: 'Y' }) router.push('/community/faq') } } } // 라디오 변경 이벤트 const handleOnChangeRadio = (e) => { setSearchRadioType(e.target.value) } // 돋보기 클릭 const handleOnSubmit = () => { if (searchRadioType === 'object') { setStuffSearch({ ...stuffSearch, schObjectNo: searchTxt, code: 'M', }) router.push('/management/stuff') } else { setSearchForm({ ...searchForm, searchValue: searchTxt, mainFlag: 'Y' }) router.push('/community/faq') } } return ( <> {(session?.pwdInitYn !== 'N' && ( <>
{getMessage('main.storeId')}/ {getMessage('main.storeName')}
{qcastState?.saleStoreId} / {qcastState?.saleStoreName}
{ setSearchTxt(e.target.value) }} />
)) || ( <> )} ) }