fix(Redirect): Corrije o redirecionamento após o login
This commit is contained in:
parent
931fb7e158
commit
de86ba1e7f
7 changed files with 24 additions and 17 deletions
|
|
@ -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"),
|
||||
});
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -124,10 +124,6 @@ const data = {
|
|||
title: "Cidades",
|
||||
url: "/cadastros/cidades/",
|
||||
},
|
||||
{
|
||||
title: "Regimes/Comunhão",
|
||||
url: "/cadastros/regime-comunhao/",
|
||||
},
|
||||
{
|
||||
title: "Minuta",
|
||||
url: "/cadastros/minuta/",
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue