From 68f5e2014331669872487ddde883bd255b48b986 Mon Sep 17 00:00:00 2001 From: ratishjain Date: Sat, 26 Aug 2023 16:46:31 +0530 Subject: [PATCH] added basic profile page --- src/App.js | 2 +- src/components/Dropdown/Dropdown.js | 25 +++++++++---- src/pages/Home/Home.jsx | 2 +- src/pages/Profile/Profile.jsx | 56 ++++++++++++++++++++++++++--- src/server/.variable.env | 2 +- src/server/package-lock.json | 47 ------------------------ 6 files changed, 74 insertions(+), 60 deletions(-) diff --git a/src/App.js b/src/App.js index c52966a..0d99c8f 100644 --- a/src/App.js +++ b/src/App.js @@ -15,7 +15,7 @@ export default function App() { }> } /> - } /> + } /> } /> } /> diff --git a/src/components/Dropdown/Dropdown.js b/src/components/Dropdown/Dropdown.js index 63df2f6..1c8fc53 100644 --- a/src/components/Dropdown/Dropdown.js +++ b/src/components/Dropdown/Dropdown.js @@ -14,6 +14,7 @@ import LogoutIcon from '@mui/icons-material/Logout'; import LoginIcon from '@mui/icons-material/Login'; import HelpIcon from '@mui/icons-material/Help'; import MessageIcon from '@mui/icons-material/Message'; +import ManageAccountsIcon from '@mui/icons-material/ManageAccounts'; import { useEffect } from 'react'; export default function Dropdown() { @@ -53,6 +54,10 @@ export default function Dropdown() { }, 1500); } + function navigateToProfile() { + navigate('/profile'); + } + return ( {loggedIn ? ( // Use the 'loggedIn' state to conditionally render the Logout/Login menu item - - - - - Logout - + <> + + + + + Profile + + + + + + Logout + + ) : ( diff --git a/src/pages/Home/Home.jsx b/src/pages/Home/Home.jsx index 0b1d5a5..0351b12 100644 --- a/src/pages/Home/Home.jsx +++ b/src/pages/Home/Home.jsx @@ -52,7 +52,7 @@ function Home() { const notify = (username) => toast.success('Welcome! ' + username); useEffect(() => { - if (location.state.loggin && localStorage.getItem('user')) { + if (location?.state?.loggin || localStorage.getItem('user')) { notify(JSON.parse(localStorage.getItem('user')).username); } }, []); diff --git a/src/pages/Profile/Profile.jsx b/src/pages/Profile/Profile.jsx index 517a277..1bf22cf 100644 --- a/src/pages/Profile/Profile.jsx +++ b/src/pages/Profile/Profile.jsx @@ -1,9 +1,57 @@ -import React from 'react'; -import { useParams } from 'react-router'; +import React, { useEffect, useState } from 'react'; +import { Avatar, Typography, Grid, Paper } from '@mui/material'; +import Button from '@mui/material/Button'; +import EditIcon from '@mui/icons-material/Edit'; function Profile() { - const { uid } = useParams(); - return
{uid}
; + const [userInfo, setUserInfo] = useState(); + + useEffect(() => { + if (localStorage.getItem('user')) { + setUserInfo(JSON.parse(localStorage.getItem('user'))); + } + }, []); + console.log(userInfo); + return ( + + + + + + {userInfo?.username} + + + + Software Developer + + + Lorem ipsum dolor sit amet, consectetur adipiscing elit. + Nullam in commodo arcu. + + + Email: {userInfo?.email} + + + Location: New York, USA + + + + + ); } export default Profile; diff --git a/src/server/.variable.env b/src/server/.variable.env index 28629a0..e215c2f 100644 --- a/src/server/.variable.env +++ b/src/server/.variable.env @@ -1,2 +1,2 @@ -MONGO_DB=mongodb+srv://test:test@cluster0.4iienf4.mongodb.net/?retryWrites=true&w=majority +MONGO_DB= PORT= \ No newline at end of file diff --git a/src/server/package-lock.json b/src/server/package-lock.json index 0bc578e..45e3b5a 100644 --- a/src/server/package-lock.json +++ b/src/server/package-lock.json @@ -16,13 +16,9 @@ "express": "^4.18.2", "express-session": "^1.17.3", "jsonwebtoken": "^9.0.1", -<<<<<<< HEAD - "mongoose": "^7.4.4", -======= "mongodb": "^5.7.0", "mongoose": "^7.3.4", "nodemailer": "^6.9.4", ->>>>>>> origin/master "passport": "^0.6.0", "passport-local": "^1.0.0", "passport-local-mongoose": "^8.0.0" @@ -667,38 +663,6 @@ "url": "https://opencollective.com/mongoose" } }, - "node_modules/mongoose/node_modules/mongodb": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.6.0.tgz", - "integrity": "sha512-z8qVs9NfobHJm6uzK56XBZF8XwM9H294iRnB7wNjF0SnY93si5HPziIJn+qqvUR5QOff/4L0gCD6SShdR/GtVQ==", - "dependencies": { - "bson": "^5.3.0", - "mongodb-connection-string-url": "^2.6.0", - "socks": "^2.7.1" - }, - "engines": { - "node": ">=14.20.1" - }, - "optionalDependencies": { - "saslprep": "^1.0.3" - }, - "peerDependencies": { - "@aws-sdk/credential-providers": "^3.201.0", - "mongodb-client-encryption": ">=2.3.0 <3", - "snappy": "^7.2.2" - }, - "peerDependenciesMeta": { - "@aws-sdk/credential-providers": { - "optional": true - }, - "mongodb-client-encryption": { - "optional": true - }, - "snappy": { - "optional": true - } - } - }, "node_modules/mongoose/node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -1665,17 +1629,6 @@ "sift": "16.0.1" }, "dependencies": { - "mongodb": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.6.0.tgz", - "integrity": "sha512-z8qVs9NfobHJm6uzK56XBZF8XwM9H294iRnB7wNjF0SnY93si5HPziIJn+qqvUR5QOff/4L0gCD6SShdR/GtVQ==", - "requires": { - "bson": "^5.3.0", - "mongodb-connection-string-url": "^2.6.0", - "saslprep": "^1.0.3", - "socks": "^2.7.1" - } - }, "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",