monitoring-app/src/packages/administrativo/interfaces/User/UserFormInterface.ts

18 lines
877 B
TypeScript

// Define o tipo base dos valores do formulário (importa do schema do usuário)
import { z } from 'zod';
import { UserSchema } from '../../schemas/User/UserSchema';
// Cria o tipo inferido a partir do schema do usuário
export type FormValues = z.infer<typeof UserSchema>;
/**
* Interface com as propriedades aceitas pelo componente UserForm.
* Isso facilita a reutilização e deixa o código mais limpo.
*/
export interface UserFormInterface {
isOpen: boolean; // Controla se o diálogo está aberto
data: FormValues | null; // Dados do usuário para edição (ou null no modo de criação)
onClose: (item: null, isFormStatus: boolean) => void; // Função executada ao fechar o diálogo
onSave: (data: FormValues) => void; // Função executada ao salvar o formulário
buttonIsLoading: boolean; // Define se o botão de envio está em modo de carregamento
}