'use client' import LoadMoreButton from '@/components/LoadMoreButton' import { useServey } from '@/hooks/useSurvey' import { useEffect, useState } from 'react' import { useRouter } from 'next/navigation' import SearchForm from './SearchForm' import { useSurveyFilterStore } from '@/store/surveyFilterStore' import { useSessionStore } from '@/store/session' export default function ListTable() { const router = useRouter() const { surveyList, isLoadingSurveyList, surveyListCount } = useServey() const { offset, setOffset } = useSurveyFilterStore() const [heldSurveyList, setHeldSurveyList] = useState([]) const [hasMore, setHasMore] = useState(false) const { session } = useSessionStore() useEffect(() => { if (surveyList && surveyList.length > 0) { if (offset === 0) { setHeldSurveyList(surveyList) } else { const remainingList = heldSurveyList.slice(offset, offset + 10) if (JSON.stringify(remainingList) !== JSON.stringify(surveyList)) { setHeldSurveyList((prev) => [...prev, ...surveyList]) } } setHasMore(surveyListCount > offset + 10) } }, [surveyList, surveyListCount, offset, session?.role]) const handleDetailClick = (id: number) => { router.push(`/survey-sale/${id}`) } const handleItemsInit = () => { setHeldSurveyList([]) setOffset(0) } // TODO: 로딩 처리 필요 return ( <> {heldSurveyList.length > 0 ? (
    {heldSurveyList.map((survey) => (
  • handleDetailClick(survey.ID)}>
    {survey.ID}
    {survey.INVESTIGATION_DATE}
    {survey.BUILDING_NAME}
    {survey.CUSTOMER_NAME}
    {survey.REPRESENTATIVE}
    {new Date(survey.UPT_DT).toLocaleString()}
  • ))}
setOffset(offset + 10)} />
) : (

作成された物件はありません。

)} ) }