vchikalkin 05990f028b apps/web: add form store
api/ius: add validate function
2023-11-15 13:39:26 +03:00

35 lines
736 B
TypeScript

import type { ResponseGetData } from '@/api/ius/types';
import { create } from 'zustand';
type Values = ResponseGetData;
type FormState = {
defaultValues: Values;
init: (values: Values) => void;
reset: () => void;
setValue: ({ name, value }: { name: string; value: Values[number] }) => void;
values: Values;
};
export const useFormStore = create<FormState>((set) => ({
defaultValues: {},
init: (values) =>
set(() => ({
defaultValues: values,
values,
})),
reset: () => {
set((state) => ({
values: state.defaultValues,
}));
},
setValue: ({ name, value }) =>
set((state) => ({
values: {
...state.values,
[name]: value,
},
})),
values: {},
}));