Files
cadhub/app/web/src/pages/UpdatePasswordPage/UpdatePasswordPage.js
Frank Johnson 74a5f9bf2c Linting fixes
2021-09-12 12:42:22 -04:00

72 lines
2.2 KiB
JavaScript

import { routes, navigate } from '@redwoodjs/router'
import { useAuth } from '@redwoodjs/auth'
import { Form, Submit } from '@redwoodjs/forms'
import { toast } from '@redwoodjs/web/toast'
import InputTextForm from 'src/components/InputTextForm'
import MainLayout from 'src/layouts/MainLayout'
import Seo from 'src/components/Seo/Seo'
const UpdatePasswordPage = () => {
const { client } = useAuth()
const onSubmit = ({ password, confirm }) => {
if (password !== confirm || !password) {
toast.error("Passwords don't match, try again")
return
}
client
.currentUser()
.update({ password })
.then(() => {
toast.success('Password updated')
setTimeout(() => {
navigate(routes.home())
}, 500)
})
.catch(() => {
toast.error('Problem updating password')
})
}
return (
<MainLayout>
<Seo title="Update Password" description="Update Password" lang="en-US" />
<section className="max-w-md mx-auto mt-20">
<h2 className="text-xl text-ch-gray-300 pb-4">Reset Password</h2>
<Form onSubmit={onSubmit}>
<div
className="grid items-center gap-2"
style={{ gridTemplateColumns: 'auto 1fr' }}
>
<span className="capitalize text-ch-gray-300 text-sm">
password
</span>
<InputTextForm
className="text-xl"
name="password"
type="password"
validation={{
required: true,
}}
/>
<span className="capitalize text-ch-gray-300 text-sm">confirm</span>
<InputTextForm
className="text-xl"
name="confirm"
type="password"
validation={{
required: true,
}}
/>
<Submit className="col-start-2 mt-4 bg-ch-purple-400 bg-opacity-50 hover:bg-opacity-80 text-ch-gray-300 flex h-10 flex-shrink-0 justify-center items-center px-4 rounded">
Update
</Submit>
</div>
</Form>
</section>
</MainLayout>
)
}
export default UpdatePasswordPage