import { useNavigate, useSearchParams, Link } from 'react-router'
import { useForm } from 'react-hook-form'
import { ErrorMessage } from '@hookform/error-message'
import { isValidCPF } from '@brazilian-utils/brazilian-utils'
import { yupResolver } from '@hookform/resolvers/yup'
import { Card } from '~/layouts/auth/layout'
import { Control, Label, Input, Button, Error } from '~/components/form'
import { Heading } from '~/components/heading'
import Password from './_password'
import * as yup from 'yup'
yup.addMethod(yup.string, 'username', function (message) {
return this.test(
'username',
message,
(x) => isValidCPF(x) || yup.string().email().isValid(x),
)
})
export const schema = yup.object({
username: yup
.string()
.trim()
.lowercase()
.username('Deve ser um Email ou CPF válido')
.transform((x) => (isValidCPF(x) ? x.replace(/\D/g, '') : x))
.required('Digite um Email ou CPF'),
})
export default function Component() {
const [searchParams] = useSearchParams()
if (searchParams.get('username')) {
return
}
return
}
function SignIn() {
const [searchParams, setSearchParams] = useSearchParams()
const { handleSubmit, formState, setError, register } = useForm({
resolver: yupResolver(schema),
})
const onSubmit = async ({ username }) => {
setSearchParams((searchParams) => {
searchParams.set('username', username)
return searchParams
})
}
return (
Digite o seu email ou cpf para continuar
{/* Sign in */}
ou
)
}