'use client' import React, { useEffect, useState } from 'react' import { useRouter } from 'next/navigation' import { useRecoilState, useRecoilValue } from 'recoil' import { sessionStore } from '@/store/commonAtom' 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' export default function MainPage() { const sessionState = useRecoilValue(sessionStore) 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) useEffect(() => { if (sessionState.pwdInitYn === 'Y') { fetchObjectList() } }, [sessionState]) const fetchObjectList = async () => { try { const apiUrl = `/api/main-page/object/${sessionState?.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 ( <> {(sessionState?.pwdInitYn !== 'N' && ( <>