From 34e38b39691c518863692022277a760454aec72a Mon Sep 17 00:00:00 2001 From: vinix Date: Tue, 18 Nov 2025 13:09:39 +0700 Subject: [PATCH] refactor: Improve code formatting and readability in SparepartForm component --- .../brandDevice/component/SparepartForm.jsx | 141 +++++++++--------- 1 file changed, 70 insertions(+), 71 deletions(-) diff --git a/src/pages/master/brandDevice/component/SparepartForm.jsx b/src/pages/master/brandDevice/component/SparepartForm.jsx index a6c70a1..696dbc8 100644 --- a/src/pages/master/brandDevice/component/SparepartForm.jsx +++ b/src/pages/master/brandDevice/component/SparepartForm.jsx @@ -1,5 +1,16 @@ import React, { useState, useEffect } from 'react'; -import { Form, Input, Button, Divider, Typography, Switch, Space, Card, Upload, message } from 'antd'; +import { + Form, + Input, + Button, + Divider, + Typography, + Switch, + Space, + Card, + Upload, + message, +} from 'antd'; import { PlusOutlined, DeleteOutlined, UploadOutlined } from '@ant-design/icons'; import { uploadFile } from '../../../../api/file-uploads'; @@ -15,7 +26,7 @@ const SparepartForm = ({ onSparepartImageUpload, onSparepartImageRemove, sparepartImages = {}, - isReadOnly = false + isReadOnly = false, }) => { const [fieldStatuses, setFieldStatuses] = useState({}); @@ -32,7 +43,7 @@ const SparepartForm = ({ useEffect(() => { // Update field statuses when form changes const newStatuses = {}; - sparepartFields.forEach(field => { + sparepartFields.forEach((field) => { newStatuses[field.key] = getFieldValue(field.key); }); setFieldStatuses(newStatuses); @@ -55,21 +66,25 @@ const SparepartForm = ({ try { const fileExtension = file.name.split('.').pop().toLowerCase(); - const isImageFile = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'bmp'].includes(fileExtension); + const isImageFile = ['jpg', 'jpeg', 'png', 'gif', 'webp', 'bmp'].includes( + fileExtension + ); const fileType = isImageFile ? 'image' : 'pdf'; const folder = 'images'; const uploadResponse = await uploadFile(file, folder); - const imagePath = uploadResponse.data?.path_icon || uploadResponse.data?.path_solution || ''; + const imagePath = + uploadResponse.data?.path_icon || uploadResponse.data?.path_solution || ''; if (imagePath) { - onSparepartImageUpload && onSparepartImageUpload(fieldKey, { - name: file.name, - uploadPath: imagePath, - fileExtension, - isImage: isImageFile, - size: file.size, - }); + onSparepartImageUpload && + onSparepartImageUpload(fieldKey, { + name: file.name, + uploadPath: imagePath, + fileExtension, + isImage: isImageFile, + size: file.size, + }); message.success(`${file.name} uploaded successfully!`); } else { message.error(`Failed to upload ${file.name}`); @@ -106,48 +121,40 @@ const SparepartForm = ({ size="small" style={{ marginBottom: 16 }} title={ -
+
Sparepart {index + 1}
- - { - onSparepartStatusChange && onSparepartStatusChange(field.key, checked); - setFieldStatuses(prev => ({ ...prev, [field.key]: checked })); - }} - style={{ - backgroundColor: fieldStatuses[field.key] ? '#23A55A' : '#bfbfbf' - }} - /> - - - {fieldStatuses[field.key] ? 'Active' : 'Inactive'} - + {!isReadOnly && sparepartFields.length > 1 && ( +
+
+ )}
} > -
+ {/* Sparepart Name */} - + {/* Description */} - + ) : ( -
+
No upload allowed
)} {sparepartImages[field.key] && (
-
+
Sparepart Image
- {sparepartImages[field.key].name} + + {sparepartImages[field.key].name} +
- Size: {(sparepartImages[field.key].size / 1024).toFixed(1)} KB + Size:{' '} + {( + sparepartImages[field.key].size / 1024 + ).toFixed(1)}{' '} + KB
{!isReadOnly && ( @@ -209,24 +234,6 @@ const SparepartForm = ({
)} - - {/* Delete Button */} - {!isReadOnly && sparepartFields.length > 1 && ( -
- -
- )} ))} @@ -243,17 +250,9 @@ const SparepartForm = ({ )} - - {!isReadOnly && ( -
- - * Add at least one sparepart for this error code. - -
- )}
); }; -export default SparepartForm; \ No newline at end of file +export default SparepartForm;