@@ -10,10 +10,19 @@ import { supabase } from '@/lib/supabaseClient'
10
10
export default function ResetPasswordPage ( ) {
11
11
const router = useRouter ( )
12
12
const [ newPassword , setNewPassword ] = useState ( '' )
13
+ const [ confirmPassword , setConfirmPassword ] = useState ( '' )
13
14
const [ status , setStatus ] = useState < 'idle' | 'updating' | 'updated' | 'error' > ( 'idle' )
15
+ const [ errorMessage , setErrorMessage ] = useState ( '' )
14
16
15
17
const handleSubmit = async ( e : React . FormEvent ) => {
16
18
e . preventDefault ( )
19
+ setErrorMessage ( '' )
20
+
21
+ if ( newPassword !== confirmPassword ) {
22
+ setErrorMessage ( 'Passwords do not match.' )
23
+ return
24
+ }
25
+
17
26
setStatus ( 'updating' )
18
27
19
28
// Use the access token to update the user's password
@@ -47,6 +56,19 @@ export default function ResetPasswordPage() {
47
56
required
48
57
className = "w-full p-2 border rounded"
49
58
/>
59
+ < input
60
+ type = "password"
61
+ placeholder = "Confirm Password"
62
+ value = { confirmPassword }
63
+ onChange = { ( e ) => setConfirmPassword ( e . target . value ) }
64
+ required
65
+ className = "w-full p-2 border rounded"
66
+ />
67
+ { errorMessage && (
68
+ < Alert variant = "destructive" className = "mt-2" >
69
+ < AlertDescription > { errorMessage } </ AlertDescription >
70
+ </ Alert >
71
+ ) }
50
72
< Button type = "submit" disabled = { status === 'updating' } >
51
73
{ status === 'updating' ? 'Updating...' : 'Set New Password' }
52
74
</ Button >
@@ -65,4 +87,4 @@ export default function ResetPasswordPage() {
65
87
</ Card >
66
88
</ main >
67
89
)
68
- }
90
+ }
0 commit comments