From bed3989eda95ce28b1b6dd1adcd0ffccad7dc45f Mon Sep 17 00:00:00 2001
From: = <=>
Date: Thu, 16 Oct 2025 17:00:01 -0300
Subject: [PATCH] [VDU-9] feat(CURD):implementando listagem, cadastro, editar e
excluir usuario
---
.../administrativo/(user)/usuarios/page.tsx | 12 ++++---
.../components/User/UserForm.tsx | 34 +++++++++++++++++--
.../administrativo/data/User/UserSaveData.ts | 11 +++---
.../hooks/User/useUserIndexHook.ts | 2 +-
.../hooks/User/useUserSaveHook.ts | 4 +--
.../interfaces/User/UserInterface.ts | 4 +--
.../administrativo/schemas/User/UserSchema.ts | 6 ++--
src/shared/services/api/Api.ts | 2 ++
8 files changed, 54 insertions(+), 21 deletions(-)
diff --git a/src/app/(protected)/administrativo/(user)/usuarios/page.tsx b/src/app/(protected)/administrativo/(user)/usuarios/page.tsx
index ee14ae5..e1ebd5c 100644
--- a/src/app/(protected)/administrativo/(user)/usuarios/page.tsx
+++ b/src/app/(protected)/administrativo/(user)/usuarios/page.tsx
@@ -33,7 +33,7 @@ const initialUser: UserInterface = {
position: 'string',
status: SituacoesEnum.ATIVO,
user_id_create: null,
- user_id_update: null
+ user_id_update: null,
}
export default function UsersPage() {
@@ -70,12 +70,16 @@ export default function UsersPage() {
// 4. Função para salvar (criar ou editar)
const handleSave = useCallback(
async (formData: UserInterface) => {
- console.log("form data", formData)
+
setButtonIsLoading(true);
+
await saveUser(formData);
+
setButtonIsLoading(false);
+
setIsFormOpen(false);
- await fetchUsuarios(); // Atualiza a lista de usuários
+
+ fetchUsuarios(); // Atualiza a lista de usuários
},
[saveUser, fetchUsuarios, handleCloseForm],
);
@@ -104,7 +108,7 @@ export default function UsersPage() {
}, []);
// 7. Renderização condicional de loading
- if (!usuarios) {
+ if (usuarios?.length == 0) {
return ;
}
diff --git a/src/packages/administrativo/components/User/UserForm.tsx b/src/packages/administrativo/components/User/UserForm.tsx
index 1eba3ef..0f650a9 100644
--- a/src/packages/administrativo/components/User/UserForm.tsx
+++ b/src/packages/administrativo/components/User/UserForm.tsx
@@ -52,15 +52,26 @@ export default function UserForm({ isOpen, data, onClose, onSave, buttonIsLoadin
position: 'string',
status: SituacoesEnum.ATIVO,
user_id_create: null,
- user_id_update: null
+ user_id_update: null,
+ date_register: new Date().toISOString(),
+ date_update: null
},
});
// Atualiza o formulário quando recebe dados para edição
useEffect(() => {
if (data) form.reset(data);
+ console.log("form", form.getValues())
}, [data, form]);
+ function onError(error: any) {
+ console.log("error", error)
+ }
+
+ function submit(response: any) {
+ console.log("submit", response)
+ }
+
return (