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() {