diff --git a/src/backend/app.py b/src/backend/app.py index b7b61a737..d7c6fc09a 100644 --- a/src/backend/app.py +++ b/src/backend/app.py @@ -50,8 +50,9 @@ def register(): @app.route("/user/", methods=["GET", "POST"]) -def userpage(): +def userpage(username): """Handles userpage requests""" + session["username"] = "Zongxian" if session.get("username", None) is None: return "user does not exist", 404 username = session.get("username") @@ -78,7 +79,7 @@ def userpage(): return result, 201 user = page.get_user(username) # request.method == "GET" data_dict = dataclasses.asdict(user) - return json.dumps(data_dict), username, 201 + return json.dumps(data_dict), 201 @app.route("/logout") diff --git a/src/frontend/src/App.tsx b/src/frontend/src/App.tsx index 11b58054a..2980d6f04 100644 --- a/src/frontend/src/App.tsx +++ b/src/frontend/src/App.tsx @@ -5,7 +5,7 @@ import Header from './components/Header'; import Login from './pages/Login'; import MainPage from './pages/MainPage'; import Register from './pages/Register'; -// import UserPage from './pages/UserPage'; +import User from './pages/User'; function App() { return ( @@ -25,7 +25,7 @@ function App() { } /> - {/* } /> */} + } /> diff --git a/src/frontend/src/components/user/getReviewedApts.tsx b/src/frontend/src/components/user/getReviewedApts.tsx index ac26ba440..ef4db24a0 100644 --- a/src/frontend/src/components/user/getReviewedApts.tsx +++ b/src/frontend/src/components/user/getReviewedApts.tsx @@ -11,11 +11,14 @@ export default function getReviewedApts(username: string) { const [apartments, setApartments] = useState(emptyarray); useEffect(() => { + setLoading(true); + setError(false); const CancelToken = axios.CancelToken; const source = CancelToken.source(); const timer = setTimeout(() => { const req = { is_get_liked: true, + user_id: 1, }; const json = JSON.stringify(req); axios({ @@ -38,7 +41,7 @@ export default function getReviewedApts(username: string) { price_max: res.data[i].price_max, votes: res.data[i].votes, }); - }; + } } return newApartments; }) @@ -52,6 +55,6 @@ export default function getReviewedApts(username: string) { clearTimeout(timer); source.cancel(); }; - }); + }, [username]); return {loading, error, apartments}; } \ No newline at end of file diff --git a/src/frontend/src/components/user/getUser.tsx b/src/frontend/src/components/user/getUser.tsx index 508563475..985e65a9f 100644 --- a/src/frontend/src/components/user/getUser.tsx +++ b/src/frontend/src/components/user/getUser.tsx @@ -41,7 +41,7 @@ export default function getInfo(username: string) { clearTimeout(timer); source.cancel(); }; - }); + }, [username]); return {loading, error, user}; } diff --git a/src/frontend/src/pages/User.tsx b/src/frontend/src/pages/User.tsx index 22550a1fa..74626ee0e 100644 --- a/src/frontend/src/pages/User.tsx +++ b/src/frontend/src/pages/User.tsx @@ -11,6 +11,11 @@ import { Divider, Stack, Button, + Link, + ListItemAvatar, + Avatar, + ListItem, + AvatarGroup } from '@mui/material'; import EmailIcon from '@mui/icons-material/Email'; import PhoneIcon from '@mui/icons-material/Phone'; @@ -23,11 +28,17 @@ import getUser from '../components/user/getUser'; export default function User() { + const btnstyle = { marginLeft: '10px' }; return ( <> - + + @@ -39,56 +50,68 @@ export default function User() { } function FormUser() { - const user_info = getUser(""); + const user_info = getUser("Zongxian"); return ( - - - - - - + + + + + + + + - - - + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + ); } function FormLikedApts() { - const reviewed_apts = getReviewedApts(""); + console.log("Getting apt info") + const reviewed_apts = getReviewedApts("Zongxian"); return ( {reviewed_apts.apartments.map((apt, i) => { return ( - ); })}