refactor(FE-438): Use shared DetailOptionType for result tables

This commit is contained in:
rstubryan
2025-12-29 13:18:44 +07:00
parent cd41d5daab
commit 11a63f76b7
@@ -21,6 +21,7 @@ import {
getWeightStatusIndicatorColor, getWeightStatusIndicatorColor,
getWeightStatusText, getWeightStatusText,
} from '@/components/pages/uniformity/uniformity-utils'; } from '@/components/pages/uniformity/uniformity-utils';
import { DetailOptionType } from '@/components/pages/uniformity/detail/UniformityDetail';
type BodyWeightData = { type BodyWeightData = {
id: string; id: string;
@@ -29,18 +30,6 @@ type BodyWeightData = {
status?: 'ideal' | 'outside'; status?: 'ideal' | 'outside';
}; };
type SamplingData = {
id: string;
label: string;
value: string;
};
type ResultData = {
id: string;
label: string;
value: string;
};
const UniformityResultForm = () => { const UniformityResultForm = () => {
const router = useRouter(); const router = useRouter();
const setExpandedDrawerOpen = useUiStore((s) => s.setExpandedDrawerOpen); const setExpandedDrawerOpen = useUiStore((s) => s.setExpandedDrawerOpen);
@@ -64,10 +53,6 @@ const UniformityResultForm = () => {
setVerifyUniformityResult(null); setVerifyUniformityResult(null);
}; };
const handleBack = () => {
setUniformityStep('preview');
};
const handleSubmit = async () => { const handleSubmit = async () => {
if (!uniformityFormData || !uniformityFormData.file) { if (!uniformityFormData || !uniformityFormData.file) {
toast.error('Form data is missing. Please try again.'); toast.error('Form data is missing. Please try again.');
@@ -102,7 +87,7 @@ const UniformityResultForm = () => {
} }
}; };
const samplingTableData: SamplingData[] = useMemo(() => { const samplingTableData: DetailOptionType[] = useMemo(() => {
if (!verifyUniformityResult) return []; if (!verifyUniformityResult) return [];
const { sampling } = verifyUniformityResult; const { sampling } = verifyUniformityResult;
@@ -131,7 +116,7 @@ const UniformityResultForm = () => {
]; ];
}, [verifyUniformityResult]); }, [verifyUniformityResult]);
const columnsSampling: ColumnDef<SamplingData>[] = useMemo( const columnsSampling: ColumnDef<DetailOptionType>[] = useMemo(
() => [ () => [
{ {
accessorKey: 'label', accessorKey: 'label',
@@ -147,7 +132,7 @@ const UniformityResultForm = () => {
[] []
); );
const resultTableData: ResultData[] = useMemo(() => { const resultTableData: DetailOptionType[] = useMemo(() => {
if (!verifyUniformityResult) return []; if (!verifyUniformityResult) return [];
const { result } = verifyUniformityResult; const { result } = verifyUniformityResult;
@@ -171,7 +156,7 @@ const UniformityResultForm = () => {
]; ];
}, [verifyUniformityResult]); }, [verifyUniformityResult]);
const resultColumns: ColumnDef<ResultData>[] = useMemo( const resultColumns: ColumnDef<DetailOptionType>[] = useMemo(
() => [ () => [
{ {
accessorKey: 'label', accessorKey: 'label',
@@ -270,7 +255,7 @@ const UniformityResultForm = () => {
<div className='flex flex-col gap-4'> <div className='flex flex-col gap-4'>
<div className=''> <div className=''>
<p className='text-sm font-medium mb-5'>Sampling and Range</p> <p className='text-sm font-medium mb-5'>Sampling and Range</p>
<Table<SamplingData> <Table<DetailOptionType>
data={samplingTableData} data={samplingTableData}
columns={columnsSampling} columns={columnsSampling}
pageSize={4} pageSize={4}
@@ -283,7 +268,7 @@ const UniformityResultForm = () => {
<div className=''> <div className=''>
<p className='text-sm font-medium mb-5'>Result</p> <p className='text-sm font-medium mb-5'>Result</p>
<Table<ResultData> <Table<DetailOptionType>
data={resultTableData} data={resultTableData}
columns={resultColumns} columns={resultColumns}
pageSize={3} pageSize={3}