1
1
"use client" ;
2
2
import Header from "@/components/Header/header" ;
3
- import {
4
- Button ,
5
- Input ,
6
- Layout ,
7
- message ,
8
- Form ,
9
- } from "antd" ;
3
+ import { Button , Input , Layout , message , Form } from "antd" ;
10
4
import { Content } from "antd/es/layout/layout" ;
11
5
import "./styles.scss" ;
12
6
import { useEffect , useState } from "react" ;
13
7
import Link from "next/link" ;
14
8
import TextArea from "antd/es/input/TextArea" ;
15
- import { createUser } from ' @/app/services/user'
9
+ import { createUser } from " @/app/services/user" ;
16
10
import { useRouter } from "next/navigation" ;
17
11
18
12
type InputFields = {
19
- username : string
20
- email : string
21
- password : string
22
- confirmPassword : string
23
- }
13
+ username : string ;
14
+ email : string ;
15
+ password : string ;
16
+ confirmPassword : string ;
17
+ } ;
24
18
25
19
export default function Home ( ) {
26
-
27
20
const [ isRegistrationFailed , setIsRegistrationFailed ] = useState ( false ) ;
28
21
const router = useRouter ( ) ;
29
22
const [ messageApi , contextHolder ] = message . useMessage ( ) ;
@@ -35,21 +28,22 @@ export default function Home() {
35
28
} ) ;
36
29
} ;
37
30
38
- function submitDetails ( { username, email, password} : InputFields ) : void {
31
+ function submitDetails ( { username, email, password } : InputFields ) : void {
39
32
createUser ( username , email , password )
40
- . then ( ( ) => {
41
- successMessage ( "Account successfully created" )
42
- router . push ( "/login" ) ;
43
- } ) . catch ( err => {
44
- console . log ( err ) ;
45
- setIsRegistrationFailed ( true ) ;
46
- } )
33
+ . then ( ( ) => {
34
+ successMessage ( "Account successfully created" ) ;
35
+ router . push ( "/login" ) ;
36
+ } )
37
+ . catch ( ( err ) => {
38
+ console . log ( err ) ;
39
+ setIsRegistrationFailed ( true ) ;
40
+ } ) ;
47
41
}
48
42
return (
49
43
< >
50
44
{ contextHolder }
51
45
< Layout >
52
- < Header />
46
+ < Header selectedKey = { undefined } />
53
47
< Content >
54
48
< div className = "login-card" >
55
49
< h1 > Register</ h1 >
@@ -59,80 +53,79 @@ export default function Home() {
59
53
style = { { margin : "auto" } }
60
54
onFinish = { submitDetails }
61
55
>
62
-
63
56
< Form . Item < InputFields >
64
- name = "username"
57
+ name = "username"
65
58
rules = { [
66
59
{
67
60
required : true ,
68
- message : "You must provide a username."
61
+ message : "You must provide a username." ,
69
62
} ,
70
63
{
71
64
pattern : / ^ \S + $ / ,
72
- message : "Please provide a valid username."
65
+ message : "Please provide a valid username." ,
73
66
} ,
74
67
] }
75
68
>
76
- < Input
77
- placeholder = "Username"
78
- />
69
+ < Input placeholder = "Username" />
79
70
</ Form . Item >
80
71
81
72
< Form . Item < InputFields >
82
- name = "email"
73
+ name = "email"
83
74
rules = { [
84
75
{
85
- required : true ,
86
- message : "You must provide an email."
76
+ required : true ,
77
+ message : "You must provide an email." ,
87
78
} ,
88
79
{
89
80
type : "email" ,
90
- message : "Please provide a valid email address."
81
+ message : "Please provide a valid email address." ,
91
82
} ,
92
83
] }
93
84
>
94
- < Input
95
- type = "email"
96
- placeholder = "Email"
97
- />
85
+ < Input type = "email" placeholder = "Email" />
98
86
</ Form . Item >
99
87
100
88
< Form . Item < InputFields >
101
- name = "password"
102
- rules = { [ {
103
- required : true ,
104
- message : "You must provide a password."
105
- } ] }
89
+ name = "password"
90
+ rules = { [
91
+ {
92
+ required : true ,
93
+ message : "You must provide a password." ,
94
+ } ,
95
+ ] }
106
96
>
107
- < Input . Password
108
- placeholder = "Password"
109
- />
97
+ < Input . Password placeholder = "Password" />
110
98
</ Form . Item >
111
99
112
100
< Form . Item < InputFields >
113
101
name = "confirmPassword"
114
102
rules = { [
115
103
{
116
- required : true ,
117
- message : "Please confirm your password."
104
+ required : true ,
105
+ message : "Please confirm your password." ,
118
106
} ,
119
- ( { getFieldValue} ) => ( {
107
+ ( { getFieldValue } ) => ( {
120
108
validator : async ( r , confirmPassword ) => {
121
- if ( ! ! confirmPassword && getFieldValue ( "password" ) !== confirmPassword ) {
122
- throw new Error ( "Passwords do not match" )
109
+ if (
110
+ ! ! confirmPassword &&
111
+ getFieldValue ( "password" ) !== confirmPassword
112
+ ) {
113
+ throw new Error ( "Passwords do not match" ) ;
123
114
}
124
- }
125
- } )
115
+ } ,
116
+ } ) ,
126
117
] }
127
118
>
128
- < Input . Password
129
- placeholder = "Confirm Password"
130
- />
119
+ < Input . Password placeholder = "Confirm Password" />
131
120
</ Form . Item >
132
121
133
- < div
134
- style = { { visibility : isRegistrationFailed ? "visible" : "hidden" } }
135
- className = "registration-failed-text" > A user with the same email/username already exists
122
+ < div
123
+ style = { {
124
+ visibility : isRegistrationFailed ? "visible" : "hidden" ,
125
+ } }
126
+ className = "registration-failed-text"
127
+ >
128
+ A user with the same email/username already exists
136
129
</ div >
137
130
138
131
< Form . Item >
@@ -142,9 +135,7 @@ export default function Home() {
142
135
</ Form . Item >
143
136
</ Form >
144
137
< p >
145
- Let me < Link
146
- href = "/login"
147
- > login</ Link >
138
+ Let me < Link href = "/login" > login</ Link >
148
139
</ p >
149
140
</ div >
150
141
</ Content >
0 commit comments