From 1843a47d5966e12cd0bcd698285625b4eeac607d Mon Sep 17 00:00:00 2001 From: rstubryan Date: Fri, 26 Dec 2025 21:50:59 +0700 Subject: [PATCH] refactor(FE-438): Replace FileInput with custom file upload UI --- .../pages/uniformity/form/UniformityForm.tsx | 142 ++++++++++++------ 1 file changed, 99 insertions(+), 43 deletions(-) diff --git a/src/components/pages/uniformity/form/UniformityForm.tsx b/src/components/pages/uniformity/form/UniformityForm.tsx index fab49ba5..919b28ff 100644 --- a/src/components/pages/uniformity/form/UniformityForm.tsx +++ b/src/components/pages/uniformity/form/UniformityForm.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useCallback, useEffect, useMemo, useState } from 'react'; +import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; import { useFormik } from 'formik'; import { useRouter } from 'next/navigation'; import { Icon } from '@iconify/react'; @@ -14,7 +14,6 @@ import SelectInput, { OptionType, useSelect, } from '@/components/input/SelectInput'; -import FileInput from '@/components/input/FileInput'; import { UniformityFormSchema, @@ -57,6 +56,8 @@ const UniformityForm = ({ const [uniformityFormErrorMessage, setUniformityFormErrorMessage] = useState(''); + const fileInputRef = useRef(null); + // ===== SELECT INPUT DATA ===== const [selectedLocation, setSelectedLocation] = useState( null @@ -451,50 +452,105 @@ const UniformityForm = ({ />
- - - {formik.values.files && ( -
- -
-
- - - {formik.values.files.name} + +
+ document.getElementById('file-upload-input')?.click() + } + > + {formik.values.files ? ( +
+
+ +
+ + {formik.values.files.name} + +
+ ) : ( + <> +
+
+ +
+ + Drag file to this area to upload - - ({(formik.values.files.size / 1024).toFixed(2)} KB) + + Upload data file (*.csv)
- -
-
- )} + +
+
+ + Templates + +
+
+ +
+ +
+ + )} + + +