Skip to content

Commit 28f4263

Browse files
committed
verfication setup
1 parent 0547d76 commit 28f4263

1 file changed

Lines changed: 75 additions & 0 deletions

File tree

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
import { useState } from 'react';
2+
import axios from 'axios';
3+
4+
interface FormData {
5+
email: string;
6+
otp: string;
7+
}
8+
9+
const Verification = () => {
10+
const [loading, setLoading] = useState<boolean>(false);
11+
const [formData, setFormData] = useState<FormData>({
12+
email: '',
13+
otp: ''
14+
});
15+
const [message, setMessage] = useState<string>('');
16+
const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
17+
const { name, value } = e.target;
18+
setFormData(prev => ({ ...prev, [name]: value }));
19+
};
20+
21+
const handleSubmit = async (e: React.FormEvent) => {
22+
e.preventDefault();
23+
setLoading(true);
24+
setMessage(''); // Clear previous message
25+
26+
try {
27+
const res = await axios.post('/verify', formData); // Replace with your actual endpoint
28+
setMessage(res.data.message || 'Verification successful');
29+
} catch (error: any) {
30+
setMessage(
31+
error.response?.data?.message || 'Verification failed. Please try again.'
32+
);
33+
} finally {
34+
setLoading(false);
35+
}
36+
};
37+
38+
return (
39+
<div>
40+
<form onSubmit={handleSubmit}>
41+
<div>
42+
<label>Email:</label>
43+
<input
44+
type="email"
45+
name="email"
46+
value={formData.email}
47+
onChange={handleChange}
48+
required
49+
/>
50+
</div>
51+
<div>
52+
<label>OTP:</label>
53+
<input
54+
type="text"
55+
name="otp"
56+
value={formData.otp}
57+
onChange={handleChange}
58+
required
59+
/>
60+
</div>
61+
<button type="submit" disabled={loading}>
62+
{loading ? 'Verifying...' : 'Verify'}
63+
</button>
64+
</form>
65+
66+
{message && (
67+
<p style={{ marginTop: '1rem', color: message.toLowerCase().includes('fail') ? 'red' : 'green' }}>
68+
{message}
69+
</p>
70+
)}
71+
</div>
72+
);
73+
};
74+
75+
export default Verification;

0 commit comments

Comments
 (0)