From 750b8c97a89f7fed14596ad1d34602386c410a72 Mon Sep 17 00:00:00 2001 From: lunnnnnn Date: Mon, 30 Oct 2023 04:49:16 -0400 Subject: [PATCH] Account detail, url routing fix, favorite list --- front-end/GoodOldMap/package-lock.json | 12 +++--- front-end/GoodOldMap/src/App.jsx | 8 ++-- .../GoodOldMap/src/pages/Account/Account.jsx | 40 ++++++++++++++++--- .../src/pages/AccountEdit/AccountEdit.jsx | 33 ++++++++------- .../src/pages/FavoriteList/Favorite.jsx | 8 ++++ 5 files changed, 71 insertions(+), 30 deletions(-) create mode 100644 front-end/GoodOldMap/src/pages/FavoriteList/Favorite.jsx diff --git a/front-end/GoodOldMap/package-lock.json b/front-end/GoodOldMap/package-lock.json index b6ae67c..9632446 100644 --- a/front-end/GoodOldMap/package-lock.json +++ b/front-end/GoodOldMap/package-lock.json @@ -353,9 +353,9 @@ } }, "node_modules/@babel/traverse": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz", - "integrity": "sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.22.13", @@ -4726,9 +4726,9 @@ } }, "@babel/traverse": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz", - "integrity": "sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", "dev": true, "requires": { "@babel/code-frame": "^7.22.13", diff --git a/front-end/GoodOldMap/src/App.jsx b/front-end/GoodOldMap/src/App.jsx index 550a01a..90840cc 100644 --- a/front-end/GoodOldMap/src/App.jsx +++ b/front-end/GoodOldMap/src/App.jsx @@ -8,6 +8,7 @@ import Error from './pages/Error/Error'; import InfoDetail from './pages/InfoDetail/InfoDetail'; import AuthLayout from './pages/Authenticate/AuthLayout'; import AccountLayout from './pages/Account/AccountLayout'; +import Favorite from './pages/FavoriteList/Favorite'; const App = () => { @@ -23,9 +24,10 @@ const App = () => { {/* TODO: add params: /info/:pieceInfo */} }/> - }> - }/> - } /> + }> + }/> + }/> + } /> diff --git a/front-end/GoodOldMap/src/pages/Account/Account.jsx b/front-end/GoodOldMap/src/pages/Account/Account.jsx index 06ec1f7..6d79c0c 100644 --- a/front-end/GoodOldMap/src/pages/Account/Account.jsx +++ b/front-end/GoodOldMap/src/pages/Account/Account.jsx @@ -1,10 +1,38 @@ -const Account = () => { +import React from "react" +import AccountLayout from "./AccountLayout"; +import { Link } from "react-router-dom"; +import PopupLink from '../../components/popup/popupLink'; +const Account = () => { + // parameters: pic, username, email, + let props = {}; + props.pic = "https://cdn.icon-icons.com/icons2/2645/PNG/512/person_icon_159921.png" + props.username = "John Doe" + props.email = "jd00001@nyu.edu" + return( - <> - account page - +
+
+ + profile picture + + +

{props.username}

+

{props.email}

+ {/* Add a button that redirects to another place */} + + + + + + +
+ +
) } - -export default Account \ No newline at end of file +export default Account diff --git a/front-end/GoodOldMap/src/pages/AccountEdit/AccountEdit.jsx b/front-end/GoodOldMap/src/pages/AccountEdit/AccountEdit.jsx index 2b00111..dff74a1 100644 --- a/front-end/GoodOldMap/src/pages/AccountEdit/AccountEdit.jsx +++ b/front-end/GoodOldMap/src/pages/AccountEdit/AccountEdit.jsx @@ -9,9 +9,8 @@ const AccountEdit = () => { const [currentActionData, setCurrentActionData] = useState(null); //TO DO for Richard: send data to backend - const discardChangeUsername = (evt) => { - evt.preventDefault() - evt.stopPropagation() + const discardChange = (evt) => { + isPopupOpen && setPopupOpen(false); } const confirmChangeUsername = (evt) => { evt.preventDefault() @@ -33,43 +32,48 @@ const AccountEdit = () => { evt.preventDefault() evt.stopPropagation() } - const discardDeleteAccount = (evt) => { - evt.preventDefault() - evt.stopPropagation() - } + //All PopupContent data const formData = { "changeUsername": { title: "Change Username", inputs: [{id:"newUsername", type:"text", placeholder:"new username"}], - buttons: [{value:"Discard", function: discardChangeUsername}, + buttons: [{value:"Discard", function: discardChange}, {value:"Confirm", function: confirmChangeUsername}], }, "changeEmail": { title: "Change Email", inputs: [{id:"newEmail", type:"text", placeholder:"new email"}, - {id:"password", type:"password", placeholder:"password"}], - buttons: [{value:"Confirm", function: confirmChangeEmail}], + {id:"password", type:"password", placeholder:"password"}], + buttons: [{value:"Discard", function: discardChange}, + {value:"Confirm", function: confirmChangeEmail}], }, "forgotPassword": { title: "Forget Password", inputs: [{id:"email", type:"text", placeholder:"email"}], - buttons: [{value: "Send Email", function: sentForgetPwEmail}], + buttons: [{value:"Discard", function: discardChange}, + {value: "Send Email", function: sentForgetPwEmail}], }, "changePassword": { title: "Change Password", inputs: [{id:"oldPassword", type:"password", placeholder:"old password"}, {id:"password", type:"password", placeholder:"password"}, {id:"confirmPassword", type:"password", placeholder:"confirm password"}], - buttons: [{value:"Confirm", function: confirmChangePassword}], + buttons: [{value:"Discard", function: discardChange}, + {value:"Confirm", function: confirmChangePassword}], + }, + "logout": { + title: "Log Out", + buttons: [{value:"Discard", function: discardChange}, + {value:"Confirm", function: confirmDeleteAccount}], } } const deleteAccountData ={ "deleteAccount": { title: "You will not be able to recover this account", - buttons: [{value:"Discard", function: discardDeleteAccount}, - {value:"Confirm", function: confirmDeleteAccount}], + buttons: [{value:"Discard", function: discardChange}, + {value:"Confirm", function: confirmDeleteAccount}], } } const formKeys = Object.keys(formData); @@ -95,7 +99,6 @@ const AccountEdit = () => { {formKeys.map((key, i) => handleAction(key)} key={i}/>)} handleAction("deleteAccount")}/> - {/* TO DO: add logout link below*/} {/* */} diff --git a/front-end/GoodOldMap/src/pages/FavoriteList/Favorite.jsx b/front-end/GoodOldMap/src/pages/FavoriteList/Favorite.jsx new file mode 100644 index 0000000..b5a817f --- /dev/null +++ b/front-end/GoodOldMap/src/pages/FavoriteList/Favorite.jsx @@ -0,0 +1,8 @@ +const Favorite = () => { + return( +
+

Favorites

+
+ ) +} +export default Favorite \ No newline at end of file