@@ -4,6 +4,7 @@ import styles from "./Login.module.scss"
44import { useState } from "react" ;
55import { useApiMutation } from "../../hooks/useApiMutation" ;
66import axios from "axios" ;
7+ import Spinner from "../../shared/Spinner" ;
78
89const loginRequest = async ( { username, password } ) => {
910 const params = new URLSearchParams ( ) ;
@@ -27,7 +28,7 @@ const AdminLogin = () => {
2728 password : "" ,
2829 } ) ;
2930
30- const { mutate : loginMutate } = useApiMutation ( loginRequest , {
31+ const { mutate : loginMutate , isLoading } = useApiMutation ( loginRequest , {
3132 onSuccess : ( ) => {
3233 navigate ( "/room" ) ;
3334 } ,
@@ -47,41 +48,42 @@ const AdminLogin = () => {
4748 }
4849
4950 return (
50- < div className = { styles . loginContainer } >
51- < div className = { styles . loginCard } >
52- < div className = { styles . loginLogo } >
53- < img src = { mainLogo || "/placeholder.svg" } alt = "뇌피셜 로고" className = { styles . loginLogoImage } />
51+ < div className = { styles . loginContainer } >
52+ < Spinner show = { isLoading } />
53+ < div className = { styles . loginCard } >
54+ < div className = { styles . loginLogo } >
55+ < img src = { mainLogo || "/placeholder.svg" } alt = "뇌피셜 로고" className = { styles . loginLogoImage } />
56+ </ div >
57+ < form onSubmit = { handleSubmit } className = { styles . loginForm } >
58+ < div className = { styles . inputGroup } >
59+ < input
60+ type = "text"
61+ name = "username"
62+ placeholder = "아이디"
63+ value = { loginData . username }
64+ onChange = { handleInputChange }
65+ className = { styles . loginInput }
66+ required
67+ />
68+ </ div >
69+ < div className = { styles . inputGroup } >
70+ < input
71+ type = "password"
72+ name = "password"
73+ placeholder = "비밀번호"
74+ value = { loginData . password }
75+ onChange = { handleInputChange }
76+ className = { styles . loginInput }
77+ required
78+ />
79+ </ div >
80+ < button type = "submit" className = { styles . loginButton } >
81+ 관리자 로그인
82+ </ button >
83+ </ form >
84+ </ div >
5485 </ div >
55- < form onSubmit = { handleSubmit } className = { styles . loginForm } >
56- < div className = { styles . inputGroup } >
57- < input
58- type = "text"
59- name = "username"
60- placeholder = "아이디"
61- value = { loginData . username }
62- onChange = { handleInputChange }
63- className = { styles . loginInput }
64- required
65- />
66- </ div >
67- < div className = { styles . inputGroup } >
68- < input
69- type = "password"
70- name = "password"
71- placeholder = "비밀번호"
72- value = { loginData . password }
73- onChange = { handleInputChange }
74- className = { styles . loginInput }
75- required
76- />
77- </ div >
78- < button type = "submit" className = { styles . loginButton } >
79- 관리자 로그인
80- </ button >
81- </ form >
82- </ div >
83- </ div >
84- )
86+ )
8587}
8688
8789export default AdminLogin
0 commit comments