diff --git a/package-lock.json b/package-lock.json
index 4e6cc9e..eee04dc 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -16,6 +16,7 @@
"next": "14.0.3",
"react": "^18",
"react-dom": "^18",
+ "recoil": "^0.7.7",
"sass": "^1.69.5"
},
"devDependencies": {
@@ -2904,6 +2905,11 @@
"integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
"dev": true
},
+ "node_modules/hamt_plus": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/hamt_plus/-/hamt_plus-1.0.2.tgz",
+ "integrity": "sha512-t2JXKaehnMb9paaYA7J0BX8QQAY8lwfQ9Gjf4pg/mk4krt+cmwmU652HOoWonf+7+EQV97ARPMhhVgU1ra2GhA=="
+ },
"node_modules/has-bigints": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
@@ -4285,6 +4291,25 @@
"node": ">=8.10.0"
}
},
+ "node_modules/recoil": {
+ "version": "0.7.7",
+ "resolved": "https://registry.npmjs.org/recoil/-/recoil-0.7.7.tgz",
+ "integrity": "sha512-8Og5KPQW9LwC577Vc7Ug2P0vQshkv1y3zG3tSSkWMqkWSwHmE+by06L8JtnGocjW6gcCvfwB3YtrJG6/tWivNQ==",
+ "dependencies": {
+ "hamt_plus": "1.0.2"
+ },
+ "peerDependencies": {
+ "react": ">=16.13.1"
+ },
+ "peerDependenciesMeta": {
+ "react-dom": {
+ "optional": true
+ },
+ "react-native": {
+ "optional": true
+ }
+ }
+ },
"node_modules/reflect.getprototypeof": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz",
diff --git a/package.json b/package.json
index 9259bd2..373a9e2 100644
--- a/package.json
+++ b/package.json
@@ -17,6 +17,7 @@
"next": "14.0.3",
"react": "^18",
"react-dom": "^18",
+ "recoil": "^0.7.7",
"sass": "^1.69.5"
},
"devDependencies": {
diff --git a/src/app/feed/page.tsx b/src/app/feed/page.tsx
index 3a76205..7fe9b9e 100644
--- a/src/app/feed/page.tsx
+++ b/src/app/feed/page.tsx
@@ -1,20 +1,30 @@
"use client";
-import Menubar from "@/component/MenuBar"
-import WeatherBar from "@/component/WeatherBar"
+
+import FeedSearch from "@/component/FeedSearch";
+import WeatherBar from "@/component/WeatherBar";
+import FeedCategory from "@/component/FeedCategory";
+import FeedContenets from "@/component/FeedContents";
+import Menubar from "@/component/MenuBar";
+
+import { RecoilRoot } from "recoil";
+
+
export default function Feed(){
return(<>
-
-
+
+
+
>)
}
\ No newline at end of file
diff --git a/src/app/register/page.tsx b/src/app/register/page.tsx
index 4601f2c..9118b94 100644
--- a/src/app/register/page.tsx
+++ b/src/app/register/page.tsx
@@ -5,12 +5,29 @@ import { useState } from "react";
import InputBar from "@/component/InputBar";
import Menubar from "@/component/MenuBar";
+import axios from "axios";
+
+///////////////////////////해야하는 작업/////////////////////////////
+
+// 희성이형하고 같이해야함
+//1. 비밀번호 확인 기능
+//2. 이메일 인증 전에는 데이터 전송을 해주지 않고, 이메일 전송을 통해 토큰을 받았을때만
+// 회원가입 데이터를 전송해주는 기능
+//3. 소셜데이터 로그인 버튼과 소셜 로그인 기능
+
+///////////////////////////////////////////////////////////////////
export default function Register(): JSX.Element {
- const [email, setEmail] = useState("");
- const [name, setName] = useState("");
- const [nickname, setNickname] = useState("");
- const [password, setPassword] = useState("");
- const [repassword, setRepassword] = useState("");
+ const [email, setEmail] = useState
("");
+ const [name, setName] = useState("");
+ const [nickname, setNickname] = useState("");
+ const [password, setPassword] = useState("");
+ const [repassword, setRepassword] = useState("");
+ console.log("========================================");
+ console.log("이메일", email);
+ console.log("이름", name);
+ console.log("닉네임", nickname);
+ console.log("비번", password);
+ console.log("비번 확인", repassword);
const validateEmail = (inputValue: string) => {
const emailFormat =
@@ -27,7 +44,39 @@ export default function Register(): JSX.Element {
return inputValue === password;
};
- const caster_register = () => {};
+ const verify_btn = async() => {
+ console.log("Verify 버튼이 클릭되었습니다.");
+
+ const verify_email = await axios({
+ method : "POST",
+ url : "https://www.jerneithe.site/user/profile",
+ data : email
+ });
+
+
+ }
+
+ const caster_register = async() => {
+ const req_regdata = {
+ email,
+ name,
+ nickname,
+ password,
+ repassword,
+ }
+
+ console.log(req_regdata);
+
+ const register_data = await axios({
+ method : "POST",
+ url : "https://www.jerneithe.site/user/signup",
+ data : req_regdata
+ });
+
+
+
+ };
+
return (
@@ -49,6 +98,7 @@ export default function Register(): JSX.Element {
button // 버튼을 사용한다고 명시
buttonId="btn_verify"
buttonText="인증"
+ onButtonClick={verify_btn}
autoFocus
/>
@@ -93,7 +143,7 @@ export default function Register(): JSX.Element {
onChange={(value: string) => setRepassword(value)}
/>
-