mirror of
https://github.com/hanzo-apps/cms.git
synced 2026-10-30 14:47:33 +00:00
- payload -> @hanzo/cms (core), bin payload -> hanzo-cms - create-payload-app -> @hanzo/create-cms-app - @payloadcms/<x> -> @hanzo/cms-<x> across the whole dependency graph - 3545 files, 72 package.json, 4419 scoped refs, 3852 core import specifiers, 82 scss imports - MIT attribution to Payload CMS Inc. preserved (LICENSE.md, author emails) Upstream: github.com/payloadcms/payload @ v3.85.2 (MIT)
61 lines
1.1 KiB
TypeScript
61 lines
1.1 KiB
TypeScript
'use client'
|
|
|
|
import {
|
|
ConfirmPasswordField,
|
|
Form,
|
|
FormSubmit,
|
|
PasswordField,
|
|
useFormFields,
|
|
} from '@hanzo/cms-ui'
|
|
import React from 'react'
|
|
|
|
export const ClientForm: React.FC = () => {
|
|
return (
|
|
<Form
|
|
initialState={{
|
|
'confirm-password': {
|
|
initialValue: '',
|
|
valid: false,
|
|
value: '',
|
|
},
|
|
password: {
|
|
initialValue: '',
|
|
valid: false,
|
|
value: '',
|
|
},
|
|
}}
|
|
>
|
|
<CustomPassword />
|
|
<ConfirmPasswordField />
|
|
<FormSubmit>Submit</FormSubmit>
|
|
</Form>
|
|
)
|
|
}
|
|
|
|
const CustomPassword: React.FC = () => {
|
|
const confirmPassword = useFormFields(
|
|
([fields]) => (fields && fields?.['confirm-password']) || null,
|
|
)
|
|
|
|
const confirmValue = confirmPassword.value
|
|
|
|
return (
|
|
<PasswordField
|
|
autoComplete="off"
|
|
field={{
|
|
name: 'password',
|
|
label: 'Password',
|
|
required: true,
|
|
}}
|
|
path="password"
|
|
validate={(value) => {
|
|
if (value && confirmValue) {
|
|
return confirmValue === value ? true : 'Passwords must match!!!!'
|
|
}
|
|
|
|
return 'Field is required'
|
|
}}
|
|
/>
|
|
)
|
|
}
|