mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-20 05:22:02 +00:00
149 lines
3.6 KiB
TypeScript
149 lines
3.6 KiB
TypeScript
'use client';
|
|
|
|
import { useRouter, useSearchParams } from 'next/navigation';
|
|
import useSWR from 'swr';
|
|
|
|
import TransferToLayingForm from '@/components/pages/production/transfer-to-laying/form/TransferToLayingForm';
|
|
|
|
import { TransferToLayingApi } from '@/services/api/production/transfer-to-laying';
|
|
import { isResponseError, isResponseSuccess } from '@/lib/api-helper';
|
|
|
|
import { TransferToLaying } from '@/types/api/production/transfer-to-laying';
|
|
|
|
// TODO: delete dummy data
|
|
const DUMMY_TRANSFER_TO_LAYING_DETAIL: TransferToLaying = {
|
|
id: 1,
|
|
transfer_date: '2025-10-14',
|
|
flock_source: {
|
|
id: 1,
|
|
name: 'Flock asal test',
|
|
},
|
|
flock_destination: {
|
|
id: 2,
|
|
name: 'Flock tujuan destination',
|
|
},
|
|
quantity: 10,
|
|
kandangs: [
|
|
{
|
|
kandang: {
|
|
id: 1,
|
|
name: 'Kandang test',
|
|
status: 'ACTIVE',
|
|
location: {
|
|
id: 1,
|
|
name: 'test location',
|
|
address: 'test address 1',
|
|
area: { id: 1, name: 'test area 1' },
|
|
},
|
|
pic: {
|
|
id: 1,
|
|
id_user: 2,
|
|
email: 'test@gmail.com',
|
|
name: 'test',
|
|
},
|
|
created_user: {
|
|
id: 1,
|
|
id_user: 2,
|
|
email: 'test@gmail.com',
|
|
name: 'test',
|
|
},
|
|
created_at: '14-10-2025',
|
|
updated_at: '14-10-2025',
|
|
},
|
|
quantity: 8,
|
|
},
|
|
{
|
|
kandang: {
|
|
id: 1,
|
|
name: 'Kandang test 2',
|
|
status: 'ACTIVE',
|
|
location: {
|
|
id: 1,
|
|
name: 'test location',
|
|
address: 'test address 1',
|
|
area: { id: 1, name: 'test area 1' },
|
|
},
|
|
pic: {
|
|
id: 1,
|
|
id_user: 2,
|
|
email: 'test@gmail.com',
|
|
name: 'test',
|
|
},
|
|
created_user: {
|
|
id: 1,
|
|
id_user: 2,
|
|
email: 'test@gmail.com',
|
|
name: 'test',
|
|
},
|
|
created_at: '14-10-2025',
|
|
updated_at: '14-10-2025',
|
|
},
|
|
quantity: 2,
|
|
},
|
|
],
|
|
reason: 'Test alasan',
|
|
|
|
created_user: {
|
|
id: 1,
|
|
id_user: 2,
|
|
email: 'test@gmail.com',
|
|
name: 'test',
|
|
},
|
|
created_at: '14-10-2025',
|
|
updated_at: '14-10-2025',
|
|
};
|
|
|
|
const TransferToLayingDetail = () => {
|
|
const router = useRouter();
|
|
const searchParams = useSearchParams();
|
|
|
|
const transferToLayingId = searchParams.get('transferToLayingId');
|
|
|
|
const { data: transferToLaying, isLoading: isLoadingTransferToLaying } =
|
|
useSWR(transferToLayingId, (id: number) =>
|
|
TransferToLayingApi.getSingle(id)
|
|
);
|
|
|
|
if (!transferToLayingId) {
|
|
router.back();
|
|
|
|
return (
|
|
<div className='w-full flex flex-row justify-center items-center p-4'>
|
|
<span className='loading loading-spinner loading-xl' />
|
|
</div>
|
|
);
|
|
}
|
|
|
|
// TODO: remove dummy data and integrate with real API
|
|
if (
|
|
!isLoadingTransferToLaying &&
|
|
(!transferToLaying ||
|
|
(isResponseError(transferToLaying) && !DUMMY_TRANSFER_TO_LAYING_DETAIL))
|
|
) {
|
|
router.replace('/404');
|
|
return;
|
|
}
|
|
|
|
return (
|
|
<div className='w-full p-4 flex flex-row justify-center'>
|
|
{isLoadingTransferToLaying && (
|
|
<span className='loading loading-spinner loading-xl' />
|
|
)}
|
|
{/* {!isLoadingTransferToLaying && isResponseSuccess(transferToLaying) && (
|
|
<TransferToLayingForm
|
|
type='detail'
|
|
initialValues={transferToLaying.data}
|
|
/>
|
|
)} */}
|
|
|
|
{/* TODO: remove this dummy data and integrate to real API */}
|
|
<TransferToLayingForm
|
|
type='detail'
|
|
initialValues={DUMMY_TRANSFER_TO_LAYING_DETAIL}
|
|
/>
|
|
</div>
|
|
);
|
|
};
|
|
|
|
export default TransferToLayingDetail;
|