|
1 |
| -import React, { useMemo, useState, useEffect } from "react"; |
| 1 | +import React, { useMemo } from "react"; |
2 | 2 | import styled from "styled-components";
|
3 | 3 | import { useParams } from "react-router-dom";
|
4 | 4 | import { formatEther } from "viem";
|
5 | 5 | import { useDisputeDetailsQuery } from "queries/useDisputeDetailsQuery";
|
6 |
| -import { useDisputeTemplate } from "queries/useDisputeTemplate"; |
| 6 | +import { usePopulatedDisputeData } from "hooks/queries/usePopulatedDisputeData"; |
7 | 7 | import { useCourtPolicy } from "queries/useCourtPolicy";
|
8 |
| -import { populateTemplate } from "@kleros/kleros-sdk/src/dataMappings/utils/populateTemplate"; |
9 |
| -import { executeActions } from "@kleros/kleros-sdk/src/dataMappings/executeActions"; |
10 |
| -import { configureSDK } from "@kleros/kleros-sdk/src/sdk"; |
11 |
| -import { alchemyApiKey } from "context/Web3Provider"; |
12 |
| -import { DisputeDetails } from "@kleros/kleros-sdk/src/dataMappings/utils/disputeDetailsTypes"; |
13 | 8 | import DisputeInfo from "components/DisputeCard/DisputeInfo";
|
14 | 9 | import Verdict from "components/Verdict/index";
|
15 | 10 | import { useVotingHistory } from "hooks/queries/useVotingHistory";
|
@@ -44,48 +39,15 @@ interface IOverview {
|
44 | 39 |
|
45 | 40 | const Overview: React.FC<IOverview> = ({ arbitrable, courtID, currentPeriodIndex }) => {
|
46 | 41 | const { id } = useParams();
|
47 |
| - const { data: disputeTemplate } = useDisputeTemplate(id, arbitrable); |
| 42 | + const { data: disputeDetails } = usePopulatedDisputeData(id, arbitrable); |
48 | 43 | const { data: dispute } = useDisputeDetailsQuery(id);
|
49 | 44 | const { data: courtPolicy } = useCourtPolicy(courtID);
|
50 | 45 | const { data: votingHistory } = useVotingHistory(id);
|
51 |
| - const [disputeDetails, setDisputeDetails] = useState<DisputeDetails | undefined>(undefined); |
52 | 46 | const localRounds = getLocalRounds(votingHistory?.dispute?.disputeKitDispute);
|
53 | 47 | const courtName = courtPolicy?.name;
|
54 | 48 | const court = dispute?.dispute?.court;
|
55 | 49 | const rewards = useMemo(() => (court ? `≥ ${formatEther(court.feeForJuror)} ETH` : undefined), [court]);
|
56 |
| - const category = disputeTemplate?.category ?? undefined; |
57 |
| - const disputeTemplateInput = disputeTemplate?.templateData; |
58 |
| - const dataMappingsInput = disputeTemplate?.templateDataMappings; |
59 |
| - |
60 |
| - useEffect(() => { |
61 |
| - configureSDK({ apiKey: alchemyApiKey }); |
62 |
| - const initialContext = { |
63 |
| - disputeID: id, |
64 |
| - arbitrable: arbitrable, |
65 |
| - }; |
66 |
| - |
67 |
| - if (!disputeTemplateInput) return; |
68 |
| - |
69 |
| - const fetchData = async () => { |
70 |
| - try { |
71 |
| - console.log("dataMappingsInput", dataMappingsInput); |
72 |
| - let data = {}; |
73 |
| - if (dataMappingsInput) { |
74 |
| - const parsedMappings = JSON.parse(dataMappingsInput); |
75 |
| - console.log("parsedMappings", parsedMappings); |
76 |
| - data = await executeActions(parsedMappings, initialContext); |
77 |
| - } |
78 |
| - console.log("data", data); |
79 |
| - const finalDisputeDetails = populateTemplate(disputeTemplateInput, data); |
80 |
| - setDisputeDetails(finalDisputeDetails); |
81 |
| - } catch (e) { |
82 |
| - console.error(e); |
83 |
| - setDisputeDetails(undefined); |
84 |
| - } |
85 |
| - }; |
86 |
| - |
87 |
| - fetchData(); |
88 |
| - }, [disputeTemplateInput, dataMappingsInput, arbitrable, id]); |
| 50 | + const category = disputeDetails?.category; |
89 | 51 |
|
90 | 52 | return (
|
91 | 53 | <>
|
|
0 commit comments