auth: evitar loop login<->dashboard para sessão de máquina\n\n- Login direciona máquina para portal (ou dashboard se manager)\n- Middleware redireciona máquina colaborador do dashboard para /portal/tickets\n- Middleware evita mostrar login quando já autenticado como máquina

This commit is contained in:
Esdras Renan 2025-10-16 16:09:49 -03:00
parent f2e25dfe4d
commit 05ffdf7876
2 changed files with 29 additions and 1 deletions

View file

@ -25,7 +25,17 @@ export function LoginPageClient() {
useEffect(() => {
if (isPending) return
if (!session?.user) return
const destination = callbackUrl ?? "/dashboard"
const role = (session.user.role ?? "").toLowerCase()
const persona = (session.user as any).machinePersona
? String((session.user as any).machinePersona).toLowerCase()
: null
const defaultDest =
role === "machine"
? persona === "manager"
? "/dashboard"
: "/portal/tickets"
: "/dashboard"
const destination = callbackUrl ?? defaultDest
router.replace(destination)
}, [callbackUrl, isPending, router, session?.user])