chore: updated old formik forms to use hooks
This commit is contained in:
@@ -5,6 +5,7 @@ import FormGroup from '@/components/ui/form/FormGroup'
|
||||
import Input from '@/components/ui/form/Input'
|
||||
import TextArea from '@/components/ui/form/TextArea'
|
||||
import { useAppDispatch } from '@/hooks/useAppDispatch'
|
||||
import useManageError from '@/hooks/useManageError'
|
||||
import { addAlert } from '@/state/feedbackSlice'
|
||||
import { css } from '@/styled-system/css'
|
||||
import { teamApplicationDataSchema, type TeamApplicationData } from '@/utilities/teamApplication'
|
||||
@@ -19,6 +20,7 @@ import { useEffect, type FC } from 'react'
|
||||
|
||||
const ApplyForm: FC = () => {
|
||||
const searchParams = useSearchParams()
|
||||
const { manageError } = useManageError()
|
||||
const dispatch = useAppDispatch()
|
||||
|
||||
const formik = useFormik<TeamApplicationData>({
|
||||
@@ -46,26 +48,11 @@ const ApplyForm: FC = () => {
|
||||
severity: 'success'
|
||||
}))
|
||||
} catch (error) {
|
||||
if (error instanceof Error) {
|
||||
dispatch(addAlert({
|
||||
id: nanoid(),
|
||||
title: 'Error al enviar el formulario',
|
||||
message: error.message,
|
||||
severity: 'error'
|
||||
}))
|
||||
return
|
||||
}
|
||||
console.error('Error al enviar el formulario', error)
|
||||
dispatch(addAlert({
|
||||
id: nanoid(),
|
||||
title: 'Error al enviar el formulario',
|
||||
message: 'Error desconocido',
|
||||
severity: 'error'
|
||||
}))
|
||||
manageError(error, 'Error al enviar el formulario', 'Error desconocido al enviar el formulario', 'error')
|
||||
}
|
||||
},
|
||||
validationSchema: teamApplicationDataSchema,
|
||||
isInitialValid: false
|
||||
validateOnMount: true
|
||||
})
|
||||
useEffect(() => {
|
||||
if (searchParams.has('role')) {
|
||||
|
||||
@@ -6,10 +6,8 @@ import Input from '@/components/ui/form/Input'
|
||||
import PasswordInput from '@/components/ui/form/PasswordInput'
|
||||
import { useAppDispatch } from '@/hooks/useAppDispatch'
|
||||
import { useAppSelector } from '@/hooks/useAppSelector'
|
||||
import { addAlert } from '@/state/feedbackSlice'
|
||||
import useManageError from '@/hooks/useManageError'
|
||||
import { setCurrentUser, setSession, setStatus } from '@/state/sessionSlice'
|
||||
import { nanoid } from '@reduxjs/toolkit'
|
||||
import { AppwriteException } from 'appwrite'
|
||||
import { getCurrentUser, login } from 'entgamers-database/frontend/session'
|
||||
import { useFormik } from 'formik'
|
||||
import NextLink from 'next/link'
|
||||
@@ -29,6 +27,7 @@ const loginSchema = object({
|
||||
|
||||
const LoginForm: FC = () => {
|
||||
const dispatch = useAppDispatch()
|
||||
const { manageError } = useManageError()
|
||||
const session = useAppSelector((state) => state.session)
|
||||
const router = useRouter()
|
||||
|
||||
@@ -45,26 +44,13 @@ const LoginForm: FC = () => {
|
||||
dispatch(setSession(session))
|
||||
dispatch(setCurrentUser(user))
|
||||
} catch (error) {
|
||||
if (error instanceof AppwriteException) {
|
||||
dispatch(addAlert({
|
||||
id: nanoid(),
|
||||
message: error.message,
|
||||
title: 'Error mientras se iniciaba sesión',
|
||||
severity: 'error'
|
||||
}))
|
||||
} else {
|
||||
dispatch(addAlert({
|
||||
id: nanoid(),
|
||||
message: 'Error desconocido',
|
||||
title: 'Error mientras se iniciaba sesión',
|
||||
severity: 'error'
|
||||
}))
|
||||
}
|
||||
manageError(error, 'Error mientras se iniciaba sesión', 'Error desconocido mientras se iniciaba sesión', 'error')
|
||||
} finally {
|
||||
dispatch(setStatus('idle'))
|
||||
}
|
||||
},
|
||||
validationSchema: loginSchema
|
||||
validationSchema: loginSchema,
|
||||
validateOnMount: true
|
||||
})
|
||||
|
||||
useEffect(() => {
|
||||
|
||||
@@ -4,9 +4,9 @@ import Typography from '@/components/ui/Typography'
|
||||
import FormGroup from '@/components/ui/form/FormGroup'
|
||||
import Input from '@/components/ui/form/Input'
|
||||
import { useAppDispatch } from '@/hooks/useAppDispatch'
|
||||
import useManageError from '@/hooks/useManageError'
|
||||
import { addAlert } from '@/state/feedbackSlice'
|
||||
import { nanoid } from '@reduxjs/toolkit'
|
||||
import { AppwriteException } from 'appwrite'
|
||||
import { createPasswordRecovery } from 'entgamers-database/frontend/session'
|
||||
import { useFormik } from 'formik'
|
||||
import { type FC } from 'react'
|
||||
@@ -21,6 +21,7 @@ const recoverPasswordSchema = object({
|
||||
})
|
||||
|
||||
const CreateRecoverPasswordForm: FC = () => {
|
||||
const { manageError } = useManageError()
|
||||
const dispatch = useAppDispatch()
|
||||
|
||||
const formik = useFormik<RecoverPasswordData>({
|
||||
@@ -38,25 +39,11 @@ const CreateRecoverPasswordForm: FC = () => {
|
||||
severity: 'success'
|
||||
}))
|
||||
} catch (error) {
|
||||
if (error instanceof AppwriteException) {
|
||||
dispatch(addAlert({
|
||||
id: nanoid(),
|
||||
message: error.message,
|
||||
title: 'Error mientras se registraba',
|
||||
severity: 'error'
|
||||
}))
|
||||
} else {
|
||||
dispatch(addAlert({
|
||||
id: nanoid(),
|
||||
message: 'Error desconocido',
|
||||
title: 'Error mientras se solicitaba la recuperación de contraseña',
|
||||
severity: 'error'
|
||||
}))
|
||||
}
|
||||
manageError(error, 'Error mientras se registraba', 'Error desconocido mientras se registraba', 'error')
|
||||
}
|
||||
},
|
||||
validationSchema: recoverPasswordSchema,
|
||||
isInitialValid: false
|
||||
validateOnMount: true
|
||||
})
|
||||
return (
|
||||
<form
|
||||
|
||||
@@ -3,9 +3,9 @@ import Typography from '@/components/ui/Typography'
|
||||
import FormGroup from '@/components/ui/form/FormGroup'
|
||||
import PasswordInput from '@/components/ui/form/PasswordInput'
|
||||
import { useAppDispatch } from '@/hooks/useAppDispatch'
|
||||
import useManageError from '@/hooks/useManageError'
|
||||
import { addAlert } from '@/state/feedbackSlice'
|
||||
import { nanoid } from '@reduxjs/toolkit'
|
||||
import { AppwriteException } from 'appwrite'
|
||||
import { updatePasswordRecovery } from 'entgamers-database/frontend/session'
|
||||
import { useFormik } from 'formik'
|
||||
import { useRouter } from 'next/navigation'
|
||||
@@ -34,6 +34,7 @@ const updateRecoverPasswordSchema = object({
|
||||
|
||||
const UpdateRecoverPasswordForm: FC<UpdateRecoverPasswordFormProps> = (props) => {
|
||||
const dispatch = useAppDispatch()
|
||||
const { manageError } = useManageError()
|
||||
const router = useRouter()
|
||||
|
||||
const formik = useFormik<UpdateRecoverPasswordData>({
|
||||
@@ -54,25 +55,11 @@ const UpdateRecoverPasswordForm: FC<UpdateRecoverPasswordFormProps> = (props) =>
|
||||
}))
|
||||
router.push('/login')
|
||||
} catch (error) {
|
||||
if (error instanceof AppwriteException) {
|
||||
dispatch(addAlert({
|
||||
id: nanoid(),
|
||||
message: error.message,
|
||||
title: 'Error mientras se registraba',
|
||||
severity: 'error'
|
||||
}))
|
||||
} else {
|
||||
dispatch(addAlert({
|
||||
id: nanoid(),
|
||||
message: 'Error desconocido',
|
||||
title: 'Error mientras se solicitaba la recuperación de contraseña',
|
||||
severity: 'error'
|
||||
}))
|
||||
}
|
||||
manageError(error, 'Error al recuperar contraseña', 'Error desconocido mientras se solicitaba la recuperación de contraseña', 'error')
|
||||
}
|
||||
},
|
||||
validationSchema: updateRecoverPasswordSchema,
|
||||
isInitialValid: false
|
||||
validateOnMount: true
|
||||
})
|
||||
return (
|
||||
<form
|
||||
|
||||
@@ -5,9 +5,9 @@ import FormGroup from '@/components/ui/form/FormGroup'
|
||||
import Input from '@/components/ui/form/Input'
|
||||
import PasswordInput from '@/components/ui/form/PasswordInput'
|
||||
import { useAppDispatch } from '@/hooks/useAppDispatch'
|
||||
import useManageError from '@/hooks/useManageError'
|
||||
import { addAlert } from '@/state/feedbackSlice'
|
||||
import { nanoid } from '@reduxjs/toolkit'
|
||||
import { AppwriteException } from 'appwrite'
|
||||
import { register } from 'entgamers-database/frontend/session'
|
||||
import { useFormik } from 'formik'
|
||||
import { type FC } from 'react'
|
||||
@@ -32,6 +32,7 @@ const RegisterSchema = object({
|
||||
|
||||
const RegisterForm: FC = () => {
|
||||
const dispatch = useAppDispatch()
|
||||
const { manageError } = useManageError()
|
||||
|
||||
const formik = useFormik<RegisterData>({
|
||||
initialValues: {
|
||||
@@ -50,24 +51,11 @@ const RegisterForm: FC = () => {
|
||||
}))
|
||||
formik.resetForm()
|
||||
} catch (error) {
|
||||
if (error instanceof AppwriteException) {
|
||||
dispatch(addAlert({
|
||||
id: nanoid(),
|
||||
message: error.message,
|
||||
title: 'Error mientras se registraba',
|
||||
severity: 'error'
|
||||
}))
|
||||
} else {
|
||||
dispatch(addAlert({
|
||||
id: nanoid(),
|
||||
message: 'Error desconocido',
|
||||
title: 'Error mientras se registraba',
|
||||
severity: 'error'
|
||||
}))
|
||||
}
|
||||
manageError(error, 'Error mientras se registraba', 'Error desconocido mientras se registraba', 'error')
|
||||
}
|
||||
},
|
||||
validationSchema: RegisterSchema
|
||||
validationSchema: RegisterSchema,
|
||||
validateOnMount: true
|
||||
})
|
||||
|
||||
return (
|
||||
|
||||
Reference in New Issue
Block a user