Skip to content

Commit dafa300

Browse files
committed
feat: styling and hidden link
1 parent 80cf7a7 commit dafa300

File tree

4 files changed

+57
-44
lines changed

4 files changed

+57
-44
lines changed

web/src/hooks/useContractAddress.tsx

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,16 @@
11
import { Abi, PublicClient } from "viem";
22
import { usePublicClient } from "wagmi";
33
import { GetContractArgs, GetContractResult } from "wagmi/actions";
4-
import { getPinakionV2, pinakionV2ABI, getWeth, getPnkFaucet, wethABI, pnkFaucetABI } from "./contracts/generated";
4+
import {
5+
getPinakionV2,
6+
pinakionV2ABI,
7+
getWeth,
8+
getPnkFaucet,
9+
wethABI,
10+
pnkFaucetABI,
11+
klerosCoreABI,
12+
getKlerosCore,
13+
} from "./contracts/generated";
514

615
type Config = Omit<GetContractArgs<Abi, unknown>, "abi" | "address"> & {
716
chainId?: any;
@@ -25,3 +34,7 @@ export const useWETHAddress = () => {
2534
export const usePNKFaucetAddress = () => {
2635
return useContractAddress<typeof pnkFaucetABI>(getPnkFaucet)?.address;
2736
};
37+
38+
export const useKlerosCoreAddress = () => {
39+
return useContractAddress<typeof klerosCoreABI>(getKlerosCore)?.address;
40+
};

web/src/layout/Header/TestnetBanner.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ const Container = styled.div`
99
background-color: ${({ theme }) => theme.tintPurple};
1010
color: ${({ theme }) => theme.primaryText};
1111
12-
padding: 6px 2px;
12+
padding: 5px 2px;
1313
1414
${landscapeStyle(
1515
() => css`
16-
padding: 8px 10px;
16+
padding: 5px 10px;
1717
`
1818
)}
1919
`;

web/src/layout/Header/navbar/Explore.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ const StyledLink = styled(Link)<{ isActive: boolean }>`
4848
)};
4949
`;
5050

51+
const HiddenLink = styled(StyledLink)<{ isActive: boolean }>`
52+
color: ${({ theme }) => theme.primaryPurple};
53+
`;
54+
5155
const links = [
5256
{ to: "/", text: "Home" },
5357
{ to: "/cases/display/1/desc/all", text: "Cases" },
@@ -73,6 +77,13 @@ const Explore: React.FC = () => {
7377
</StyledLink>
7478
</LinkContainer>
7579
))}
80+
<HiddenLink
81+
to="/disputeTemplate"
82+
onClick={toggleIsOpen}
83+
isActive={location.pathname.startsWith("/disputeTemplate")}
84+
>
85+
X
86+
</HiddenLink>
7687
</Container>
7788
);
7889
};

web/src/pages/DisputeTemplateView.tsx

Lines changed: 30 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ import { configureSDK } from "@kleros/kleros-sdk/src/sdk";
88
import { executeActions } from "@kleros/kleros-sdk/src/dataMappings/executeActions";
99
import { populateTemplate } from "@kleros/kleros-sdk/src/dataMappings/utils/populateTemplate";
1010
import { Answer, DisputeDetails } from "@kleros/kleros-sdk/src/dataMappings/utils/disputeDetailsTypes";
11+
import { useKlerosCoreAddress } from "hooks/useContractAddress";
1112
import { alchemyApiKey } from "context/Web3Provider";
1213
import { useDebounce } from "react-use";
1314
import Skeleton from "react-loading-skeleton";
1415

1516
const Container = styled.div`
16-
width: 50%;
1717
height: auto;
1818
display: flex;
1919
flex-direction: column;
@@ -81,6 +81,7 @@ const LongTextSections = styled.div`
8181
const StyledTextArea = styled(Textarea)`
8282
width: 30vw;
8383
height: calc(100vh - 300px);
84+
font-family: "Roboto Mono", monospace;
8485
`;
8586

8687
const StyledForm = styled.form`
@@ -98,11 +99,10 @@ const StyledRow = styled.div`
9899
`;
99100

100101
const StyledP = styled.p`
101-
font-style: italic;
102+
font-family: "Roboto Mono", monospace;
102103
`;
103104

104-
const StyledHeader = styled.h1`
105-
margin-left: 24px;
105+
const StyledHeader = styled.h2`
106106
margin-top 24px;
107107
`;
108108

@@ -113,14 +113,15 @@ const LongText = styled.div`
113113
`;
114114

