import { TextField, Typography } from "@material-ui/core"; import { Button } from "@saleor/components/Button"; import Form from "@saleor/components/Form"; import FormSpacer from "@saleor/components/FormSpacer"; import { SubmitPromise } from "@saleor/hooks/useForm"; import { SetPasswordData } from "@saleor/sdk"; import getAccountErrorMessage from "@saleor/utils/errors/account"; import React from "react"; import { FormattedMessage, useIntl } from "react-intl"; import useStyles from "../styles"; export interface NewPasswordPageFormData { password: string; confirmPassword: string; } export interface NewPasswordPageProps { disabled: boolean; errors: SetPasswordData["errors"]; onSubmit: (data: NewPasswordPageFormData) => SubmitPromise; } const initialForm: NewPasswordPageFormData = { confirmPassword: "", password: "", }; const NewPasswordPage: React.FC = props => { const { disabled, errors, onSubmit } = props; const classes = useStyles(props); const intl = useIntl(); const error = getAccountErrorMessage( errors.find(err => err.field === "password"), intl, ); return (
{({ change: handleChange, data, submit: handleSubmit }) => { const passwordError = data.password !== data.confirmPassword && data.password.length > 0; return ( <> {!!error &&
{error}
} ); }} ); }; NewPasswordPage.displayName = "NewPasswordPage"; export default NewPasswordPage;