diff --git a/src/Components/ErrorMessage/ErrorMessage.tsx b/src/Components/ErrorMessage/ErrorMessage.tsx index a07aaf5..69ce4dd 100644 --- a/src/Components/ErrorMessage/ErrorMessage.tsx +++ b/src/Components/ErrorMessage/ErrorMessage.tsx @@ -25,7 +25,7 @@ export default function ErrorMessage({

{messageToShow}

- Back to home page + Back to home page ) } diff --git a/src/pages/ProjectPage/ProjectDetailsCard/ProjectDetailsCard.tsx b/src/pages/ProjectPage/ProjectDetailsCard/ProjectDetailsCard.tsx index bf6fc88..50fbf04 100644 --- a/src/pages/ProjectPage/ProjectDetailsCard/ProjectDetailsCard.tsx +++ b/src/pages/ProjectPage/ProjectDetailsCard/ProjectDetailsCard.tsx @@ -1,4 +1,4 @@ -import { useState } from 'react' +import { useEffect, useState } from 'react' import { BsJoystick } from 'react-icons/bs' import { MdClose, MdLocalFireDepartment } from 'react-icons/md'; import { ModalCard } from 'src/Components/Modals/ModalsContainer/ModalsContainer'; @@ -13,6 +13,7 @@ import { Wallet_Service } from 'src/services' import { useProjectDetailsQuery } from 'src/graphql'; import Lightbox from 'src/Components/Lightbox/Lightbox' import linkifyHtml from 'linkify-html'; +import ErrorMessage from 'src/Components/ErrorMessage/ErrorMessage'; interface Props extends ModalCard { @@ -27,13 +28,20 @@ export default function ProjectDetailsCard({ onClose, direction, projectId, ...p - const { loading } = useProjectDetailsQuery({ + const { loading, error } = useProjectDetailsQuery({ variables: { projectId: projectId }, onCompleted: data => { dispatch(setProject(data.getProject)) }, }); + useEffect(() => { + return () => { + dispatch(setProject(null)) + } + }, [dispatch]) + + const { isWalletConnected, project, isMobileScreen } = useAppSelector(state => ({ @@ -43,6 +51,14 @@ export default function ProjectDetailsCard({ onClose, direction, projectId, ...p })); + if (error) + return
+
+ +
+
if (loading || !project) return ; diff --git a/src/redux/features/project.slice.ts b/src/redux/features/project.slice.ts index d4ff6a2..3e01aa9 100644 --- a/src/redux/features/project.slice.ts +++ b/src/redux/features/project.slice.ts @@ -14,13 +14,11 @@ export const projectSlice = createSlice({ name: "project", initialState, reducers: { - setProject(state, action: PayloadAction) { + setProject(state, action: PayloadAction) { state.project = action.payload; }, - unsetProject(state) { - state.project = null; - }, + }, });