import TextInput from "./TextInput"; import FieldWrapper from "./FieldWrapper"; import {InputHTMLAttributes, useState} from "react"; import {__} from "@wordpress/i18n"; // @ts-ignore import {get_website_url} from "@/utils/lib.js"; // @ts-ignore import useOnboardingStore from "@/store/useOnboardingStore"; import Icon from "../../utils/Icon"; import { SettingField } from "../../types"; // Import SettingField interface PasswordProps extends Omit, 'onChange' | 'type'> { field: SettingField; onChange: (value: string) => void; value: string; fieldStatus?: (id: string, success: boolean) => void; } const Password = ({ field, onChange, value, fieldStatus, ...props }: PasswordProps) => { const [showPassword, setShowPassword] = useState(false); const { onboardingData, responseCode, responseMessage, } = useOnboardingStore(); // Check field.show_forgot_password, defaulting to true if undefined const showForgotPassword = field.show_forgot_password !== undefined ? field.show_forgot_password : true; const forgot_password = get_website_url(onboardingData.forgot_password_url, { utm_source: onboardingData.prefix + '_onboarding', utm_content: 'forgot-password' }); const handleChange = (e) => { // Clear auth error on new input if (responseCode === "BADAUTHPWD") { useOnboardingStore.setState({ responseCode: null, responseMessage: null }); } onChange(e.target.value); }; const isBadAuthError = responseCode === "BADAUTHPWD" && responseMessage; return ( <>
{/* Toggle Eye Icon */}
{showForgotPassword && ( // Conditional rendering for the block
{__("Forgot your password?", "ONBOARDING_WIZARD_TEXT_DOMAIN") } {isBadAuthError && (

{responseMessage}

)}
)}
) }; export default Password;