+ className="fixed inset-0 flex items-center justify-center bg-gray-300 opacity-50 z-1000 dark:bg-gray-100 dark:bg-opacity-50">
+
);
}
diff --git a/src/pages/member/SignupPage.tsx b/src/pages/member/SignupPage.tsx
index b5aa726..75a0f7a 100644
--- a/src/pages/member/SignupPage.tsx
+++ b/src/pages/member/SignupPage.tsx
@@ -6,6 +6,7 @@ import {checkPassword} from "../../common/util/regex.tsx";
import LoadingLayout from "../../layout/LoadingLayout.tsx";
import * as React from "react";
import LoginButton from "../../components/member/LoginButton.tsx";
+import {signup} from "../../common/apis/member.tsx";
function SignupPage() {
@@ -25,17 +26,29 @@ function SignupPage() {
}
const handleSignup = () => {
- setLoading(true);
- console.log(email, code);
-
- if (!checkPassword(passwordInfo.password) || passwordInfo.password !== passwordInfo.confirmPassword) {
- setLoading(false);
+ if (!checkPassword(passwordInfo.password)) {
+ alert("비밀번호가 영문, 숫자 포함 8-16자리가 되도록 입력해주세요.");
+ return;
+ }
+
+ if (passwordInfo.password !== passwordInfo.confirmPassword) {
+ alert("비밀번호 확인이 일치하지 않습니다.");
return;
}
- alert("회원가입 되었습니다.");
+ setLoading(true);
+
+ signup(email, passwordInfo.password, code)
+ .then(() => {
+ alert("회원가입 되었습니다.");
+ navigate("/login");
+ })
+ .catch((error) => alert(error.response.data.message))
+ .finally(() => setLoading(false));
+ }
- navigate("/login");
+ const disableSignupButton = () => {
+ return !checkPassword(passwordInfo.password) || (passwordInfo.password !== passwordInfo.confirmPassword);
}
return (
@@ -58,12 +71,11 @@ function SignupPage() {
setValue={(value) => setPasswordInfo({...passwordInfo, confirmPassword: value})}
onKeyDown={handlePasswordEnter}/>
-