'use client'; import { useRouter, useSearchParams } from 'next/navigation'; import useSWR from 'swr'; import ClosingDetail from '@/components/pages/closing/ClosingDetailTabs'; import { ClosingApi } from '@/services/api/closing'; import { isResponseError, isResponseSuccess } from '@/lib/api-helper'; import { ProjectFlockApi } from '@/services/api/production/project-flock'; import { ProjectFlockKandangApi } from '@/services/api/production'; const ClosingDetailPage = () => { const router = useRouter(); const searchParams = useSearchParams(); const closingId = searchParams.get('closingId'); const kandangId = searchParams.get('kandangId'); // project flock kandang ID const { data: closing, isLoading: isLoadingClosing } = useSWR( closingId, (id: number) => ClosingApi.getGeneralInfo(id) ); // WORKAROUND - get flock data from closing ID const { data: projectData, isLoading: isLoadingProject } = useSWR( `flock-${closingId}`, () => ProjectFlockApi.getSingle(Number(closingId)) ); // WORKAROUND - get kandang data from closing ID const { data: kandangData, isLoading: isLoadingKandang } = useSWR( kandangId ? `kandang-${closingId}-${kandangId}` : null, () => ProjectFlockKandangApi.getSingle(Number(kandangId)) ); if (!closingId) { router.back(); return (
); } if (!isLoadingClosing && (!closing || isResponseError(closing))) { router.replace('/404'); return; } const isLoading = isLoadingClosing || isLoadingProject || isLoadingKandang; return (
{isLoading && } {!isLoading && isResponseSuccess(closing) && ( )}
); }; export default ClosingDetailPage;