From 8d3ea9b8cfc7e85c1db910d826d7de8bf8bd39fd Mon Sep 17 00:00:00 2001
From: Martin Wighus Holtmon <martinwh@stud.ntnu.no>
Date: Fri, 12 Nov 2021 10:58:07 +0100
Subject: [PATCH] projectPart2/Problem1: Fixed issue where main component did
 not update when clicking through the user list.

---
 .../src/photo-share/pages/user-detail/UserDetail.jsx        | 5 +++++
 .../src/photo-share/pages/user-photos/UserPhotos.jsx        | 6 ++++++
 2 files changed, 11 insertions(+)

diff --git a/projectSecondPart/src/photo-share/pages/user-detail/UserDetail.jsx b/projectSecondPart/src/photo-share/pages/user-detail/UserDetail.jsx
index 31659db..5b986a1 100644
--- a/projectSecondPart/src/photo-share/pages/user-detail/UserDetail.jsx
+++ b/projectSecondPart/src/photo-share/pages/user-detail/UserDetail.jsx
@@ -17,6 +17,11 @@ class UserDetail extends React.Component {
 		this.state = {userDetails: PROG2053Models.userModel(this.props.match.params.userId)};
 	}
 
+	componentDidUpdate(prevProps) {
+		if (this.props.match.params.userId !== prevProps.match.params.userId) {
+			this.setState({userDetails: PROG2053Models.userModel(this.props.match.params.userId)});
+		}
+	}
 
 	generateUserPreview = () => {
 		const user = this.state.userDetails;
diff --git a/projectSecondPart/src/photo-share/pages/user-photos/UserPhotos.jsx b/projectSecondPart/src/photo-share/pages/user-photos/UserPhotos.jsx
index 265fb07..6e41697 100644
--- a/projectSecondPart/src/photo-share/pages/user-photos/UserPhotos.jsx
+++ b/projectSecondPart/src/photo-share/pages/user-photos/UserPhotos.jsx
@@ -15,6 +15,12 @@ class UserPhotos extends React.Component {
 		this.state = {userPhotos: PROG2053Models.photoOfUserModel(this.props.match.params.userId)};
 	}
 
+	componentDidUpdate(prevProps) {
+		if (this.props.match.params.userId !== prevProps.match.params.userId) {
+			this.setState({userPhotos: PROG2053Models.photoOfUserModel(this.props.match.params.userId)});
+		}
+	}
+
 	getAuthor = (user) => {
 		if (user) {
 			return <Link to={`/photo-share/users/${user._id}`}>{user.first_name} {user.last_name}</Link>;
-- 
GitLab