115115
const DisputeTemplateView = () => {
116+
const klerosCoreAddress = useKlerosCoreAddress();
116117
const [disputeDetails, setDisputeDetails] = useState<DisputeDetails | undefined>(undefined);
117118
const [disputeTemplateInput, setDisputeTemplateInput] = useState<string>("");
118119
const [dataMappingsInput, setDataMappingsInput] = useState<string>("");
119-
const [arbitrator, setArbitrator] = useState("");
120-
const [arbitrable, setArbitrable] = useState("");
121-
const [arbitrableDisputeID, setArbitrableDisputeID] = useState("");
122-
const [externalDisputeID, setExternalDisputeID] = useState("");
123-
const [templateID, setTemplateID] = useState("");
120+
const [arbitrator, setArbitrator] = useState(klerosCoreAddress as string);
121+
const [arbitrable, setArbitrable] = useState("0x10f7A6f42Af606553883415bc8862643A6e63fdA"); // Escrow devnet
122+
const [arbitrableDisputeID, setArbitrableDisputeID] = useState("0");
123+
const [externalDisputeID, setExternalDisputeID] = useState("0");
124+
const [templateID, setTemplateID] = useState("0");
124125
const [templateUri, setTemplateUri] = useState("");
125126

126127
const [debouncedArbitrator, setDebouncedArbitrator] = useState(arbitrator);
@@ -204,82 +205,70 @@ const DisputeTemplateView = () => {
204205
]);
205206
return (
206207
<>
207-
<StyledHeader>Dispute Preview</StyledHeader>
208208
<StyledForm>
209-
<StyledP>Dispute Request event parameters</StyledP>
209+
<StyledHeader>Dispute Request event parameters</StyledHeader>
210210
<StyledRow>
211-
<p>Arbitrator</p>
212-
<Field
213-
type="text"
214-
value={arbitrator}
215-
onChange={(e) => setArbitrator(e.target.value)}
216-
placeholder="Enter arbitrator address"
217-
/>
211+
<StyledP>{"{{ arbitrator }}"}</StyledP>
212+
<Field type="text" value={arbitrator} onChange={(e) => setArbitrator(e.target.value)} placeholder="0x..." />
218213
</StyledRow>
219214
<StyledRow>
220-
<p>Arbitrable</p>
221-
<Field
222-
type="text"
223-
value={arbitrable}
224-
onChange={(e) => setArbitrable(e.target.value)}
225-
placeholder="Enter arbitrable address"
226-
/>
215+
<StyledP>{"{{ arbitrable }}"}</StyledP>
216+
<Field type="text" value={arbitrable} onChange={(e) => setArbitrable(e.target.value)} placeholder="0x..." />
227217
</StyledRow>
228218
<StyledRow>
229-
<p>ArbitrableDisputeID</p>
219+
<StyledP>{"{{ arbitrableDisputeID }}"}</StyledP>
230220
<Field
231221
type="text"
232222
value={arbitrableDisputeID}
233223
onChange={(e) => setArbitrableDisputeID(e.target.value)}
234-
placeholder="Enter arbitrableDisputeID"
224+
placeholder="0"
235225
/>
236226
</StyledRow>
237227
<StyledRow>
238-
<p>ExternalDisputeID</p>
228+
<StyledP>{"{{ externalDisputeID }}"}</StyledP>
239229
<Field
240230
type="text"
241231
value={externalDisputeID}
242232
onChange={(e) => setExternalDisputeID(e.target.value)}
243-
placeholder="Enter externalDisputeID"
233+
placeholder="0"
244234
/>
245235
</StyledRow>
246236
<StyledRow>
247-
<p>TemplateID</p>
248-
<Field
249-
type="text"
250-
value={templateID}
251-
onChange={(e) => setTemplateID(e.target.value)}
252-
placeholder="Enter templateID"
253-
/>
237+
<StyledP>{"{{ templateID }}"}</StyledP>
238+
<Field type="text" value={templateID} onChange={(e) => setTemplateID(e.target.value)} placeholder="0" />
254239
</StyledRow>
255240
<StyledRow>
256-
<p>TemplateUri</p>
241+
<StyledP>{"{{ templateUri }}"}</StyledP>
257242
<Field
258243
type="text"
259244
value={templateUri}
260245
onChange={(e) => setTemplateUri(e.target.value)}
261-
placeholder="Enter templateUri"
246+
placeholder="ipfs://... (optional)"
262247
/>
263248
</StyledRow>
264249
</StyledForm>
265250
<LongTextSections>
266251
<LongText>
267-
<p>Template</p>
252+
<StyledHeader>Template</StyledHeader>
268253
<StyledTextArea
269254
value={disputeTemplateInput}
270255
onChange={(e) => setDisputeTemplateInput(e.target.value)}
271256
placeholder="Enter dispute template"
272257
/>
273258
</LongText>
274259
<LongText>
275-
<p>Data Mapping</p>
260+
<StyledHeader>Data Mapping</StyledHeader>
276261
<StyledTextArea
277262
value={dataMappingsInput}
278263
onChange={(e) => setDataMappingsInput(e.target.value)}
279264
placeholder="Enter data mappings"
280265
/>
281266
</LongText>
282-
{loading ? <Skeleton width={300} /> : <Overview disputeDetails={disputeDetails} />}
267+
<LongText>
268+
<StyledHeader>Dispute Preview</StyledHeader>
269+
<br />
270+
{loading ? <Skeleton /> : <Overview disputeDetails={disputeDetails} />}
271+
</LongText>
283272
</LongTextSections>
284273
</>
285274
);

0 commit comments

Comments
 (0)