From 3347ca4cb1077448947f21a77e748df348895bb8 Mon Sep 17 00:00:00 2001 From: Harman-singh-waraich Date: Mon, 10 Mar 2025 14:13:06 +0530 Subject: [PATCH 1/2] chore(web): reset-old-dispute-data-on-resolver-mount --- web/src/context/NewDisputeContext.tsx | 9 ++++++--- web/src/pages/Resolver/index.tsx | 6 +++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/web/src/context/NewDisputeContext.tsx b/web/src/context/NewDisputeContext.tsx index e4988ba5f..f15e2440b 100644 --- a/web/src/context/NewDisputeContext.tsx +++ b/web/src/context/NewDisputeContext.tsx @@ -60,7 +60,7 @@ interface INewDisputeContext { setIsPolicyUploading: (isPolicyUploading: boolean) => void; } -const initialDisputeData: IDisputeData = { +const getInitialDisputeData = (): IDisputeData => ({ numberOfJurors: 3, title: "", description: "", @@ -72,7 +72,9 @@ const initialDisputeData: IDisputeData = { ], aliasesArray: [{ name: "", address: "", id: "1" }], version: "1.0", -}; +}); + +const initialDisputeData = getInitialDisputeData(); const NewDisputeContext = createContext(undefined); @@ -92,7 +94,8 @@ export const NewDisputeProvider: React.FC<{ children: React.ReactNode }> = ({ ch const disputeTemplate = useMemo(() => constructDisputeTemplate(disputeData), [disputeData]); const resetDisputeData = useCallback(() => { - setDisputeData(initialDisputeData); + const freshData = getInitialDisputeData(); + setDisputeData(freshData); }, [setDisputeData]); const contextValues = useMemo( diff --git a/web/src/pages/Resolver/index.tsx b/web/src/pages/Resolver/index.tsx index 386f16c75..1cece5e56 100644 --- a/web/src/pages/Resolver/index.tsx +++ b/web/src/pages/Resolver/index.tsx @@ -1,10 +1,12 @@ -import React from "react"; +import React, { useEffect } from "react"; import styled, { css } from "styled-components"; import { Navigate, Route, Routes, useLocation } from "react-router-dom"; import { useToggle } from "react-use"; import { useAccount } from "wagmi"; +import { useNewDisputeContext } from "context/NewDisputeContext"; + import { MAX_WIDTH_LANDSCAPE, landscapeStyle } from "styles/landscapeStyle"; import { responsiveSize } from "styles/responsiveSize"; @@ -79,7 +81,9 @@ const DisputeResolver: React.FC = () => { const [isDisputeResolverMiniGuideOpen, toggleDisputeResolverMiniGuide] = useToggle(false); const { isConnected } = useAccount(); const isPreviewPage = location.pathname.includes("/preview"); + const { resetDisputeData } = useNewDisputeContext(); + useEffect(() => resetDisputeData(), []); return ( From 4fee7b380fc6c63855a4cee532f4e5949edfc017 Mon Sep 17 00:00:00 2001 From: Harman-singh-waraich Date: Mon, 10 Mar 2025 14:19:16 +0530 Subject: [PATCH 2/2] chore(web): redirect-to-resolver-start-when-popup-close --- web/src/components/Popup/index.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/web/src/components/Popup/index.tsx b/web/src/components/Popup/index.tsx index 6ef37e4cd..3117e4167 100644 --- a/web/src/components/Popup/index.tsx +++ b/web/src/components/Popup/index.tsx @@ -239,6 +239,9 @@ const Popup: React.FC = ({ const closePopup = () => { setIsOpen(false); resetValue(); + // dispute data is cleared, so if popup is closed the preview will show empty, + // instead redirect to start point. + if (popupType === PopupType.DISPUTE_CREATED) navigate("/resolver"); }; return (