From b5e0d5fc8ac558a4a1120e1aa8b6e85b7bdf0cff Mon Sep 17 00:00:00 2001 From: 230419 <230419@epvc.pt> Date: Tue, 5 May 2026 17:12:08 +0100 Subject: [PATCH] email de mudar senha --- src/App.jsx | 54 ++++++++++++++++++++++++++++++++++++++++++++++++- src/lib/i18n.js | 48 ++++++++++++++++++++++++++++++------------- 2 files changed, 87 insertions(+), 15 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index dd552df..d4a4db5 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -12,7 +12,7 @@ import { import { signInWithEmailAndPassword, createUserWithEmailAndPassword, - onAuthStateChanged, signOut, signInWithCustomToken + onAuthStateChanged, signOut, signInWithCustomToken, sendPasswordResetEmail } from 'firebase/auth'; import { collection, doc, onSnapshot, addDoc, updateDoc, @@ -39,6 +39,8 @@ export default function App() { const [sidebarOpen, setSidebarOpen] = useState(true); const [authMode, setAuthMode] = useState('login'); const [authError, setAuthError] = useState(''); + const [showForgotPasswordModal, setShowForgotPasswordModal] = useState(false); + const [forgotPasswordEmail, setForgotPasswordEmail] = useState(''); const [categoryFilter, setCategoryFilter] = useState('Todos'); const [colorFilter, setColorFilter] = useState(''); const [ageFilter, setAgeFilter] = useState('any'); @@ -723,6 +725,30 @@ export default function App() { } finally { setLoading(false); } }; + const handleForgotPassword = () => { + setAuthError(''); + setShowForgotPasswordModal(true); + }; + + const handleForgotPasswordSubmit = async (e) => { + e.preventDefault(); + const email = forgotPasswordEmail; + if (!email) return; + setLoading(true); + setAuthError(''); + try { + await sendPasswordResetEmail(auth, email); + setShowForgotPasswordModal(false); + setForgotPasswordEmail(''); + setToastMessage(t('passwordResetSent') || "E-mail de recuperação enviado! Verifique a sua caixa de entrada."); + } catch (err) { + console.error(err); + setAuthError(err.message); + } finally { + setLoading(false); + } + }; + const emptyTrashPermanently = async () => { @@ -888,6 +914,13 @@ export default function App() {