diff --git a/apps/web/components/Form/Common/Buttons.tsx b/apps/web/components/Form/Common/Buttons.tsx
index b6b9e80..2cc1965 100644
--- a/apps/web/components/Form/Common/Buttons.tsx
+++ b/apps/web/components/Form/Common/Buttons.tsx
@@ -9,7 +9,7 @@ import { useCallback } from 'react';
import { useContext } from 'react';
export function Buttons() {
- const { reset, resetValidation, setValidation, values } = useFormStore();
+ const { reset, resetValidation, setValidation, status, values } = useFormStore();
const { pageUrlParams, setFormState } = useContext(FormContext);
const router = useRouter();
@@ -69,7 +69,9 @@ export function Buttons() {
-
+
);
}
diff --git a/apps/web/store/ius/form.ts b/apps/web/store/ius/form.ts
index 5619462..777a7fd 100644
--- a/apps/web/store/ius/form.ts
+++ b/apps/web/store/ius/form.ts
@@ -15,6 +15,7 @@ type FormState = {
resetValidation: () => void;
setValidation: (input: { name: string } & ElementValidation) => void;
setValue: ({ name, value }: { name: string; value: Values[number] }) => void;
+ status?: 'init' | 'edited';
validation: Record;
values: Values;
};
@@ -24,10 +25,12 @@ export const useFormStore = create((set) => ({
init: (values) =>
set(() => ({
defaultValues: values,
+ status: 'init',
values,
})),
reset: () =>
set((state) => ({
+ status: 'init',
validation: {},
values: state.defaultValues,
})),
@@ -44,6 +47,7 @@ export const useFormStore = create((set) => ({
})),
setValue: ({ name, value }) =>
set((state) => ({
+ status: 'edited',
validation: {
...state.validation,
[name]: undefined,