diff --git a/client/package-lock.json b/client/package-lock.json index 471d46a..0647ad5 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "react": "^18.2.0", "react-dom": "^18.2.0", - "react-router-dom": "^6.10.0" + "react-router-dom": "^6.11.1" }, "devDependencies": { "@types/react": "^18.0.28", @@ -768,9 +768,9 @@ "dev": true }, "node_modules/@remix-run/router": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.5.0.tgz", - "integrity": "sha512-bkUDCp8o1MvFO+qxkODcbhSqRa6P2GXgrGZVpt0dCXNW2HCSCqYI0ZoAqEOSAjRWmmlKcYgFvN4B4S+zo/f8kg==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.6.1.tgz", + "integrity": "sha512-YUkWj+xs0oOzBe74OgErsuR3wVn+efrFhXBWrit50kOiED+pvQe2r6MWY0iJMQU/mSVKxvNzL4ZaYvjdX+G7ZA==", "engines": { "node": ">=14" } @@ -1236,11 +1236,11 @@ } }, "node_modules/react-router": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.10.0.tgz", - "integrity": "sha512-Nrg0BWpQqrC3ZFFkyewrflCud9dio9ME3ojHCF/WLsprJVzkq3q3UeEhMCAW1dobjeGbWgjNn/PVF6m46ANxXQ==", + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.11.1.tgz", + "integrity": "sha512-OZINSdjJ2WgvAi7hgNLazrEV8SGn6xrKA+MkJe9wVDMZ3zQ6fdJocUjpCUCI0cNrelWjcvon0S/QK/j0NzL3KA==", "dependencies": { - "@remix-run/router": "1.5.0" + "@remix-run/router": "1.6.1" }, "engines": { "node": ">=14" @@ -1250,12 +1250,12 @@ } }, "node_modules/react-router-dom": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.10.0.tgz", - "integrity": "sha512-E5dfxRPuXKJqzwSe/qGcqdwa18QiWC6f3H3cWXM24qj4N0/beCIf/CWTipop2xm7mR0RCS99NnaqPNjHtrAzCg==", + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.11.1.tgz", + "integrity": "sha512-dPC2MhoPeTQ1YUOt5uIK376SMNWbwUxYRWk2ZmTT4fZfwlOvabF8uduRKKJIyfkCZvMgiF0GSCQckmkGGijIrg==", "dependencies": { - "@remix-run/router": "1.5.0", - "react-router": "6.10.0" + "@remix-run/router": "1.6.1", + "react-router": "6.11.1" }, "engines": { "node": ">=14" @@ -1893,9 +1893,9 @@ } }, "@remix-run/router": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.5.0.tgz", - "integrity": "sha512-bkUDCp8o1MvFO+qxkODcbhSqRa6P2GXgrGZVpt0dCXNW2HCSCqYI0ZoAqEOSAjRWmmlKcYgFvN4B4S+zo/f8kg==" + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.6.1.tgz", + "integrity": "sha512-YUkWj+xs0oOzBe74OgErsuR3wVn+efrFhXBWrit50kOiED+pvQe2r6MWY0iJMQU/mSVKxvNzL4ZaYvjdX+G7ZA==" }, "@types/prop-types": { "version": "15.7.5", @@ -2221,20 +2221,20 @@ "dev": true }, "react-router": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.10.0.tgz", - "integrity": "sha512-Nrg0BWpQqrC3ZFFkyewrflCud9dio9ME3ojHCF/WLsprJVzkq3q3UeEhMCAW1dobjeGbWgjNn/PVF6m46ANxXQ==", + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.11.1.tgz", + "integrity": "sha512-OZINSdjJ2WgvAi7hgNLazrEV8SGn6xrKA+MkJe9wVDMZ3zQ6fdJocUjpCUCI0cNrelWjcvon0S/QK/j0NzL3KA==", "requires": { - "@remix-run/router": "1.5.0" + "@remix-run/router": "1.6.1" } }, "react-router-dom": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.10.0.tgz", - "integrity": "sha512-E5dfxRPuXKJqzwSe/qGcqdwa18QiWC6f3H3cWXM24qj4N0/beCIf/CWTipop2xm7mR0RCS99NnaqPNjHtrAzCg==", + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.11.1.tgz", + "integrity": "sha512-dPC2MhoPeTQ1YUOt5uIK376SMNWbwUxYRWk2ZmTT4fZfwlOvabF8uduRKKJIyfkCZvMgiF0GSCQckmkGGijIrg==", "requires": { - "@remix-run/router": "1.5.0", - "react-router": "6.10.0" + "@remix-run/router": "1.6.1", + "react-router": "6.11.1" } }, "resolve": { diff --git a/client/package.json b/client/package.json index 1fc3144..c76a0bf 100644 --- a/client/package.json +++ b/client/package.json @@ -11,7 +11,7 @@ "dependencies": { "react": "^18.2.0", "react-dom": "^18.2.0", - "react-router-dom": "^6.10.0" + "react-router-dom": "^6.11.1" }, "devDependencies": { "@types/react": "^18.0.28", diff --git a/client/src/Components/Login/Login.jsx b/client/src/Components/Login/Login.jsx index 6cc12bf..566cc35 100644 --- a/client/src/Components/Login/Login.jsx +++ b/client/src/Components/Login/Login.jsx @@ -7,10 +7,12 @@ import {backendUrl} from "../../constants.js"; const Login = () => { const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); + const [UserMsg, setUserMsg] = useState(''); return (

