diff --git a/web-devtools/src/assets/svgs/socialmedia/discord.svg b/web-devtools/src/assets/svgs/socialmedia/discord.svg
index cd9ecfead..8689eefd8 100644
--- a/web-devtools/src/assets/svgs/socialmedia/discord.svg
+++ b/web-devtools/src/assets/svgs/socialmedia/discord.svg
@@ -1,10 +1,10 @@
-
} />
- } />
+ 0 ? filteredTabs[0].path : ""} replace />} />
diff --git a/web/src/pages/Courts/CourtDetails/StakePanel/SimulatorPopup/index.tsx b/web/src/pages/Courts/CourtDetails/StakePanel/SimulatorPopup/index.tsx
index 5c52bf08d..03bb047bb 100644
--- a/web/src/pages/Courts/CourtDetails/StakePanel/SimulatorPopup/index.tsx
+++ b/web/src/pages/Courts/CourtDetails/StakePanel/SimulatorPopup/index.tsx
@@ -269,7 +269,7 @@ const SimulatorPopup: React.FC = ({ amountToStake, isStaking })
- {!amountToStake || amountToStake === 0 ? "Enter amount" : null}
+ {!amountToStake || amountToStake === 0 ? "?" : null}
{!isUndefined(amountToStake) &&
amountToStake > 0 &&
(!isUndefined(item.futureValue) ? item.futureValue : )}
diff --git a/web/src/pages/Courts/CourtDetails/StakePanel/index.tsx b/web/src/pages/Courts/CourtDetails/StakePanel/index.tsx
index 166871a05..73ec4a3b3 100644
--- a/web/src/pages/Courts/CourtDetails/StakePanel/index.tsx
+++ b/web/src/pages/Courts/CourtDetails/StakePanel/index.tsx
@@ -18,7 +18,7 @@ import SimulatorPopup from "./SimulatorPopup";
const Container = styled.div`
position: relative;
width: 100%;
- margin-top: 32px;
+ margin-top: 12px;
display: flex;
flex-direction: column;
gap: 28px;
diff --git a/web/src/pages/Courts/CourtDetails/Stats.tsx b/web/src/pages/Courts/CourtDetails/Stats.tsx
index d695b1ea9..7d1db45bc 100644
--- a/web/src/pages/Courts/CourtDetails/Stats.tsx
+++ b/web/src/pages/Courts/CourtDetails/Stats.tsx
@@ -36,7 +36,7 @@ import Info from "./Info";
const StyledAccordion = styled(Accordion)`
width: 100%;
- margin-bottom: 12px;
+ margin-top: 24px;
> * > button {
justify-content: unset;
background-color: ${({ theme }) => theme.whiteBackground} !important;
@@ -67,6 +67,7 @@ const AllTimeContainer = styled(TimeDisplayContainer)`
const TimeSelectorContainer = styled(TimeDisplayContainer)`
padding-top: 12px;
+ padding-bottom: 12px;
flex-wrap: wrap;
`;
@@ -88,7 +89,7 @@ const StyledCard = styled.div`
height: fit-content;
display: grid;
gap: 32px;
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
+ grid-template-columns: repeat(auto-fit, minmax(156px, 1fr));
padding-top: ${responsiveSize(28, 32)};
padding-bottom: ${responsiveSize(20, 0)};
@@ -141,6 +142,17 @@ const stats: IStat[] = [
color: "purple",
icon: VoteStake,
},
+ {
+ title: "Reward per Vote",
+ coinId: 1,
+ getText: (data) => {
+ const jurorReward = formatUnitsWei(data?.feeForJuror);
+ return jurorReward;
+ },
+ getSubtext: (data, coinPrice) => formatUSD(Number(formatUnitsWei(data?.feeForJuror)) * (coinPrice ?? 0)),
+ color: "purple",
+ icon: EthereumIcon,
+ },
{
title: "Active Jurors",
getText: (data) => data?.numberStakedJurors,
@@ -168,7 +180,7 @@ const stats: IStat[] = [
icon: BalanceIcon,
},
{
- title: "ETH paid to Jurors",
+ title: "Total ETH paid",
coinId: 1,
getText: (data) => formatETH(data?.paidETH),
getSubtext: (data, coinPrice) => formatUSD(Number(formatUnitsWei(data?.paidETH)) * (coinPrice ?? 0)),
@@ -200,13 +212,9 @@ interface ITimeframedStat {
}
const timeRanges = [
- { value: 7, text: "Last 7 days" },
{ value: 30, text: "Last 30 days" },
{ value: 90, text: "Last 90 days" },
- /* we can uncomment as court creation time increases,
- but it's a bit tricky because this affects every court */
- // { value: 180, text: "Last 180 days" },
- // { value: 365, text: "Last 365 days" },
+ { value: 180, text: "Last 180 days" },
{ value: "allTime", text: "All Time" },
];
@@ -326,8 +334,8 @@ const Stats = () => {
defaultValue={selectedRange}
callback={handleTimeRangeChange}
/>
-
+
{timeframedStats.map(({ title, getText, color, icon }) => {
return (
diff --git a/web/src/pages/Courts/CourtDetails/index.tsx b/web/src/pages/Courts/CourtDetails/index.tsx
index 271ea9891..ce255278c 100644
--- a/web/src/pages/Courts/CourtDetails/index.tsx
+++ b/web/src/pages/Courts/CourtDetails/index.tsx
@@ -20,7 +20,6 @@ import HowItWorks from "components/HowItWorks";
import LatestCases from "components/LatestCases";
import Staking from "components/Popup/MiniGuides/Staking";
import { StyledSkeleton } from "components/StyledSkeleton";
-import { Divider } from "components/Divider";
import ScrollTop from "components/ScrollTop";
import Description from "./Description";
@@ -35,6 +34,13 @@ const CourtHeader = styled.h1`
justify-content: space-between;
gap: 24px;
flex-wrap: wrap;
+ margin-bottom: 24px;
+
+ ${landscapeStyle(
+ () => css`
+ margin-bottom: 20px;
+ `
+ )};
`;
const CourtInfo = styled.div`
@@ -44,7 +50,7 @@ const CourtInfo = styled.div`
${landscapeStyle(
() => css`
- gap: 32px;
+ gap: 20px;
`
)};
`;
@@ -54,19 +60,19 @@ const ButtonContainer = styled.div`
flex-wrap: wrap;
flex-direction: column;
align-items: flex-start;
- gap: 16px;
+ gap: 8px;
${landscapeStyle(
() => css`
align-items: flex-end;
- gap: 32px;
`
)};
`;
const StyledCard = styled(Card)`
padding: ${responsiveSize(16, 32)};
- margin-top: ${responsiveSize(16, 24)};
+ padding-bottom: 16px;
+ margin-top: 12px;
width: 100%;
height: auto;
min-height: 100px;
@@ -112,9 +118,8 @@ const CourtDetails: React.FC = () => {
{!isProductionDeployment() && }
-
-
+
diff --git a/web/src/pages/Dashboard/Courts/CourtCard/CourtName.tsx b/web/src/pages/Dashboard/Courts/CourtCard/CourtName.tsx
index 4ff454167..6b53b480d 100644
--- a/web/src/pages/Dashboard/Courts/CourtCard/CourtName.tsx
+++ b/web/src/pages/Dashboard/Courts/CourtCard/CourtName.tsx
@@ -4,7 +4,8 @@ import styled, { css } from "styled-components";
import { landscapeStyle } from "styles/landscapeStyle";
import ArrowIcon from "svgs/icons/arrow.svg";
-import { Link } from "react-router-dom";
+
+import { StyledArrowLink } from "components/StyledArrowLink";
const Container = styled.div`
display: flex;
@@ -20,24 +21,19 @@ const Container = styled.div`
}
${landscapeStyle(
- () =>
- css`
- justify-content: flex-start;
- width: auto;
- `
+ () => css`
+ justify-content: flex-start;
+ width: auto;
+ `
)}
`;
-const StyledLink = styled(Link)`
- display: flex;
- gap: 8px;
- align-items: center;
+const ReStyledArrowLink = styled(StyledArrowLink)`
+ font-size: 14px;
+
> svg {
height: 15px;
width: 15px;
- path {
- fill: ${({ theme }) => theme.primaryBlue};
- }
}
`;
@@ -50,9 +46,9 @@ const CourtName: React.FC = ({ name, id }) => {
return (
{name}
-
+
Open Court
-
+
);
};
diff --git a/web/src/pages/Dashboard/JurorInfo/Coherency.tsx b/web/src/pages/Dashboard/JurorInfo/Coherence.tsx
similarity index 92%
rename from web/src/pages/Dashboard/JurorInfo/Coherency.tsx
rename to web/src/pages/Dashboard/JurorInfo/Coherence.tsx
index ae164a75d..712884d22 100644
--- a/web/src/pages/Dashboard/JurorInfo/Coherency.tsx
+++ b/web/src/pages/Dashboard/JurorInfo/Coherence.tsx
@@ -25,7 +25,7 @@ const tooltipMsg =
" (after all the appeal instances). If the juror vote is the same as " +
" the majority of jurors it's considered a Coherent Vote.";
-interface ICoherency {
+interface ICoherence {
userLevelData: {
level: number;
title: string;
@@ -35,7 +35,7 @@ interface ICoherency {
isMiniGuide: boolean;
}
-const Coherency: React.FC = ({ userLevelData, totalCoherentVotes, totalResolvedVotes, isMiniGuide }) => {
+const Coherence: React.FC = ({ userLevelData, totalCoherentVotes, totalResolvedVotes, isMiniGuide }) => {
const votesContent = (