From bdf982fe38efbbc77c29a324ee81304dd143dcc9 Mon Sep 17 00:00:00 2001 From: keven Date: Sun, 14 Sep 2025 11:33:44 -0300 Subject: [PATCH] =?UTF-8?q?[MVPTN-1]=20feat(CRUD):=20Finaliza=C3=A7=C3=A3o?= =?UTF-8?q?=20do=20CRUD=20de=20cadastro=20de=20Tipos=20de=20Reconhecimento?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reconhecimentos/page.tsx | 275 ++++++++++-------- .../TTBReconhecimentoTipoAlert.tsx | 28 -- .../TTBReconhecimentoTipoForm.tsx | 178 ++++++++---- .../TTBReconhecimentoTipoTable.tsx | 191 +++++++----- .../TTBReconhecimentoTipoDeleteData.ts | 16 + .../TTBReconhecimentoTipoIndexData.ts | 20 +- .../TTBReconhecimentoTipoSaveData.ts | 21 +- .../useTTBReconhecimentoTipoDeleteHook.ts | 19 ++ .../useTTBReconhecimentoTipoReadHook.ts} | 14 +- .../useTTBReconhecimentoTipoSaveHook.ts} | 10 +- 10 files changed, 447 insertions(+), 325 deletions(-) delete mode 100644 src/app/(protected)/(cadastros)/cadastros/_components/t_tb_reconhecimentotipo/TTBReconhecimentoTipoAlert.tsx create mode 100644 src/app/(protected)/(cadastros)/cadastros/_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoDeleteData.ts create mode 100644 src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoDeleteHook.ts rename src/app/(protected)/(cadastros)/cadastros/_hooks/{t_tb_reocnhecimentotipo/useTTBReconhecimentoTipoReadHooks.ts => t_tb_reconhecimentotipo/useTTBReconhecimentoTipoReadHook.ts} (52%) rename src/app/(protected)/(cadastros)/cadastros/_hooks/{t_tb_reocnhecimentotipo/useTTBReconhecimentoTipoSaveHooks.ts => t_tb_reconhecimentotipo/useTTBReconhecimentoTipoSaveHook.ts} (60%) diff --git a/src/app/(protected)/(cadastros)/cadastros/(t_tb_reconhecimentotipo)/reconhecimentos/page.tsx b/src/app/(protected)/(cadastros)/cadastros/(t_tb_reconhecimentotipo)/reconhecimentos/page.tsx index 4bab9e4..d24425b 100644 --- a/src/app/(protected)/(cadastros)/cadastros/(t_tb_reconhecimentotipo)/reconhecimentos/page.tsx +++ b/src/app/(protected)/(cadastros)/cadastros/(t_tb_reconhecimentotipo)/reconhecimentos/page.tsx @@ -1,139 +1,174 @@ -'use client' +'use client'; -import { - AlertDialog, - AlertDialogAction, - AlertDialogCancel, - AlertDialogContent, - AlertDialogDescription, - AlertDialogFooter, - AlertDialogHeader, - AlertDialogTitle, - AlertDialogTrigger, -} from "@/components/ui/alert-dialog" +import { useEffect, useState, useCallback } from "react"; +import { Button } from "@/components/ui/button"; +import { Card, CardContent } from "@/components/ui/card"; +import { PlusIcon } from "lucide-react"; -import { - Dialog, - DialogClose, - DialogContent, - DialogDescription, - DialogFooter, - DialogHeader, - DialogTitle, - DialogTrigger, -} from "@/components/ui/dialog" +import Loading from "@/app/_components/loading/loading"; +import TTBAndamentoServicoTable from "../../_components/t_tb_reconhecimentotipo/TTBReconhecimentoTipoTable"; +import TTBAndamentoServicoForm from "../../_components/t_tb_reconhecimentotipo/TTBReconhecimentoTipoForm"; -import { Input } from "@/components/ui/input" -import { Card, CardContent } from "@/components/ui/card" -import { - Table, - TableBody, - TableCell, - TableHead, - TableHeader, - TableRow, -} from "@/components/ui/table" -import { useTTBReconhecimentoTipoReadHooks } from "../../_hooks/t_tb_reocnhecimentotipo/useTTBReconhecimentoTipoReadHooks" -import { useEffect, useState } from "react" -import ITTTBReconhecimentoTipo from "../../_interfaces/TTBReconhecimentoTipoInterface" -import Loading from "@/app/_components/loading/loading" -import { Button } from "@/components/ui/button" -import { useTTBReconhecimentoTipoSaveHooks } from "../../_hooks/t_tb_reocnhecimentotipo/useTTBReconhecimentoTipoSaveHooks" -import { Controller, useForm } from "react-hook-form" -import { - Form, - FormControl, - FormField, - FormItem, - FormLabel, - FormMessage, -} from "@/components/ui/form" -import { zodResolver } from "@hookform/resolvers/zod" -import { TTBReconhecimentoTipoSchema } from "../../_schemas/TTBReconhecimentoTipoSchema" -import z from "zod" -import { Label } from "@/components/ui/label" -import { Checkbox } from "@/components/ui/checkbox" -import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuTrigger } from "@/components/ui/dropdown-menu" -import { DropdownMenuLabel } from "@radix-ui/react-dropdown-menu" -import { EllipsisIcon, PencilIcon, PlusIcon, Trash2 } from "lucide-react" +import { useTTBReconhecimentoTipoReadHook } from "../../_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoReadHook"; +import { useTTBReconhecimentoTipoSaveHook } from "../../_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoSaveHook"; +import { useTTBReconhecimentoTipoDeleteHook } from "../../_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoDeleteHook"; -type FormValues = z.infer +import ConfirmDialog from "@/app/_components/confirm_dialog/ConfirmDialog"; +import { useConfirmDialog } from "@/app/_components/confirm_dialog/useConfirmDialog"; -export default function TTBReconhecimentoTipoPage() { - const { reconhecimentosTipos, fetchReconhecimentosTipos, addReconhecimentoTipo } = useTTBReconhecimentoTipoReadHooks() - const { reconhecimentoTipo, saveReconhecimentoTipo } = useTTBReconhecimentoTipoSaveHooks() +import TTBReconhecimentoTipoInterface from "../../_interfaces/TTBReconhecimentoTipoInterface"; +import TTBReconhecimentoTipoFormProps from "../../_components/t_tb_reconhecimentotipo/TTBReconhecimentoTipoForm"; - const [dialogOpen, setDialogOpen] = useState(false); - const [editingItem, setEditingItem] = useState(null); +export default function TTBAndamentoServico() { - const [alertDialogOpen, setAlertDialogOpen] = useState(false); - const [item, setItem] = useState(null); + // Hooks para leitura e salvamento + const { tTBReconhecimentosTipos, fetchTTBReconhecimentosTipos } = useTTBReconhecimentoTipoReadHook(); + const { saveTTBReconhecimentoTipo } = useTTBReconhecimentoTipoSaveHook(); + const { deleteTTBReconhecimentoTipo } = useTTBReconhecimentoTipoDeleteHook(); + // Estados + const [selectedReconhecimentoTipo, setReconhecimentoTipo] = useState(null); + const [isFormOpen, setIsFormOpen] = useState(false); + + // Estado para saber qual item será deletado + const [itemToDelete, setItemToDelete] = useState(null); + + /** + * Hook do modal de confirmação + */ + const { + isOpen: isConfirmOpen, + openDialog: openConfirmDialog, + handleConfirm, + handleCancel, + } = useConfirmDialog(); + + /** + * Abre o formulário no modo de edição ou criação + */ + const handleOpenForm = useCallback((data: TTBReconhecimentoTipoInterface | null) => { + setReconhecimentoTipo(data); + setIsFormOpen(true); + }, []); + + /** + * Fecha o formulário e limpa o andamento selecionado + */ + const handleCloseForm = useCallback(() => { + setReconhecimentoTipo(null); + setIsFormOpen(false); + }, []); + + /** + * Salva os dados do formulário + */ + const handleSave = useCallback(async (formData: TTBReconhecimentoTipoInterface) => { + + // Aguarda salvar o registro + await saveTTBReconhecimentoTipo(formData); + + // Encerra o fomulário + handleCloseForm(); + + // Atualiza a lista de dados + fetchTTBReconhecimentosTipos(); + + }, [saveTTBReconhecimentoTipo, fetchTTBReconhecimentosTipos, handleCloseForm]); + + /** + * Quando o usuário clica em "remover" na tabela + */ + const handleConfirmDelete = useCallback((item: TTBReconhecimentoTipoInterface) => { + + // Define o item atual para remoção + setItemToDelete(item); + + // Abre o modal de confirmação + openConfirmDialog(); + + }, [openConfirmDialog]); + + /** + * Executa a exclusão de fato quando o usuário confirma + */ + const handleDelete = useCallback(async () => { + + // Executa o Hook de remoção + await deleteTTBReconhecimentoTipo(itemToDelete); + + // Atualiza a lista + await fetchTTBReconhecimentosTipos(); + + // Limpa o item selecionado + setItemToDelete(null); + + // Fecha o modal + handleCancel(); + + }, [itemToDelete, fetchTTBReconhecimentosTipos, handleCancel]); + + /** + * Busca inicial dos dados + */ useEffect(() => { - fetchReconhecimentosTipos() - }, []) + fetchTTBReconhecimentosTipos(); + }, []); - const form = useForm({ - resolver: zodResolver(TTBReconhecimentoTipoSchema), - defaultValues: { - tb_reconhecimentotipo_id: 0, - descricao: "", - situacao: "I", - }, - }) - - async function onSubmit(values: FormValues) { - const saved = await saveReconhecimentoTipo(values); // aguarda o retorno - addReconhecimentoTipo(saved); // adiciona diretamente na lista - - // reinicia o formulário para o estado original - form.reset(); + /** + * Tela de loading enquanto carrega os dados + */ + if (!tTBReconhecimentosTipos) { + return ; } - async function openForm(values: FormValues) { - setEditingItem(values); // guarda os valores do item - setDialogOpen(true); // abre o Dialog - form.reset({ - tb_reconhecimentotipo_id: values.tb_reconhecimentotipo_id, - descricao: values.descricao, - situacao: values.situacao, - }); - - } - - async function handlingConfirmation(visibility : boolean, item: null|any) { - setAlertDialogOpen(visibility); - setItem(item); - } - - const emptyForm: FormValues = { - tb_reconhecimentotipo_id: 0, - descricao: "", - situacao: "I", // padrão Inativo - }; - - if (!reconhecimentosTipos) return - return ( -
-
-
-
- Tipos de Reconhecimentos -
-
+ {/* Cabeçalho */} +
+
+

+ Reconhecimentos +

+

Gerenciamento de tipos de reconhecimentos -

-
- -
- +

+
+ {/* Tabela de andamentos */} + + + + + + + {/* Modal de confirmação */} + + + {/* Formulário de criação/edição */} +
- ) -} + ); +} \ No newline at end of file diff --git a/src/app/(protected)/(cadastros)/cadastros/_components/t_tb_reconhecimentotipo/TTBReconhecimentoTipoAlert.tsx b/src/app/(protected)/(cadastros)/cadastros/_components/t_tb_reconhecimentotipo/TTBReconhecimentoTipoAlert.tsx deleted file mode 100644 index a95e312..0000000 --- a/src/app/(protected)/(cadastros)/cadastros/_components/t_tb_reconhecimentotipo/TTBReconhecimentoTipoAlert.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle } from "@/components/ui/alert-dialog"; - -export default function TTBReconhecimentoTipoAlert() { - - return ( - - - - - #{item?.tb_reconhecimentotipo_id} - {item?.descricao} - - - Esta ação não pode ser desfeita. Isso excluirá permanentemente o registro e seus dados dos nossos servidores. - - - - handlingConfirmation(false, null)} className="cursor-pointer"> - Cancelar - - - Continuar - - - - - ); - -} \ No newline at end of file diff --git a/src/app/(protected)/(cadastros)/cadastros/_components/t_tb_reconhecimentotipo/TTBReconhecimentoTipoForm.tsx b/src/app/(protected)/(cadastros)/cadastros/_components/t_tb_reconhecimentotipo/TTBReconhecimentoTipoForm.tsx index ffa8e5e..3eb8bf6 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_components/t_tb_reconhecimentotipo/TTBReconhecimentoTipoForm.tsx +++ b/src/app/(protected)/(cadastros)/cadastros/_components/t_tb_reconhecimentotipo/TTBReconhecimentoTipoForm.tsx @@ -1,74 +1,126 @@ +'use client'; + +import z from "zod"; +import { useEffect } from "react"; +import { useForm, Controller } from "react-hook-form"; +import { zodResolver } from "@hookform/resolvers/zod"; + import { Button } from "@/components/ui/button"; import { Checkbox } from "@/components/ui/checkbox"; -import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle } from "@/components/ui/dialog"; -import { FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form"; +import { + Dialog, + DialogClose, + DialogContent, + DialogDescription, + DialogFooter, + DialogHeader, + DialogTitle +} from "@/components/ui/dialog"; +import { + Form, + FormControl, + FormField, + FormItem, + FormLabel, + FormMessage +} from "@/components/ui/form"; +import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; -import { Controller, Form } from "react-hook-form"; -export default function TTBReconhecimentoTipoForm() { +import { TTBReconhecimentoTipoSchema } from "../../_schemas/TTBReconhecimentoTipoSchema"; + +type FormValues = z.infer; + +interface TTBReconhecimentoTipoFormProps { + isOpen: boolean; + data: FormValues | null; + onClose: (item: null, isFormStatus: boolean) => void; + onSave: (data: FormValues) => void; +} + +export default function TTBReconhecimentoTipoFormProps({ isOpen, data, onClose, onSave }: TTBReconhecimentoTipoFormProps) { + // Inicializa o react-hook-form com schema zod + const form = useForm({ + resolver: zodResolver(TTBReconhecimentoTipoSchema), + defaultValues: { + tb_reconhecimentotipo_id: 0, + descricao: "", + situacao: "A", + }, + }); + + // Atualiza o formulário quando recebe dados para edição + useEffect(() => { + if (data) form.reset(data); + }, [data, form]); return ( - - {/* Formulário dentro do Dialog */} -
- - - - - - Tipos de Reconhecimentos - - Tipos de reconhecimentos são usados na tela de balcão - - - ( - - Descrição - - - - - - )} - /> + { + if (!open) onClose(null, false); + }} + > + + + + Reconhecimentos + + + Tipos de Reconhecimentos + + + + + + + {/* Descrição */} + ( + + Descrição + + + + + + )} + /> + + {/* Situação */} + (
- ( - field.onChange(checked ? "A" : "I")} - /> - )} + field.onChange(checked ? "A" : "I")} /> - +
- - - - - - - - - -
- - + )} + /> + + {/* Rodapé do Dialog */} + + + + + + + + {/* Campo oculto */} + + + +
); - -} \ No newline at end of file +} diff --git a/src/app/(protected)/(cadastros)/cadastros/_components/t_tb_reconhecimentotipo/TTBReconhecimentoTipoTable.tsx b/src/app/(protected)/(cadastros)/cadastros/_components/t_tb_reconhecimentotipo/TTBReconhecimentoTipoTable.tsx index 72ce875..d8e1087 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_components/t_tb_reconhecimentotipo/TTBReconhecimentoTipoTable.tsx +++ b/src/app/(protected)/(cadastros)/cadastros/_components/t_tb_reconhecimentotipo/TTBReconhecimentoTipoTable.tsx @@ -1,85 +1,124 @@ +'use client'; + import { Button } from "@/components/ui/button"; -import { Card, CardContent } from "@/components/ui/card"; -import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger } from "@/components/ui/dropdown-menu"; -import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table"; -import { EllipsisIcon, PencilIcon, Trash2 } from "lucide-react"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuGroup, + DropdownMenuItem, + DropdownMenuSeparator, + DropdownMenuTrigger +} from "@/components/ui/dropdown-menu"; +import { + Table, + TableBody, + TableCell, + TableHead, + TableHeader, + TableRow +} from "@/components/ui/table"; + +import { EllipsisIcon, PencilIcon, Trash2Icon } from "lucide-react"; import TTBReconhecimentoTipoInterface from "../../_interfaces/TTBReconhecimentoTipoInterface"; -interface Props { - data: TTBReconhecimentoTipoInterface, - onEdit: (item: TTBReconhecimentoTipoInterface) => void, - onDelete: (item: TTBReconhecimentoTipoInterface) => void, +interface TTBReconhecimentoTipoTableProps { + data: TTBReconhecimentoTipoInterface[]; + onEdit: (item: TTBReconhecimentoTipoInterface, isEditingFormStatus: boolean) => void; + onDelete: (item: TTBReconhecimentoTipoInterface, isEditingFormStatus: boolean) => void; } -export default function TTBReconhecimentoTipoTable() { +/** + * Renderiza o badge de situação + */ +function StatusBadge({ situacao }: { situacao: string }) { + const isActive = situacao === "A"; + + const baseClasses = + "text-xs font-medium px-2.5 py-0.5 rounded-sm me-2"; + + const activeClasses = + "bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-300"; + + const inactiveClasses = + "bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-300"; return ( - - - - - - - # - - - Situação - - - Descrição - - - - - - - {reconhecimentosTipos.map( - (item: ITTTBReconhecimentoTipo) => ( - - - {item.tb_reconhecimentotipo_id} - - - {item.situacao === 'A' ? ( - - Ativo - - ) : ( - - Inativo - - )} - - - {item.descricao} - - - - - - - - - openForm(item)}> - Editar - - - handlingConfirmation(true, item)}> - Remover - - - - - - - ) - )} - -
-
-
+ + {isActive ? "Ativo" : "Inativo"} + ); +} -} \ No newline at end of file +export default function TTBReconhecimentoTipoTable({ + data, + onEdit, + onDelete +}: TTBReconhecimentoTipoTableProps) { + return ( + + + + # + Situação + Descrição + Ações + + + + + {data.map((item) => ( + + + {item.tb_reconhecimentotipo_id} + + + + + + + {item.descricao} + + + + + + + + + + onEdit(item, true)} + > + + Editar + + + + + onDelete(item, true)} + > + + Remover + + + + + + + ))} + +
+ ); +} diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoDeleteData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoDeleteData.ts new file mode 100644 index 0000000..5f279f9 --- /dev/null +++ b/src/app/(protected)/(cadastros)/cadastros/_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoDeleteData.ts @@ -0,0 +1,16 @@ +import API from "@/services/api/Api"; +import TTBReconhecimentoTipoInterface from "../../_interfaces/TTBReconhecimentoTipoInterface"; +import { Methods } from "@/services/api/enums/ApiMethodEnum"; + +export default async function TTBReconhecimentoTipoDeleteData(data: TTBReconhecimentoTipoInterface) { + + const api = new API(); + + const response = await api.send({ + method: Methods.DELETE, + endpoint: `administrativo/t_tb_reconhecimentotipo/${data.tb_reconhecimentotipo_id}` + }); + + return response; + +} \ No newline at end of file diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoIndexData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoIndexData.ts index 869a90a..7d7995e 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoIndexData.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoIndexData.ts @@ -5,21 +5,13 @@ import { Methods } from "@/services/api/enums/ApiMethodEnum"; export default async function TTBReconhecimentoTipoIndexData() { - // const api = new API(); + const api = new API(); - // const response = await api.send({ - // 'method': Methods.GET, - // 'endpoint': `cadastros/reconhecimentos` - // }); - - // return response; - - return Promise.resolve({ - data: [ - { tb_reconhecimentotipo_id: 1, descricao: 'SEMELHANÇA', situacao: 'A' }, - { tb_reconhecimentotipo_id: 2, descricao: 'VERDADEIRO', situacao: 'A' }, - { tb_reconhecimentotipo_id: 3, descricao: 'ABONO', situacao: 'A' } - ] + const response = await api.send({ + method: Methods.GET, + endpoint: `administrativo/t_tb_reconhecimentotipo` }); + return response; + } \ No newline at end of file diff --git a/src/app/(protected)/(cadastros)/cadastros/_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoSaveData.ts b/src/app/(protected)/(cadastros)/cadastros/_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoSaveData.ts index daf5964..e045e65 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoSaveData.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoSaveData.ts @@ -1,14 +1,17 @@ -import { faker } from "@faker-js/faker" +import API from "@/services/api/Api"; +import { Methods } from "@/services/api/enums/ApiMethodEnum"; +import TTBReconhecimentoTipoInterface from "../../_interfaces/TTBReconhecimentoTipoInterface"; -export default async function TTBReconhecimentoTipoSaveData(reconhecimentoTipo: any) { +export default async function TTBReconhecimentoTipoSaveData(data: TTBReconhecimentoTipoInterface) { - return Promise.resolve({ - message: 'Dados salvos com sucesso', - data: { - tb_reconhecimentotipo_id: faker.number.int({ min: 1, max: 1000 }), - descricao: reconhecimentoTipo.tb_reconhecimentotipo_id + reconhecimentoTipo.descricao, - situacao: reconhecimentoTipo.situacao - }, + const api = new API(); + + const response = await api.send({ + method: data.tb_reconhecimentotipo_id ? Methods.PUT : Methods.POST, + endpoint: `administrativo/t_tb_reconhecimentotipo/${data.tb_reconhecimentotipo_id ? data.tb_reconhecimentotipo_id : ''}`, + body: data }); + return response; + } \ No newline at end of file diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoDeleteHook.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoDeleteHook.ts new file mode 100644 index 0000000..eb926e7 --- /dev/null +++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoDeleteHook.ts @@ -0,0 +1,19 @@ +import { useResponse } from "@/app/_response/ResponseContext" +import TTBReconhecimentoTipoInterface from "../../_interfaces/TTBReconhecimentoTipoInterface"; +import TTBReconhecimentoTipoDeleteData from "../../_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoDeleteData"; + +export const useTTBReconhecimentoTipoDeleteHook = () => { + + const { setResponse } = useResponse(); + + const deleteTTBReconhecimentoTipo = async (data: TTBReconhecimentoTipoInterface) => { + + const response = await TTBReconhecimentoTipoDeleteData(data); + + setResponse(response); + + } + + return { deleteTTBReconhecimentoTipo } + +} \ No newline at end of file diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reocnhecimentotipo/useTTBReconhecimentoTipoReadHooks.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoReadHook.ts similarity index 52% rename from src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reocnhecimentotipo/useTTBReconhecimentoTipoReadHooks.ts rename to src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoReadHook.ts index 39c2686..3f62408 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reocnhecimentotipo/useTTBReconhecimentoTipoReadHooks.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoReadHook.ts @@ -5,13 +5,13 @@ import { useResponse } from "@/app/_response/ResponseContext" import { useState } from "react"; import TTBReconhecimentoTipoIndexData from '../../_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoIndexData'; -export const useTTBReconhecimentoTipoReadHooks = () => { +export const useTTBReconhecimentoTipoReadHook = () => { const { setResponse } = useResponse(); - const [reconhecimentosTipos, setReconhecimenntosTipos] = useState(); + const [tTBReconhecimentosTipos, setReconhecimenntosTipos] = useState(); - const fetchReconhecimentosTipos = async () => { + const fetchTTBReconhecimentosTipos = async () => { const response = await TTBReconhecimentoTipoIndexData(); @@ -21,12 +21,6 @@ export const useTTBReconhecimentoTipoReadHooks = () => { } - function addReconhecimentoTipo(reconhecimentoTipo: ITTTBReconhecimentoTipo) { - - setReconhecimenntosTipos(prev => [...(prev || []), reconhecimentoTipo]); - - } - - return { reconhecimentosTipos, fetchReconhecimentosTipos, addReconhecimentoTipo } + return { tTBReconhecimentosTipos, fetchTTBReconhecimentosTipos } } \ No newline at end of file diff --git a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reocnhecimentotipo/useTTBReconhecimentoTipoSaveHooks.ts b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoSaveHook.ts similarity index 60% rename from src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reocnhecimentotipo/useTTBReconhecimentoTipoSaveHooks.ts rename to src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoSaveHook.ts index 820b846..48c60dd 100644 --- a/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reocnhecimentotipo/useTTBReconhecimentoTipoSaveHooks.ts +++ b/src/app/(protected)/(cadastros)/cadastros/_hooks/t_tb_reconhecimentotipo/useTTBReconhecimentoTipoSaveHook.ts @@ -5,17 +5,17 @@ import { useState } from "react"; import ITTTBReconhecimentoTipo from '../../_interfaces/TTBReconhecimentoTipoInterface' import TTBReconhecimentoTipoSaveData from "../../_data/TTBReconhecimentoTipo/TTBReconhecimentoTipoSaveData"; -export const useTTBReconhecimentoTipoSaveHooks = () => { +export const useTTBReconhecimentoTipoSaveHook = () => { const { setResponse } = useResponse(); - const [reconhecimentoTipo, setReconhcimentoTipo] = useState(); + const [tTBReconhecimentoTipo, setTTBReconhcimentoTipo] = useState(); - const saveReconhecimentoTipo = async (reconhecimentoTipo: ITTTBReconhecimentoTipo) => { + const saveTTBReconhecimentoTipo = async (reconhecimentoTipo: ITTTBReconhecimentoTipo) => { const response = await TTBReconhecimentoTipoSaveData(reconhecimentoTipo); - setReconhcimentoTipo(response.data); + saveTTBReconhecimentoTipo(response.data); setResponse(response); @@ -24,6 +24,6 @@ export const useTTBReconhecimentoTipoSaveHooks = () => { } - return { reconhecimentoTipo, saveReconhecimentoTipo } + return { tTBReconhecimentoTipo, saveTTBReconhecimentoTipo } } \ No newline at end of file