Login

+

{UserMsg}

@@ -27,6 +29,9 @@ const Login = () => {
diff --git a/client/src/Components/Signup/Signup.jsx b/client/src/Components/Signup/Signup.jsx index 20ca0cf..78d8f76 100644 --- a/client/src/Components/Signup/Signup.jsx +++ b/client/src/Components/Signup/Signup.jsx @@ -5,10 +5,12 @@ import { backendUrl } from "../../constants.js"; const Signup = () => { const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); + const [UserMsg, setUserMsg] = useState("") ; return (

Signup

+

{UserMsg}

@@ -36,8 +38,12 @@ const Signup = () => { type='submit' id='test' onClick={async (e) => { + // change backendUrl to localhost:3000 for development const response = await fetch(`${backendUrl}/signup`, { method: "POST", + headers: { + "Content-Type": "application/json", + }, body: JSON.stringify({ email: email, password: password, @@ -45,7 +51,7 @@ const Signup = () => { }); const json = await response.json(); - console.log(json); + setUserMsg(json.msg) ; }} > SIGNUP diff --git a/client/src/Constants/Navbar/Navbar.jsx b/client/src/Constants/Navbar/Navbar.jsx index 28ecfd1..30ab2ff 100644 --- a/client/src/Constants/Navbar/Navbar.jsx +++ b/client/src/Constants/Navbar/Navbar.jsx @@ -1,26 +1,49 @@ -import React from 'react' +import React, { useEffect , useState } from 'react' import { Link } from 'react-router-dom' import './Navbar.css' const Navbar = () => { + const [Token, setToken] = useState(undefined); + useEffect( () => { + const getToken = localStorage.token; + if (getToken !== undefined){ + setToken(getToken) ; + } + }, []) + + const clearLocalStorage = () => { + localStorage.clear() ; + setToken(undefined) ; + } return ( ) } diff --git a/client/src/constants.js b/client/src/constants.js index 2a84056..ed8c771 100644 --- a/client/src/constants.js +++ b/client/src/constants.js @@ -1 +1,4 @@ export const backendUrl = "https://api.peetcode.com"; + +// For development and testing +// export const backendUrl = "http://localhost:3000"; \ No newline at end of file diff --git a/server/index.js b/server/index.js index 9691a83..72bd6f4 100644 --- a/server/index.js +++ b/server/index.js @@ -208,7 +208,8 @@ app.post("/login", (req, res) => { JWT_SECRET ); - return res.json({ token }); + return res.json({ token , msg: "Successfully logged in" }); + }); app.listen(port, () => {