import React, { useEffect, useState } from 'react'; import { Form, Field } from 'react-final-form'; import { OnChange } from 'react-final-form-listeners'; import { useTranslation } from 'react-i18next'; import Button from '@mui/material/Button'; import { AuthenticationService } from 'api'; import { CheckboxField, InputField, KnownHosts } from 'components'; import { useAutoConnect } from 'hooks'; import { HostDTO, SettingDTO } from 'services'; import { APP_USER } from 'types'; import './LoginForm.css'; const LoginForm = ({ onSubmit, disableSubmitButton, onResetPassword }: LoginFormProps) => { const { t } = useTranslation(); const PASSWORD_LABEL = t('Common.label.password'); const STORED_PASSWORD_LABEL = `* ${t('LoginForm.label.savedPassword')} *`; const [host, setHost] = useState(null); const [useStoredPasswordLabel, setUseStoredPasswordLabel] = useState(false); const [autoConnect, setAutoConnect] = useAutoConnect(); const validate = values => { const errors: any = {}; if (!values.userName) { errors.userName = t('Common.validation.required'); } if (!values.selectedHost) { errors.selectedHost = t('Common.validation.required'); } return errors; } const useStoredPassword = (remember, password) => remember && host?.hashedPassword && !password; const togglePasswordLabel = (useStoredLabel) => { setUseStoredPasswordLabel(useStoredLabel); }; const handleOnSubmit = ({ userName, ...values }) => { userName = userName?.trim(); console.log(userName, values); onSubmit({ userName, ...values }); } return (
) }} ); }; interface LoginFormProps { onSubmit: any; disableSubmitButton: boolean, onResetPassword: any; } export default LoginForm;