mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-20 13:32:00 +00:00
feat(FE-319): Remove recording grading feature
This commit is contained in:
@@ -1,49 +0,0 @@
|
|||||||
'use client';
|
|
||||||
|
|
||||||
import { useRouter, useSearchParams } from 'next/navigation';
|
|
||||||
import useSWR from 'swr';
|
|
||||||
import GradingForm from '@/components/pages/production/recording/grading/form/GradingForm';
|
|
||||||
import { RecordingApi } from '@/services/api/production';
|
|
||||||
import { isResponseSuccess } from '@/lib/api-helper';
|
|
||||||
|
|
||||||
const AddGrading = () => {
|
|
||||||
const router = useRouter();
|
|
||||||
const searchParams = useSearchParams();
|
|
||||||
|
|
||||||
const recordingId = searchParams.get('recording_id');
|
|
||||||
|
|
||||||
const { data: recording, isLoading: isLoadingRecording } = useSWR(
|
|
||||||
recordingId && recordingId !== 'new' ? [recordingId] : null,
|
|
||||||
([id]) => RecordingApi.getSingle(parseInt(id))
|
|
||||||
);
|
|
||||||
|
|
||||||
if (
|
|
||||||
recordingId &&
|
|
||||||
recordingId !== 'new' &&
|
|
||||||
!isLoadingRecording &&
|
|
||||||
(!recording || !isResponseSuccess(recording))
|
|
||||||
) {
|
|
||||||
router.replace('/404');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div className='w-full p-4 flex flex-row justify-center'>
|
|
||||||
{recordingId && recordingId !== 'new' && isLoadingRecording && (
|
|
||||||
<span className='loading loading-spinner loading-xl' />
|
|
||||||
)}
|
|
||||||
{(!recordingId ||
|
|
||||||
recordingId === 'new' ||
|
|
||||||
(!isLoadingRecording && recording && isResponseSuccess(recording))) && (
|
|
||||||
<GradingForm
|
|
||||||
type='add'
|
|
||||||
initialValues={
|
|
||||||
isResponseSuccess(recording) ? recording.data?.eggs?.[0] : undefined
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default AddGrading;
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
'use client';
|
|
||||||
|
|
||||||
import { useRouter, useSearchParams } from 'next/navigation';
|
|
||||||
import useSWR from 'swr';
|
|
||||||
import GradingForm from '@/components/pages/production/recording/grading/form/GradingForm';
|
|
||||||
import { RecordingApi } from '@/services/api/production';
|
|
||||||
import { isResponseSuccess } from '@/lib/api-helper';
|
|
||||||
|
|
||||||
const EditGrading = () => {
|
|
||||||
const router = useRouter();
|
|
||||||
const searchParams = useSearchParams();
|
|
||||||
|
|
||||||
const recordingId = searchParams.get('recordingId');
|
|
||||||
const gradingId = searchParams.get('gradingId');
|
|
||||||
|
|
||||||
const { data: recording, isLoading: isLoadingRecording } = useSWR(
|
|
||||||
recordingId ? [recordingId] : null,
|
|
||||||
([id]) => RecordingApi.getSingle(parseInt(id))
|
|
||||||
);
|
|
||||||
|
|
||||||
if (!recordingId) {
|
|
||||||
router.back();
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div className='w-full flex flex-row justify-center items-center p-4'>
|
|
||||||
<span className='loading loading-spinner loading-xl' />
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!isLoadingRecording && (!recording || !isResponseSuccess(recording))) {
|
|
||||||
router.replace('/404');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div className='w-full p-4 flex flex-row justify-center'>
|
|
||||||
{isLoadingRecording && (
|
|
||||||
<span className='loading loading-spinner loading-xl' />
|
|
||||||
)}
|
|
||||||
{!isLoadingRecording && recording && isResponseSuccess(recording) && (
|
|
||||||
<GradingForm
|
|
||||||
type='edit'
|
|
||||||
initialValues={recording.data.eggs?.find(
|
|
||||||
(egg) => egg.id === parseInt(gradingId || '0')
|
|
||||||
)}
|
|
||||||
/>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default EditGrading;
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
'use client';
|
|
||||||
|
|
||||||
import { useRouter, useSearchParams } from 'next/navigation';
|
|
||||||
import useSWR from 'swr';
|
|
||||||
import GradingForm from '@/components/pages/production/recording/grading/form/GradingForm';
|
|
||||||
import { RecordingApi } from '@/services/api/production';
|
|
||||||
import { isResponseSuccess } from '@/lib/api-helper';
|
|
||||||
|
|
||||||
const DetailGrading = () => {
|
|
||||||
const router = useRouter();
|
|
||||||
const searchParams = useSearchParams();
|
|
||||||
|
|
||||||
const gradingId = searchParams.get('gradingId');
|
|
||||||
|
|
||||||
const { data: grading, isLoading: isLoadingGrading } = useSWR(
|
|
||||||
gradingId ? [gradingId] : null,
|
|
||||||
([id]) => RecordingApi.getSingle(parseInt(id))
|
|
||||||
);
|
|
||||||
|
|
||||||
if (!gradingId) {
|
|
||||||
router.back();
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div className='w-full flex flex-row justify-center items-center p-4'>
|
|
||||||
<span className='loading loading-spinner loading-xl' />
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!isLoadingGrading && (!grading || !isResponseSuccess(grading))) {
|
|
||||||
router.replace('/404');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div className='w-full p-4 flex flex-row justify-center'>
|
|
||||||
{isLoadingGrading && (
|
|
||||||
<span className='loading loading-spinner loading-xl' />
|
|
||||||
)}
|
|
||||||
{!isLoadingGrading && grading && isResponseSuccess(grading) && (
|
|
||||||
<GradingForm
|
|
||||||
type='detail'
|
|
||||||
initialValues={grading.data.eggs?.find(
|
|
||||||
(egg) => egg.id === parseInt(gradingId)
|
|
||||||
)}
|
|
||||||
/>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default DetailGrading;
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
import SuspenseHelper from '@/components/helper/SuspenseHelper';
|
|
||||||
|
|
||||||
const Layout = ({
|
|
||||||
children,
|
|
||||||
}: Readonly<{
|
|
||||||
children: React.ReactNode;
|
|
||||||
}>) => {
|
|
||||||
return <SuspenseHelper>{children}</SuspenseHelper>;
|
|
||||||
};
|
|
||||||
|
|
||||||
export default Layout;
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -9,8 +9,6 @@ import {
|
|||||||
CreateRecordingPayload,
|
CreateRecordingPayload,
|
||||||
Recording,
|
Recording,
|
||||||
UpdateRecordingPayload,
|
UpdateRecordingPayload,
|
||||||
CreateGradingPayload,
|
|
||||||
UpdateGradingPayload,
|
|
||||||
NextDayRecording,
|
NextDayRecording,
|
||||||
} from '@/types/api/production/recording';
|
} from '@/types/api/production/recording';
|
||||||
import { ProjectFlockKandang } from '@/types/api/production/project-flock-kandang';
|
import { ProjectFlockKandang } from '@/types/api/production/project-flock-kandang';
|
||||||
@@ -64,28 +62,6 @@ export class RecordingService extends BaseApiService<
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async createGrading(
|
|
||||||
payload: CreateGradingPayload
|
|
||||||
): Promise<BaseApiResponse<unknown> | undefined> {
|
|
||||||
return await this.customRequest<BaseApiResponse<unknown>>('gradings', {
|
|
||||||
method: 'POST',
|
|
||||||
payload,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
async updateGrading(
|
|
||||||
gradingId: number,
|
|
||||||
payload: UpdateGradingPayload
|
|
||||||
): Promise<BaseApiResponse<unknown> | undefined> {
|
|
||||||
return await this.customRequest<BaseApiResponse<unknown>>(
|
|
||||||
`gradings/${gradingId}`,
|
|
||||||
{
|
|
||||||
method: 'PUT',
|
|
||||||
payload,
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
async deleteGrading(
|
async deleteGrading(
|
||||||
gradingId: number
|
gradingId: number
|
||||||
): Promise<BaseApiResponse<unknown> | undefined> {
|
): Promise<BaseApiResponse<unknown> | undefined> {
|
||||||
|
|||||||
Reference in New Issue
Block a user