diff --git a/src/app/private/pages/esqueciSenha.tsx b/src/app/private/pages/esqueciSenha.tsx index b75e969f..57ad37c1 100644 --- a/src/app/private/pages/esqueciSenha.tsx +++ b/src/app/private/pages/esqueciSenha.tsx @@ -1,20 +1,35 @@ import React, { useState } from "react"; -import { Image, Text, View, TextInput, StyleSheet, TouchableOpacity } from "react-native"; +import { forgotPassword } from "../../services/user.service"; +import { Alert, Text, View, TextInput, StyleSheet, TouchableOpacity } from "react-native"; +import axios from 'axios'; //import BackButton from "/components/BackButton.tsx"; Não consigo achar esse caminho, preciso fazer rodar... (é o botão q volta pra outra pag) export default function EsqueciSenha() { + const API_URL = process.env.EXPO_PUBLIC_API_URL; + const API_PORT = process.env.EXPO_PUBLIC_API_USUARIO_PORT; + const BASE_URL = `${API_URL}:${API_PORT}/api/usuario/esqueci-senha`; const [email, setEmail] = useState(""); + const handleRecuperarSenha = async () => { + if (!email) { + Alert.alert("Erro", "Por favor, insira um email válido."); + return; + } + try { + const response = await forgotPassword(email); + console.log("E-mail de recuperação enviado:", response); + } catch (error) { + console.error("Erro ao solicitar recuperação de senha:", error.message); + } + }; return ( - {/* Logo */} + {/* Logo deveria estar aqui, mas não consegui encaixá-la */} - {/* Título */} Esqueceu sua senha? Calma, a GERO te ajuda!! - {/* Campo de Email */} - {/* Botão de Recuperar Senha */} - + Recuperar senha diff --git a/src/app/public/login.tsx b/src/app/public/login.tsx index b3bff392..1ff7f532 100644 --- a/src/app/public/login.tsx +++ b/src/app/public/login.tsx @@ -261,7 +261,7 @@ export default function Login() { diff --git a/src/app/services/user.service.ts b/src/app/services/user.service.ts index 03122fdb..de4821b8 100644 --- a/src/app/services/user.service.ts +++ b/src/app/services/user.service.ts @@ -26,6 +26,28 @@ export const postUser = async ( return json; }; +export const forgotPassword = async ( + email: string, +): Promise> => { + const response = await fetch(`${BASE_URL}/esqueci-senha`, { + method: "POST", + headers: { + Accept: "application/json", + "Content-Type": "application/json", + }, + body: JSON.stringify({ email }), + }); + + const json = await response.json(); + + if (response.status !== 200) { + throw new Error(json.message as string); + } + + return json; +}; + + export const updateUser = async ( id: number, body: Partial,