From 26a20225f6432846ecaeee5ba7a7cc588381589b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Gustavo?= <166467972+JoaoGustavo-dev@users.noreply.github.com> Date: Thu, 16 Oct 2025 23:08:48 -0300 Subject: [PATCH] fix-magic-link-endpoint --- susconecta/app/login-admin/page.tsx | 44 +++++++++++++++++++ susconecta/app/login-paciente/page.tsx | 2 +- susconecta/app/login/page.tsx | 2 +- susconecta/lib/api.ts | 59 ++++++++++++++++++++------ 4 files changed, 93 insertions(+), 14 deletions(-) diff --git a/susconecta/app/login-admin/page.tsx b/susconecta/app/login-admin/page.tsx index 958c714..f99f365 100644 --- a/susconecta/app/login-admin/page.tsx +++ b/susconecta/app/login-admin/page.tsx @@ -3,6 +3,7 @@ import { useState } from 'react' import { useRouter } from 'next/navigation' import Link from 'next/link' import { useAuth } from '@/hooks/useAuth' +import { sendMagicLink } from '@/lib/api' import { Button } from '@/components/ui/button' import { Input } from '@/components/ui/input' import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card' @@ -12,6 +13,9 @@ import { AuthenticationError } from '@/lib/auth' export default function LoginAdminPage() { const [credentials, setCredentials] = useState({ email: '', password: '' }) const [error, setError] = useState('') + const [magicMessage, setMagicMessage] = useState('') + const [magicError, setMagicError] = useState('') + const [magicLoading, setMagicLoading] = useState(false) const [loading, setLoading] = useState(false) const router = useRouter() const { login } = useAuth() @@ -44,6 +48,27 @@ export default function LoginAdminPage() { } } + const handleSendMagicLink = async () => { + if (!credentials.email) { + setMagicError('Por favor, preencha o email antes de solicitar o magic link.') + return + } + + setMagicLoading(true) + setMagicError('') + setMagicMessage('') + + try { + const res = await sendMagicLink(credentials.email, { target: 'admin' }) + setMagicMessage(res?.message ?? 'Magic link enviado. Verifique seu email.') + } catch (err: any) { + console.error('[MAGIC-LINK ADMIN] erro ao enviar:', err) + setMagicError(err?.message ?? String(err)) + } finally { + setMagicLoading(false) + } + } + return (
@@ -108,6 +133,25 @@ export default function LoginAdminPage() { {loading ? 'Entrando...' : 'Entrar no Sistema Administrativo'} +
+
Ou entre usando um magic link (sem senha)
+ + {magicError && ( + + {magicError} + + )} + + {magicMessage && ( + + {magicMessage} + + )} + + +