Skip to content

Commit 62e7046

Browse files
authored
Merge pull request #1917 from kleros/chore/clear-local-dispute-data-on-mount
Chore/clear local dispute data on mount
2 parents 8978cd9 + 4fee7b3 commit 62e7046

File tree

3 files changed

+14
-4
lines changed

3 files changed

+14
-4
lines changed

web/src/components/Popup/index.tsx

+3
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,9 @@ const Popup: React.FC<PopupProps & IPopup> = ({
239239
const closePopup = () => {
240240
setIsOpen(false);
241241
resetValue();
242+
// dispute data is cleared, so if popup is closed the preview will show empty,
243+
// instead redirect to start point.
244+
if (popupType === PopupType.DISPUTE_CREATED) navigate("/resolver");
242245
};
243246

244247
return (

web/src/context/NewDisputeContext.tsx

+6-3
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ interface INewDisputeContext {
6060
setIsPolicyUploading: (isPolicyUploading: boolean) => void;
6161
}
6262

63-
const initialDisputeData: IDisputeData = {
63+
const getInitialDisputeData = (): IDisputeData => ({
6464
numberOfJurors: 3,
6565
title: "",
6666
description: "",
@@ -72,7 +72,9 @@ const initialDisputeData: IDisputeData = {
7272
],
7373
aliasesArray: [{ name: "", address: "", id: "1" }],
7474
version: "1.0",
75-
};
75+
});
76+
77+
const initialDisputeData = getInitialDisputeData();
7678

7779
const NewDisputeContext = createContext<INewDisputeContext | undefined>(undefined);
7880

@@ -92,7 +94,8 @@ export const NewDisputeProvider: React.FC<{ children: React.ReactNode }> = ({ ch
9294
const disputeTemplate = useMemo(() => constructDisputeTemplate(disputeData), [disputeData]);
9395

9496
const resetDisputeData = useCallback(() => {
95-
setDisputeData(initialDisputeData);
97+
const freshData = getInitialDisputeData();
98+
setDisputeData(freshData);
9699
}, [setDisputeData]);
97100

98101
const contextValues = useMemo(

web/src/pages/Resolver/index.tsx

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1-
import React from "react";
1+
import React, { useEffect } from "react";
22
import styled, { css } from "styled-components";
33

44
import { Navigate, Route, Routes, useLocation } from "react-router-dom";
55
import { useToggle } from "react-use";
66
import { useAccount } from "wagmi";
77

8+
import { useNewDisputeContext } from "context/NewDisputeContext";
9+
810
import { MAX_WIDTH_LANDSCAPE, landscapeStyle } from "styles/landscapeStyle";
911
import { responsiveSize } from "styles/responsiveSize";
1012

@@ -79,7 +81,9 @@ const DisputeResolver: React.FC = () => {
7981
const [isDisputeResolverMiniGuideOpen, toggleDisputeResolverMiniGuide] = useToggle(false);
8082
const { isConnected } = useAccount();
8183
const isPreviewPage = location.pathname.includes("/preview");
84+
const { resetDisputeData } = useNewDisputeContext();
8285

86+
useEffect(() => resetDisputeData(), []);
8387
return (
8488
<Wrapper>
8589
<HeroImage />

0 commit comments

Comments
 (0)