diff --git a/five-guys-project/package-lock.json b/five-guys-project/package-lock.json index e6c42ac..c5e0458 100644 --- a/five-guys-project/package-lock.json +++ b/five-guys-project/package-lock.json @@ -19,6 +19,7 @@ "react-arborist": "^3.2.0", "react-cookie": "^6.1.1", "react-dom": "^18.2.0", + "react-toastify": "^9.1.3", "react-redux": "^8.1.2", "react-router-dom": "^6.16.0", "redux": "^4.2.1", @@ -3126,6 +3127,14 @@ "node": ">= 6" } }, + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } + }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -3801,6 +3810,7 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, + "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -4584,6 +4594,16 @@ "react-dom": ">=16.8" } }, + "node_modules/react-toastify": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-9.1.3.tgz", + "integrity": "sha512-fPfb8ghtn/XMxw3LkxQBk3IyagNpF/LIKjOBflbexr2AWxAH1MJgvnESwEwBn9liLFXgTKWgBSdZpw9m4OTHTg==", + "dependencies": { + "clsx": "^1.1.1" + }, + "peerDependencies": { + "react": ">=16", + "react-dom": ">=16" "node_modules/react-window": { "version": "1.8.9", "resolved": "https://registry.npmjs.org/react-window/-/react-window-1.8.9.tgz", diff --git a/five-guys-project/package.json b/five-guys-project/package.json index daf6823..77454fe 100644 --- a/five-guys-project/package.json +++ b/five-guys-project/package.json @@ -21,9 +21,9 @@ "react-arborist": "^3.2.0", "react-cookie": "^6.1.1", "react-dom": "^18.2.0", + "react-toastify": "^9.1.3", "react-redux": "^8.1.2", "react-router-dom": "^6.16.0", - "redux": "^4.2.1", "styled-components": "^6.0.8" }, "devDependencies": { diff --git a/five-guys-project/src/components/Signup.tsx b/five-guys-project/src/components/Signup.tsx index 760c238..1c733d9 100644 --- a/five-guys-project/src/components/Signup.tsx +++ b/five-guys-project/src/components/Signup.tsx @@ -2,6 +2,9 @@ import React, { useState } from 'react'; import debounce from '../utils/debounce'; import axios from 'axios'; import styled from 'styled-components'; +import ToggleHandler from '../utils/ToggleHandler'; +import {toast, ToastContainer} from "react-toastify"; +import { useNavigate } from 'react-router-dom'; const Signup = () => { @@ -47,6 +50,8 @@ const Signup = () => { formCheckPasswordMessage: "" }); + const navigate = useNavigate(); + const emailRegexp = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; const passwordRegexp = /^(?=.*[0-9])(?=.*[a-z])[0-9a-z]{4,12}$/; const nicknameRegexp = /^[A-Za-z0-9가-힣_()]{4,12}$/; @@ -119,67 +124,85 @@ const Signup = () => { }) .then(function (res) { console.log(res); - alert("회원가입이 완료되었습니다."); + toast.success(