From d8c41c099fab71c679faab750fe1de2578360c55 Mon Sep 17 00:00:00 2001 From: Barry Gitarts Date: Thu, 4 Apr 2019 11:49:26 -0400 Subject: [PATCH] ensure refresh of data when project id changes --- app/components/projects/Project.jsx | 14 +++++++------- app/components/projects/hooks.js | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/components/projects/Project.jsx b/app/components/projects/Project.jsx index 165362c..a928c5c 100644 --- a/app/components/projects/Project.jsx +++ b/app/components/projects/Project.jsx @@ -193,11 +193,11 @@ function Project({ classes, match, profile, transfers, pledges, projectAddedEven const projectId = match.params.id const { projectAge, projectAssets, manifest } = useProjectData(projectId, profile, projectAddedEvents) - const amountsPledged = useMemo(() => getAmountsPledged(pledges), [pledges]) - const numberOfBackers = useMemo(() => getNumberOfBackers(pledges), [pledges]) - const mediaType = useMemo(() => getMediaType(projectAssets), [projectAssets]) - const mediaUrl = useMemo(() => getMediaSrc(projectAssets), [projectAssets]) - const avatarUrl = useMemo(() => getAvatarSrc(projectAssets), [projectAssets]) + const amountsPledged = useMemo(() => getAmountsPledged(pledges), [pledges, projectId]) + const numberOfBackers = useMemo(() => getNumberOfBackers(pledges), [pledges, projectId]) + const mediaType = useMemo(() => getMediaType(projectAssets), [projectAssets, projectId]) + const mediaUrl = useMemo(() => getMediaSrc(projectAssets), [projectAssets, projectId]) + const avatarUrl = useMemo(() => getAvatarSrc(projectAssets), [projectAssets, projectId]) const totalPledged = amountsPledged[0] ? amountsPledged[0][1] : 0 const percentToGoal = manifest ? Math.min( (Number(totalPledged) / Number(manifest.goal)) * 100, @@ -232,7 +232,7 @@ function Project({ classes, match, profile, transfers, pledges, projectAddedEven title="media-description" />}
- {amountsPledged[0] ? ({ +export default withDatabase(withObservables(['match'], ({ database, match }) => ({ profile: database.collections.get('profiles').query( Q.where('id_profile', match.params.id) ).observe(), diff --git a/app/components/projects/hooks.js b/app/components/projects/hooks.js index 0fe25fa..60e71ec 100644 --- a/app/components/projects/hooks.js +++ b/app/components/projects/hooks.js @@ -96,13 +96,13 @@ export function useProjectData(projectId, profile, projectAddedEvents) { useEffect(() => { getProjectAge(projectId, projectAddedEvents, setAge) - }, [projectAddedEvents]) + }, [projectAddedEvents, projectId]) useEffect(() => { getProjectAssets(projectId, setAssets) }, [projectId, ipfsReady]) - const manifest = useMemo(() => getProjectManifest(projectAssets), [projectAssets]) + const manifest = useMemo(() => getProjectManifest(projectAssets), [projectAssets, projectId]) return { projectAge,