@@ -15,6 +15,8 @@ interface RequestBoxProps {
15
15
openModal : ( ) => void ;
16
16
submitRequest : ( ) => void ;
17
17
isMetamaskNetwork ?: boolean ;
18
+ defExampleResponse ?: any ;
19
+ resetResponseHandle : ( ) => void ;
18
20
}
19
21
20
22
export default function RequestBox ( {
@@ -26,6 +28,8 @@ export default function RequestBox({
26
28
openModal,
27
29
submitRequest,
28
30
isMetamaskNetwork = false ,
31
+ defExampleResponse,
32
+ resetResponseHandle,
29
33
} : RequestBoxProps ) {
30
34
31
35
const exampleRequest = useMemo ( ( ) => {
@@ -40,8 +44,18 @@ export default function RequestBox({
40
44
} , [ method , paramsData ] ) ;
41
45
42
46
const exampleResponse = useMemo ( ( ) => {
43
- return JSON . stringify ( response , null , 2 ) ;
44
- } , [ response ] ) ;
47
+ if ( defExampleResponse && response === undefined ) {
48
+ return JSON . stringify (
49
+ defExampleResponse === "null" ? null : defExampleResponse ,
50
+ null ,
51
+ 2
52
+ ) ;
53
+ }
54
+ if ( response !== undefined ) {
55
+ return JSON . stringify ( response , null , 2 ) ;
56
+ }
57
+ return false
58
+ } , [ response , defExampleResponse ] ) ;
45
59
46
60
const methodsWithRequiredWalletConnection = [ "eth_accounts" , "eth_sendTransaction" , "personal_sign" , "eth_signTypedData_v4" ] ;
47
61
const isRunAndCustomizeRequestDisabled = methodsWithRequiredWalletConnection . includes ( method ) ?
@@ -93,10 +107,22 @@ export default function RequestBox({
93
107
}
94
108
</ div >
95
109
</ div >
96
- { response !== undefined && (
110
+ { exampleResponse && (
97
111
< div className = { styles . cardWrapper } >
98
112
< div className = { styles . cardHeader } >
99
- < strong className = { styles . cardHeading } > Response</ strong >
113
+ < strong className = { styles . cardHeading } >
114
+ { defExampleResponse && response === undefined ? "Example response" : "Response" }
115
+ </ strong >
116
+ { defExampleResponse && response !== undefined && (
117
+ < Tooltip message = "Reset response" >
118
+ < button
119
+ className = { styles . resetResponseBtn }
120
+ onClick = { resetResponseHandle }
121
+ >
122
+ < img src = "/img/icons/reset-icon.svg" />
123
+ </ button >
124
+ </ Tooltip >
125
+ ) }
100
126
</ div >
101
127
< div >
102
128
< CodeBlock language = "javascript" className = { clsx ( styles . responseBlock , "margin-bottom--none" ) } >
0 commit comments