diff --git a/src/app/master-data/uom/detail/page.tsx b/src/app/master-data/uom/detail/page.tsx new file mode 100644 index 00000000..59ad0755 --- /dev/null +++ b/src/app/master-data/uom/detail/page.tsx @@ -0,0 +1,46 @@ +'use client'; + +import { useRouter, useSearchParams } from 'next/navigation'; +import useSWR from 'swr'; + +import UomForm from '@/components/pages/master-data/uom/form/UomForm'; + +import { UomApi } from '@/services/api/master-data'; +import { isResponseSuccess } from '@/lib/api-helper'; + +const UomDetail = () => { + const router = useRouter(); + const searchParams = useSearchParams(); + + const uomId = searchParams.get('uomId'); + + const { data: uom, isLoading: isLoadingUom } = useSWR(uomId, (id: number) => + UomApi.getSingle(id) + ); + + if (!uomId) { + router.back(); + + return ( +
+ +
+ ); + } + + if (!isLoadingUom && !uom) { + router.replace('/404'); + return; + } + + return ( +
+ {isLoadingUom && } + {!isLoadingUom && isResponseSuccess(uom) && ( + + )} +
+ ); +}; + +export default UomDetail;