1
+ import { createUserWithEmailAndPassword } from "firebase/auth" ;
2
+ import { useState } from "react" ;
3
+ import { auth } from "./firebase" ;
4
+ import { setDoc , doc } from "firebase/firestore" ;
5
+ import { toast } from "react-toastify" ;
6
+ import Navbar from "../Components/Navbar" ;
7
+
8
+ function Register ( ) {
9
+ const [ email , setEmail ] = useState ( "" ) ;
10
+ const [ password , setPassword ] = useState ( "" ) ;
11
+ const [ fname , setFname ] = useState ( "" ) ;
12
+ const [ lname , setLname ] = useState ( "" ) ;
13
+
14
+ const handleRegister = async ( e ) => {
15
+ e . preventDefault ( ) ;
16
+ try {
17
+ await createUserWithEmailAndPassword ( auth , email , password ) ;
18
+ const user = auth . currentUser ;
19
+ console . log ( user ) ;
20
+ // if (user) {
21
+ // await setDoc(doc(db, "Users", user.uid), {
22
+ // email: user.email,
23
+ // firstName: fname,
24
+ // lastName: lname,
25
+ // photo:""
26
+ // });
27
+ // }
28
+ console . log ( "User Registered Successfully!!" ) ;
29
+ toast . success ( "User Registered Successfully!!" , {
30
+ position : "top-center" ,
31
+ } ) ;
32
+ } catch ( error ) {
33
+ console . log ( error . message ) ;
34
+ toast . error ( error . message , {
35
+ position : "bottom-center" ,
36
+ } ) ;
37
+ }
38
+ } ;
39
+
40
+ return (
41
+ < >
42
+ < Navbar > </ Navbar >
43
+ < form onSubmit = { handleRegister } className = "container mt-5 w-25" >
44
+ < h3 className = "text-center mb-2" > Sign Up</ h3 >
45
+
46
+ < div className = "mb-3" >
47
+ < label > First name</ label >
48
+ < input
49
+ type = "text"
50
+ className = "form-control"
51
+ placeholder = "First name"
52
+ onChange = { ( e ) => setFname ( e . target . value ) }
53
+ required
54
+ />
55
+ </ div >
56
+
57
+ < div className = "mb-3" >
58
+ < label > Last name</ label >
59
+ < input
60
+ type = "text"
61
+ className = "form-control"
62
+ placeholder = "Last name"
63
+ onChange = { ( e ) => setLname ( e . target . value ) }
64
+ />
65
+ </ div >
66
+
67
+ < div className = "mb-3" >
68
+ < label > Email address</ label >
69
+ < input
70
+ type = "email"
71
+ className = "form-control"
72
+ placeholder = "Enter email"
73
+ onChange = { ( e ) => setEmail ( e . target . value ) }
74
+ required
75
+ />
76
+ </ div >
77
+
78
+ < div className = "mb-3" >
79
+ < label > Password</ label >
80
+ < input
81
+ type = "password"
82
+ className = "form-control"
83
+ placeholder = "Enter password"
84
+ onChange = { ( e ) => setPassword ( e . target . value ) }
85
+ required
86
+ />
87
+ </ div >
88
+
89
+ < div className = "d-grid" >
90
+ < button type = "submit" className = "btn btn-primary" >
91
+ Sign Up
92
+ </ button >
93
+ </ div >
94
+ < p className = "forgot-password text-right" >
95
+ Already registered < a href = "/login" > Login</ a >
96
+ </ p >
97
+ </ form >
98
+ </ >
99
+ ) ;
100
+ }
101
+ export default Register ;
0 commit comments