diff --git a/index.html b/index.html index 0c589ec..dc4abe5 100644 --- a/index.html +++ b/index.html @@ -2,9 +2,9 @@ - + - Vite + React + PicPic
diff --git a/public/logo-pic.png b/public/logo-pic.png new file mode 100644 index 0000000..59cfe6b Binary files /dev/null and b/public/logo-pic.png differ diff --git a/public/logo.png b/public/logo.png new file mode 100644 index 0000000..b1faeaf Binary files /dev/null and b/public/logo.png differ diff --git a/public/vite.svg b/public/vite.svg deleted file mode 100644 index e7b8dfb..0000000 --- a/public/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/apis/emailCheck.js b/src/apis/emailCheck.js new file mode 100644 index 0000000..383a7f3 --- /dev/null +++ b/src/apis/emailCheck.js @@ -0,0 +1,13 @@ +import axios from "axios"; + +export const emailCheck = (formData, setFormData) => { + axios + .post("api/users/idcheck", { email: formData.email }) + .then(() => { + alert("사용할 수 있는 이메일입니다."); + }) + .catch(() => { + alert("사용할 수 없는 이메일입니다."); + setFormData({ ...formData, email: "" }); + }); +}; diff --git a/src/pages/Join/Join.jsx b/src/pages/Join/Join.jsx index 2450441..e8010e3 100644 --- a/src/pages/Join/Join.jsx +++ b/src/pages/Join/Join.jsx @@ -5,6 +5,7 @@ import { useState } from "react"; import styles from "./Join.module.scss"; // import api from "../../apis/api"; import { onSignUp } from "../../apis/onSignUp"; +import { emailCheck } from "../../apis/emailCheck"; export default function SignUp() { const initialState = { @@ -156,108 +157,106 @@ export default function SignUp() { return (
-
-
- - - - -

회원가입

-
-
이메일
- +
+
+ + + +

회원가입

+
+
+
+
+
이메일
+
+ + +
+ {errorMessages.email && ( + {errorMessages.email} + )} +
+
+
닉네임
+ {errorMessages.nickname && ( + {errorMessages.nickname} + )} +
+
+
비밀번호
+ - - {errorMessages.email && ( - {errorMessages.email} + {errorMessages.password && {errorMessages.password}} + + {errorMessages.passwordConfirm && ( + + {errorMessages.passwordConfirm} + )} - - -
닉네임
- - {errorMessages.nickname && ( - {errorMessages.nickname} - )} -
비밀번호
- - {errorMessages.password && {errorMessages.password}} - - {errorMessages.passwordConfirm && ( - - {errorMessages.passwordConfirm} - - )} - -
나이
- - +
+
+
나이
+ +
{ const accessToken = res.data; setAct(accessToken); // 액세스 토큰을 Jotai 상태에 업데이트 - // router('/framelist'); + router('/framelist'); }) .catch((err) => { console.log(err); diff --git a/src/pages/Login/Login.module.scss b/src/pages/Login/Login.module.scss index edcb081..824948a 100644 --- a/src/pages/Login/Login.module.scss +++ b/src/pages/Login/Login.module.scss @@ -327,13 +327,11 @@ body { align-items: center; justify-items: center; /* max-height: calc(100vh - 80px); */ - background-color: #1c5448; } .LOGO { margin: 0 auto; align-items: center; - margin-top: 60px; } .subtitle {