Skip to content

Commit ff06917

Browse files
committed
1.5 Re-factor a bit more for good
1 parent 86214db commit ff06917

2 files changed

Lines changed: 7 additions & 5 deletions

File tree

src/lib/utils.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
import { useState } from 'react'
22

3-
export function useFormFields<T>(initialValues: T): [T, (event: React.ChangeEvent<HTMLInputElement>) => void] {
3+
export function useFormFields<T>(initialValues: T): [T, (event: React.ChangeEvent<HTMLInputElement>) => void, () => void] {
44
const [values, setValues] = useState<T>(initialValues)
55
const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {
66
event.persist();
77
const { target } = event;
88
const { name, value } = target;
99
setValues({ ...values, [name]: value })
1010
}
11-
return [ values, handleChange]
11+
const resetForm = () => setValues(initialValues)
12+
return [ values, handleChange, resetForm ]
1213
}

src/pages/index.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,13 @@ const IndexPage: NextPage<NextAppPageProps> = ({}) => {
2323
const { loading, signIn, signUp } = useAuth()
2424
// Now since we have our form ready, what we're gonna need for signing up our users
2525
// 1. let users provide email and password
26-
const [ values, handleChange ] = useFormFields<SignUpFieldProps>(FORM_VALUES)
26+
const [ values, handleChange, resetFormFields ] = useFormFields<SignUpFieldProps>(FORM_VALUES)
2727
// 2. send the provided details to Supabase
2828

29-
const handleSumbit = (event: React.FormEvent) => {
29+
const handleSumbit = async (event: React.FormEvent) => {
3030
event.preventDefault()
31-
isSignIn ? signIn(values) : signUp(values)
31+
isSignIn ? await signIn(values) : await signUp(values)
32+
resetFormFields()
3233
}
3334

3435
return (

0 commit comments

Comments
 (0)