This commit is contained in:
2025-02-22 09:52:00 -03:00
parent 7b51166db8
commit bc77e892a5
11 changed files with 375 additions and 32 deletions

View File

@@ -1,4 +1,4 @@
import { useNavigate, useSearchParams, Link } from 'react-router'
import { useSearchParams, Link } from 'react-router'
import { useForm } from 'react-hook-form'
import { ErrorMessage } from '@hookform/error-message'
import { isValidCPF } from '@brazilian-utils/brazilian-utils'
@@ -6,8 +6,11 @@ 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 { useMutation } from '@tanstack/react-query'
import * as yup from 'yup'
import { encode, parse } from '../_base64state'
import axios from '~/axios'
import Password from './_password'
yup.addMethod(yup.string, 'username', function (message) {
return this.test(
@@ -29,8 +32,9 @@ export const schema = yup.object({
export default function Component() {
const [searchParams] = useSearchParams()
const state = parse(searchParams.get('state'))
if (searchParams.get('username')) {
if (state?.['cognito:sub']) {
return <Password />
}
@@ -43,9 +47,18 @@ function SignIn() {
resolver: yupResolver(schema),
})
const { mutateAsync } = useMutation({
mutationFn: async ({ username }) => {
const { data } = await axios.get(`/search/lookup/${username}`)
return data
},
})
const onSubmit = async ({ username }) => {
const data = await mutateAsync({ username })
setSearchParams((searchParams) => {
searchParams.set('username', username)
searchParams.set('state', encode(data))
return searchParams
})
}