update type safe module conversion

This commit is contained in:
Wikzyy
2025-05-08 11:22:42 +07:00
parent 28cdd536f1
commit 789a275e10
3 changed files with 13 additions and 10 deletions

View File

@ -35,7 +35,7 @@ import {
import { useManageConversionContext } from '../hooks/useManageConversionContext';
import { doSaveLogActivity } from '@/actions/GlobalActions';
import { RefreshCw } from 'lucide-react';
import { initialState, validateForm } from './Types';
import { initialStateConversion, validateFormConversion } from './Types';
interface CurrencyProps {
ID: string;
name: string;
@ -52,13 +52,13 @@ const AddDialog = () => {
const [currencies, setCurrencies] = useState<CurrencyProps[]>([]);
const [open, setOpen] = useState(false);
const [errors, setErrors] = useState<Record<string, string>>({});
const [formField, setFormField] = useState(initialState);
const [formField, setFormField] = useState(initialStateConversion);
const created_time = new Date();
const formattedTime = created_time.toISOString().slice(0, 19).replace('T', ' ');
const [isSubmitting, setIsSubmitting] = useState(false);
const resetForm = () => {
setFormField(initialState);
setFormField(initialStateConversion);
setErrors({});
};
@ -114,7 +114,7 @@ const AddDialog = () => {
const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {
e.preventDefault();
if (!validateForm(formField, setErrors)) {
if (!validateFormConversion(formField, setErrors)) {
return;
}

View File

@ -35,7 +35,7 @@ import {
import { useManageConversionContext } from '../hooks/useManageConversionContext';
import { doSaveLogActivity } from '@/actions/GlobalActions';
import { RefreshCw } from 'lucide-react';
import { initialState, validateForm } from './Types';
import { initialStateConversion, validateFormConversion } from './Types';
interface CurrencyProps {
ID: string;
name: string;
@ -55,12 +55,12 @@ const EditDialog = () => {
const [isLoading, setIsLoading] = useState(false);
const [errors, setErrors] = useState<Record<string, string>>({});
const [formField, setFormField] = useState(initialState);
const [formField, setFormField] = useState(initialStateConversion);
const updated_time = new Date();
const formattedTime = updated_time.toISOString().slice(0, 19).replace('T', ' ');
const resetForm = () => {
setFormField(initialState);
setFormField(initialStateConversion);
setErrors({});
};
@ -69,7 +69,7 @@ const EditDialog = () => {
e.preventDefault();
setIsSubmitting(true);
if (!validateForm(formField, setErrors)) {
if (!validateFormConversion(formField, setErrors)) {
setIsSubmitting(false);
return;
}

View File

@ -1,6 +1,9 @@
import { toast } from 'sonner';
export const validateForm = (formField: any, setErrors: any) => {
export const validateFormConversion = (
formField: typeof initialStateConversion,
setErrors: React.Dispatch<React.SetStateAction<Record<string, string>>>
) => {
const requiredFields = [
{ key: 'id_currency_origin', label: 'Currency Origin' },
{ key: 'id_currency_destination', label: 'Currency Destination' },
@ -28,7 +31,7 @@ export const validateForm = (formField: any, setErrors: any) => {
return isValid;
};
export const initialState: {
export const initialStateConversion: {
status: string;
id_currency_origin: string;
id_currency_destination: string;