saleor-dashboard/src/auth/views/ResetPassword.tsx

49 lines
1.5 KiB
TypeScript
Raw Normal View History

2019-09-02 19:23:37 +00:00
import React from "react";
import urlJoin from "url-join";
2019-09-03 13:42:15 +00:00
import { APP_MOUNT_URI } from "@saleor/config";
2019-09-02 19:23:37 +00:00
import useNavigator from "@saleor/hooks/useNavigator";
import ResetPasswordPage, {
ResetPasswordPageFormData
} from "../components/ResetPasswordPage";
import { RequestPasswordResetMutation } from "../mutations";
import { RequestPasswordReset } from "../types/RequestPasswordReset";
import { newPasswordUrl, passwordResetSuccessUrl } from "../urls";
const ResetPasswordView: React.FC = () => {
const navigate = useNavigator();
const handleRequestPasswordReset = (data: RequestPasswordReset) => {
if (data.requestPasswordReset.errors.length === 0) {
navigate(passwordResetSuccessUrl);
}
};
return (
<RequestPasswordResetMutation onCompleted={handleRequestPasswordReset}>
{(requestPasswordReset, requestPasswordResetOpts) => {
const handleSubmit = (data: ResetPasswordPageFormData) =>
requestPasswordReset({
variables: {
email: data.email,
2019-09-03 13:42:15 +00:00
redirectUrl: urlJoin(
window.location.origin,
APP_MOUNT_URI,
newPasswordUrl().replace(/\?/, "")
)
2019-09-02 19:23:37 +00:00
}
});
return (
<ResetPasswordPage
disabled={requestPasswordResetOpts.loading}
onSubmit={handleSubmit}
/>
);
}}
</RequestPasswordResetMutation>
);
};
ResetPasswordView.displayName = "ResetPasswordView";
export default ResetPasswordView;