fix(Redirect): Corrije o redirecionamento após o login

This commit is contained in:
Keven Willian Pereira de Souza 2025-09-26 16:45:43 -03:00
parent 931fb7e158
commit de86ba1e7f
7 changed files with 24 additions and 17 deletions

View file

@ -0,0 +1,6 @@
import { z } from "zod";
export const GUsuarioLoginSchema = z.object({
login: z.string().min(1, "O campo deve ser preenchido"),
senha_api: z.string().min(1, "O campo deve ser preenchido"),
});

View file

@ -6,9 +6,8 @@ import {
import GUsuarioLoginData from "../../_data/g_usuario/GUsuarioLoginData"
import { redirect } from "next/navigation";
import { withClientErrorHandler } from "@/actions/withClientErrorHandler/withClientErrorHandler";
async function executeGUsuarioLoginService(form: any) {
export default async function GUsuarioLoginService(form: any) {
// Obtem a resposta da requisição
const response = await GUsuarioLoginData(form);
@ -36,9 +35,6 @@ async function executeGUsuarioLoginService(form: any) {
});
// Redireciona para a págian desejada
redirect("/usuarios");
redirect("/servicos");
}
// Exporta função encapsulada
export const GUsuarioLoginService = withClientErrorHandler(executeGUsuarioLoginService);
}

View file

@ -1,7 +1,8 @@
import API from "@/services/api/Api";
import { Methods } from "@/services/api/enums/ApiMethodEnum";
import GCidadeInterface from "../../_interfaces/GCidadeInterface";
export default async function GCidadeRemoveData() {
export default async function GCidadeRemoveData(data: GCidadeInterface) {
return Promise.resolve({
status: 200,

View file

@ -1,8 +1,9 @@
import API from "@/services/api/Api"; // Importa o serviço de API (ainda não utilizado aqui)
import { Methods } from "@/services/api/enums/ApiMethodEnum"; // Importa enum de métodos HTTP (também não usado neste trecho)
import GCidadeInterface from "../../_interfaces/GCidadeInterface";
// Função assíncrona responsável por salvar dados de cidades
export default async function GCidadeSaveData() {
export default async function GCidadeSaveData(data: GCidadeInterface) {
// Log para indicar que a função foi chamada
console.log("chegou");

View file

@ -10,6 +10,7 @@ export const useGCidadeRemoveHook = () => {
// Função assíncrona que remove uma cidade
const removeGCidade = async (data: GCidadeInterface) => {
// Chama a função de remoção passando os dados da cidade
const response = await GCidadeRemoveData(data);

View file

@ -124,10 +124,6 @@ const data = {
title: "Cidades",
url: "/cadastros/cidades/",
},
{
title: "Regimes/Comunhão",
url: "/cadastros/regime-comunhao/",
},
{
title: "Minuta",
url: "/cadastros/minuta/",

View file

@ -4,10 +4,9 @@ import Image from "next/image";
import { cn } from "@/lib/utils"
import { Card, CardContent } from "@/components/ui/card"
import { Input } from "@/components/ui/input"
import { GUsuarioSchema } from "@/app/(protected)/(administrativo)/_schemas/GUsuarioSchema"
import z from "zod"
import { zodResolver } from "@hookform/resolvers/zod"
import { GUsuarioLoginService } from "@/app/(protected)/(administrativo)/_services/g_usuario/GUsuarioLogin"
import GUsuarioLoginService from "@/app/(protected)/(administrativo)/_services/g_usuario/GUsuarioLogin"
import { useForm } from "react-hook-form"
import { useState } from "react"
import {
@ -20,14 +19,15 @@ import {
} from "./ui/form"
import LoadingButton from "@/app/_components/loadingButton/LoadingButton";
import { Button } from "./ui/button";
import { GUsuarioLoginSchema } from "@/app/(protected)/(administrativo)/_schemas/GUsuarioLoginSchema";
type FormValues = z.infer<typeof GUsuarioSchema>
type FormValues = z.infer<typeof GUsuarioLoginSchema>
export function LoginForm({ className, ...props }: React.ComponentProps<"div">) {
const [loading, setLoading] = useState(false);
const form = useForm<FormValues>({
resolver: zodResolver(GUsuarioSchema),
resolver: zodResolver(GUsuarioLoginSchema),
defaultValues: {
login: '',
senha_api: ''
@ -36,8 +36,14 @@ export function LoginForm({ className, ...props }: React.ComponentProps<"div">)
// onSubmit agora recebe o evento do form através do handleSubmit
const onSubmit = async (values: FormValues) => {
// Ativa o estado de loading do botão
setLoading(true);
// Realiza o login
await GUsuarioLoginService(values);
// Removo o estado de loading do botão
setLoading(false);
}