'use client' import LoadMoreButton from '@/components/LoadMoreButton' import { useSurvey } from '@/hooks/useSurvey' import { useEffect, useState } from 'react' import { useRouter, usePathname } from 'next/navigation' import SearchForm from './SearchForm' import { useSurveyFilterStore } from '@/store/surveyFilterStore' import { useSessionStore } from '@/store/session' import type { SurveyBasicInfo } from '@/types/Survey' export default function ListTable() { const router = useRouter() const pathname = usePathname() const { surveyList, isLoadingSurveyList } = useSurvey() const { offset, setOffset } = useSurveyFilterStore() const { session } = useSessionStore() const [heldSurveyList, setHeldSurveyList] = useState([]) const [hasMore, setHasMore] = useState(false) useEffect(() => { setOffset(0) setHeldSurveyList([]) }, [pathname]) useEffect(() => { if (!session.isLoggedIn || isLoadingSurveyList) return if ('count' in surveyList && surveyList.count > 0) { if (offset > 0) { setHeldSurveyList((prev) => [...prev, ...surveyList.data]) } else { setHeldSurveyList(surveyList.data) } setHasMore(surveyList.count > offset + 10) } else { setHeldSurveyList([]) setHasMore(false) } }, [surveyList, offset, session.isLoggedIn]) const handleDetailClick = (id: number) => { router.push(`/survey-sale/${id}`) } return ( <>
{heldSurveyList.length > 0 ? (
    {heldSurveyList.map((survey) => (
  • handleDetailClick(survey.id)}>
    {survey.srlNo}
    {survey.investigationDate}
    {survey.buildingName === null ? '-' : survey.buildingName}
    {survey.customerName === null ? '-' : survey.customerName}
    {survey.representative}
    {new Date(survey.uptDt).toLocaleString()}
  • ))}
) : (
作成された物件はありません。
)}
setOffset(offset + 10)} />
) }