|
1 | | -import React, { useCallback, useEffect, useMemo, useState } from "react"; |
| 1 | +import React, { useCallback, useMemo, useState } from "react"; |
2 | 2 | import styled from "styled-components"; |
3 | 3 |
|
4 | 4 | import { RULING_MODE } from "consts"; |
@@ -45,25 +45,18 @@ const AutomaticPresetInputsContainer = styled.div` |
45 | 45 | flex-wrap: wrap; |
46 | 46 | `; |
47 | 47 |
|
| 48 | +const StyledLabel = styled.label``; |
| 49 | + |
48 | 50 | const RulingModes: React.FC = () => { |
49 | 51 | const { isConnected, chainId } = useAccount(); |
50 | 52 | const { arbitrable, arbitrableSettings } = useRulerContext(); |
51 | | - const [rulingMode, setRulingMode] = useState<RULING_MODE>(); |
| 53 | + const [rulingMode, setRulingMode] = useState<RULING_MODE>(RULING_MODE.Uninitialized); |
52 | 54 | const [tie, setTie] = useState(false); |
53 | 55 | const [overriden, setOverriden] = useState(false); |
54 | 56 | const [ruling, setRuling] = useState(0); |
55 | 57 | const [isSending, setIsSending] = useState(false); |
56 | 58 |
|
57 | 59 | const publicClient = usePublicClient(); |
58 | | - useEffect(() => { |
59 | | - // only update once the arbitrable settings are fetched and only update initially, not updated on refetch |
60 | | - if (!isUndefined(rulingMode) || !arbitrableSettings) return; |
61 | | - |
62 | | - setRulingMode(arbitrableSettings.rulingMode); |
63 | | - setOverriden(arbitrableSettings.overridden); |
64 | | - setRuling(arbitrableSettings.ruling); |
65 | | - setTie(arbitrableSettings.tied); |
66 | | - }, [rulingMode, arbitrableSettings]); |
67 | 60 |
|
68 | 61 | const { |
69 | 62 | data: manualModeConfig, |
@@ -220,6 +213,9 @@ const RulingModes: React.FC = () => { |
220 | 213 | return ( |
221 | 214 | <Container> |
222 | 215 | <Header text="Ruling Mode" /> |
| 216 | + <StyledLabel> |
| 217 | + Current mode: <small>{getRulingModeText(arbitrableSettings?.rulingMode)}</small> |
| 218 | + </StyledLabel> |
223 | 219 | <SelectContainer> |
224 | 220 | <Radio |
225 | 221 | small |
@@ -282,4 +278,18 @@ const RulingModes: React.FC = () => { |
282 | 278 | ); |
283 | 279 | }; |
284 | 280 |
|
| 281 | +const getRulingModeText = (mode?: RULING_MODE) => { |
| 282 | + if (!mode) return "Uninitialized"; |
| 283 | + switch (mode) { |
| 284 | + case RULING_MODE.Manual: |
| 285 | + return "Manual"; |
| 286 | + case RULING_MODE.AutomaticRandom: |
| 287 | + return "Automatic Random"; |
| 288 | + case RULING_MODE.AutomaticPreset: |
| 289 | + return "Automatic Preset"; |
| 290 | + default: |
| 291 | + return "Uninitialized"; |
| 292 | + } |
| 293 | +}; |
| 294 | + |
285 | 295 | export default RulingModes; |
0 commit comments