@@ -28,10 +28,10 @@ export default function LoginForm() {
28
28
29
29
const router = useRouter ( ) ;
30
30
const { setUser } = useUser ( ) ;
31
-
31
+
32
32
const handleLogin = async ( e : React . MouseEvent < HTMLButtonElement > ) => {
33
33
e . preventDefault ( ) ;
34
-
34
+
35
35
// Basic validation
36
36
if ( ! email || ! password ) {
37
37
toast . error ( "Please fill in all fields" ) ;
@@ -40,9 +40,10 @@ export default function LoginForm() {
40
40
41
41
try {
42
42
const response = await login ( email , password ) ;
43
-
43
+
44
44
// Check if we got a token
45
- const token = response ?. data ?. data ?. accessToken || response ?. data ?. accessToken ;
45
+ const token =
46
+ response ?. data ?. data ?. accessToken || response ?. data ?. accessToken ;
46
47
if ( ! token ) {
47
48
toast . error ( "Login failed: No token received" ) ;
48
49
return ;
@@ -62,19 +63,18 @@ export default function LoginForm() {
62
63
63
64
// Show success message
64
65
handleApiSuccess (
65
- "Login successful!" ,
66
+ "Login successful!" ,
66
67
`Welcome back! Redirecting to homepage...` ,
67
- response . data
68
+ response . data ,
68
69
) ;
69
70
70
71
// Use router.replace instead of push for better Docker/Nginx compatibility
71
72
setTimeout ( ( ) => {
72
73
toast . dismiss ( ) ;
73
74
router . replace ( "/home" ) ;
74
75
} , 1000 ) ;
75
-
76
76
} catch ( error ) {
77
- console . error ( ' Login error details:' , error ) ;
77
+ console . error ( " Login error details:" , error ) ;
78
78
handleApiError ( error , "Login failed" ) ;
79
79
}
80
80
} ;
@@ -92,9 +92,9 @@ export default function LoginForm() {
92
92
< div className = "flex flex-col gap-4" >
93
93
< div >
94
94
< Label className = "m-2" > Email</ Label >
95
- < Input
96
- name = "email"
97
- type = "email"
95
+ < Input
96
+ name = "email"
97
+ type = "email"
98
98
value = { email }
99
99
onChange = { ( e ) => setEmail ( e . target . value ) }
100
100
required
@@ -103,8 +103,8 @@ export default function LoginForm() {
103
103
< div >
104
104
< Label className = "m-2" > Password</ Label >
105
105
< div className = "relative" >
106
- < Input
107
- name = "password"
106
+ < Input
107
+ name = "password"
108
108
type = { showPassword ? "text" : "password" }
109
109
value = { password }
110
110
onChange = { ( e ) => setPassword ( e . target . value ) }
@@ -117,11 +117,12 @@ export default function LoginForm() {
117
117
className = "absolute right-1 top-1/2 -translate-y-1/2 h-8 w-8 hover:bg-transparent"
118
118
onClick = { ( ) => setShowPassword ( ! showPassword ) }
119
119
>
120
- { password && ( showPassword ? (
121
- < EyeOff className = "h-4 w-4" />
122
- ) : (
123
- < Eye className = "h-4 w-4" />
124
- ) ) }
120
+ { password &&
121
+ ( showPassword ? (
122
+ < EyeOff className = "h-4 w-4" />
123
+ ) : (
124
+ < Eye className = "h-4 w-4" />
125
+ ) ) }
125
126
</ Button >
126
127
</ div >
127
128
</ div >
0 commit comments