// src/ui/pages/Settings/ChangePasswordModal.tsx import React, { useState } from "react"; import { Eye, EyeOff } from "lucide-react"; interface ChangePasswordModalProps { isOpen: boolean; onClose: () => void; } const ChangePasswordModal: React.FC = ({ isOpen, onClose, }) => { const [oldPassword, setOldPassword] = useState(""); const [newPassword, setNewPassword] = useState(""); const [confirmPassword, setConfirmPassword] = useState(""); const [loading, setLoading] = useState(false); const [showPassword, setShowPassword] = useState(false); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); if (newPassword !== confirmPassword) { alert("New passwords do not match!"); return; } setLoading(true); try { const payload = { oldPassword, password: newPassword, cPassword: confirmPassword, }; // 🔗 Call the Electron bridge function const response = await window.electron.changePassword(payload); if (response.success) { alert("Password changed successfully!"); onClose(); } else { alert(response.message || "Failed to change password."); } } catch (error) { console.error("Password change error:", error); alert("Error changing password."); } finally { setLoading(false); } }; if (!isOpen) return null; return (

Change Password

{/* Old Password */}
setOldPassword(e.target.value)} required />
{/* New Password */}
setNewPassword(e.target.value)} required />
{/* Confirm Password */}
setConfirmPassword(e.target.value)} required />
); }; export default ChangePasswordModal;