From f77054cae562677e236885e0a07285af7141e874 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rn=20Andre=20Tangen=20=40gorillatron?= Date: Thu, 25 Apr 2024 10:56:13 +0200 Subject: [PATCH 01/21] useMintedInCourt query hook --- lib/hooks/queries/useMintedInCourt.ts | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 lib/hooks/queries/useMintedInCourt.ts diff --git a/lib/hooks/queries/useMintedInCourt.ts b/lib/hooks/queries/useMintedInCourt.ts new file mode 100644 index 000000000..c948e97ab --- /dev/null +++ b/lib/hooks/queries/useMintedInCourt.ts @@ -0,0 +1,41 @@ +import { useQuery } from "@tanstack/react-query"; +import type { HistoricalAccountBalanceWhereInput } from "@zeitgeistpm/indexer"; +import { isIndexedSdk } from "@zeitgeistpm/sdk"; +import { useSdkv2 } from "../useSdkv2"; + +export const mintedInCourtRootKey = "minted-in-court"; + +export const useMintedInCourt = ( + filter: Partial<{ + account: string; + limit: number; + offset: number; + }>, +) => { + const [sdk, id] = useSdkv2(); + + const enabled = sdk && isIndexedSdk(sdk); + + const query = useQuery( + [id, mintedInCourtRootKey], + async () => { + if (enabled) { + const response = await sdk.indexer.historicalAccountBalances({ + where: { + event_eq: "MintedInCourt", + accountId_eq: filter.account, + }, + limit: filter.limit, + offset: filter.offset, + }); + + return response.historicalAccountBalances; + } + }, + { + enabled: Boolean(enabled), + staleTime: 30_000, + }, + ); + return query; +}; From f11516dd4ddf15ce80c5f374d1ba33b8270aa009 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rn=20Andre=20Tangen=20=40gorillatron?= Date: Thu, 25 Apr 2024 11:23:03 +0200 Subject: [PATCH 02/21] work --- lib/hooks/queries/useMintedInCourt.ts | 4 +- pages/court/index.tsx | 355 ++++++++++++++++---------- 2 files changed, 226 insertions(+), 133 deletions(-) diff --git a/lib/hooks/queries/useMintedInCourt.ts b/lib/hooks/queries/useMintedInCourt.ts index c948e97ab..0219360fb 100644 --- a/lib/hooks/queries/useMintedInCourt.ts +++ b/lib/hooks/queries/useMintedInCourt.ts @@ -1,5 +1,6 @@ import { useQuery } from "@tanstack/react-query"; import type { HistoricalAccountBalanceWhereInput } from "@zeitgeistpm/indexer"; +import { HistoricalAccountBalanceOrderByInput } from "@zeitgeistpm/indexer"; import { isIndexedSdk } from "@zeitgeistpm/sdk"; import { useSdkv2 } from "../useSdkv2"; @@ -14,7 +15,7 @@ export const useMintedInCourt = ( ) => { const [sdk, id] = useSdkv2(); - const enabled = sdk && isIndexedSdk(sdk); + const enabled = sdk && isIndexedSdk(sdk) && filter.account; const query = useQuery( [id, mintedInCourtRootKey], @@ -25,6 +26,7 @@ export const useMintedInCourt = ( event_eq: "MintedInCourt", accountId_eq: filter.account, }, + order: HistoricalAccountBalanceOrderByInput.TimestampDesc, limit: filter.limit, offset: filter.offset, }); diff --git a/pages/court/index.tsx b/pages/court/index.tsx index f7e62057a..81fc68c5f 100644 --- a/pages/court/index.tsx +++ b/pages/court/index.tsx @@ -1,4 +1,4 @@ -import { Disclosure, Tab } from "@headlessui/react"; +import { Dialog, Disclosure, Tab } from "@headlessui/react"; import { ZTG } from "@zeitgeistpm/sdk"; import { CourtCasesTable } from "components/court/CourtCasesTable"; import CourtExitButton from "components/court/CourtExitButton"; @@ -7,6 +7,7 @@ import JoinCourtAsJurorButton from "components/court/JoinCourtAsJurorButton"; import JurorsTable from "components/court/JurorsTable"; import ManageDelegationButton from "components/court/ManageDelegationButton"; import InfoPopover from "components/ui/InfoPopover"; +import Decimal from "decimal.js"; import { useConnectedCourtParticipant } from "lib/hooks/queries/court/useConnectedCourtParticipant"; import { useCourtCases } from "lib/hooks/queries/court/useCourtCases"; import { useCourtParticipants } from "lib/hooks/queries/court/useCourtParticipants"; @@ -14,8 +15,10 @@ import { useCourtStakeSharePercentage } from "lib/hooks/queries/court/useCourtSt import { useCourtTotalStakedAmount } from "lib/hooks/queries/court/useCourtTotalStakedAmount"; import { useCourtYearlyInflationAmount } from "lib/hooks/queries/court/useCourtYearlyInflation"; import { useChainConstants } from "lib/hooks/queries/useChainConstants"; +import { useMintedInCourt } from "lib/hooks/queries/useMintedInCourt"; import { useZtgPrice } from "lib/hooks/queries/useZtgPrice"; -import { formatNumberLocalized } from "lib/util"; +import { useWallet } from "lib/state/wallet"; +import { formatNumberLocalized, shortenAddress } from "lib/util"; import { isNumber } from "lodash-es"; import { NextPage } from "next"; import Image from "next/image"; @@ -24,6 +27,10 @@ import NotFoundPage from "pages/404"; import { IGetPlaiceholderReturn, getPlaiceholder } from "plaiceholder"; import { ChevronDown } from "react-feather"; import { IoMdArrowRoundForward } from "react-icons/io"; +import { FaList } from "react-icons/fa"; +import { useState } from "react"; +import Modal from "components/ui/Modal"; +import moment from "moment"; export async function getStaticProps() { const [bannerPlaiceholder] = await Promise.all([ @@ -221,13 +228,21 @@ const CourtPage: NextPage = ({ }; const Stats = () => { + const wallet = useWallet(); const { data: courtCases } = useCourtCases(); const { data: constants } = useChainConstants(); const { data: yearlyInflationAmount } = useCourtYearlyInflationAmount(); const { data: participants } = useCourtParticipants(); + const { data: mintedPayouts } = useMintedInCourt({ + account: wallet.realAddress, + }); const totalStake = useCourtTotalStakedAmount(); + const totalMintedPayout = mintedPayouts?.reduce((acc, curr) => { + return acc.add(curr.dBalance); + }, new Decimal(0)); + const activeCaseCount = courtCases?.filter((c) => c.case.status.isOpen) .length; @@ -235,157 +250,233 @@ const Stats = () => { const delegatorCount = participants?.filter((p) => p.type === "Delegator") .length; + const [showPayoutsModal, setShowPayoutsModal] = useState(false); + return ( -
-
-
- -
- {courtCases?.length} /{" "} - - {activeCaseCount} active - + <> +
+
+
+ +
+ {courtCases?.length} /{" "} + + {activeCaseCount} active + +
-
-
- -
{jurorCount}
-
-
- -
- {delegatorCount} +
+ +
{jurorCount}
-
-
- -
-
- -
- {formatNumberLocalized(totalStake.all.toNumber() ?? 0)}{" "} - {constants?.tokenSymbol} +
+ +
+ {delegatorCount} +
-
-
-
- -
- {formatNumberLocalized(totalStake.jurorTotal?.toNumber() ?? 0)}{" "} - {constants?.tokenSymbol} -
-
-
- -
- {formatNumberLocalized(totalStake.delegatorTotal?.toNumber() ?? 0)}{" "} - {constants?.tokenSymbol} +
+
+ +
+ {formatNumberLocalized(totalStake.all.toNumber() ?? 0)}{" "} + {constants?.tokenSymbol} +
-
-
-
- -
+
+
+ +
+ {formatNumberLocalized(totalStake.jurorTotal?.toNumber() ?? 0)}{" "} + {constants?.tokenSymbol} +
+
+
+
{formatNumberLocalized( - yearlyInflationAmount - ?.div(totalStake.all) - .mul(100) - .toNumber() ?? 0, - )} - % + totalStake.delegatorTotal?.toNumber() ?? 0, + )}{" "} + {constants?.tokenSymbol}
- - The current yearly percentage returns that jurors and delegators - will receive on their staked ZTG -
-
- -
-
- -
-
- {formatNumberLocalized(yearlyInflationAmount?.toNumber() ?? 0)}{" "} - {constants?.tokenSymbol} +
+
+ +
+
+ {formatNumberLocalized( + yearlyInflationAmount + ?.div(totalStake.all) + .mul(100) + .toNumber() ?? 0, + )} + % +
+ + The current yearly percentage returns that jurors and delegators + will receive on their staked ZTG +
- +
+ +
+
+ + +
+
+ {formatNumberLocalized(yearlyInflationAmount?.toNumber() ?? 0)}{" "} + {constants?.tokenSymbol} +
+ + The yearly amount of {constants?.tokenSymbol} that will be + minted to jurors and delegators as a result of inflation. + +
+
+
+ +
+
+
+ + +
+
+ {formatNumberLocalized( + totalMintedPayout?.div(ZTG).toNumber() ?? 0, + )}{" "} + {constants?.tokenSymbol} +
+ + + The total amount of {constants?.tokenSymbol} that has been + paid out to {shortenAddress(wallet?.realAddress ?? "")}{" "} + as a result of participating in court. + +
+
+
setShowPayoutsModal(true)} + className="flex w-12 cursor-pointer items-center justify-center rounded-md bg-green-400/30 py-4 text-green-900" > - The yearly amount of {constants?.tokenSymbol} that will be minted - to jurors and delegators as a result of inflation. - + +
-
+ + setShowPayoutsModal(false)}> + +

Court Reward Payouts

+

+ All payouts made to{" "} + {shortenAddress(wallet?.realAddress ?? "")} as a result of + participating in court.{" "} +

+
+ {mintedPayouts?.map((payout, index) => ( +
+
+ {moment(payout?.timestamp).format("YYYY-MM-DDTHH:mm")} +
+
+ {formatNumberLocalized( + new Decimal(payout?.dBalance ?? 0).div(ZTG).toNumber(), + )}{" "} + {constants?.tokenSymbol} +
+
+ ))} +
+
+
+ ); }; From 160794dd3870f9ca59668d4a43fd1eae5c41e608 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rn=20Andre=20Tangen=20=40gorillatron?= Date: Thu, 25 Apr 2024 12:45:24 +0200 Subject: [PATCH 03/21] work --- pages/court/index.tsx | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/pages/court/index.tsx b/pages/court/index.tsx index 81fc68c5f..4527f2a70 100644 --- a/pages/court/index.tsx +++ b/pages/court/index.tsx @@ -31,6 +31,7 @@ import { FaList } from "react-icons/fa"; import { useState } from "react"; import Modal from "components/ui/Modal"; import moment from "moment"; +import SubScanIcon from "components/icons/SubScanIcon"; export async function getStaticProps() { const [bannerPlaiceholder] = await Promise.all([ @@ -461,15 +462,28 @@ const Stats = () => {

{mintedPayouts?.map((payout, index) => ( -
-
- {moment(payout?.timestamp).format("YYYY-MM-DDTHH:mm")} +
+
+ {moment(payout?.timestamp).format("yy-mm:HH:mm")}
{formatNumberLocalized( new Decimal(payout?.dBalance ?? 0).div(ZTG).toNumber(), )}{" "} - {constants?.tokenSymbol} + {constants?.tokenSymbol} +
+
))} From aef87046d46353da02df5441638ce62d8cae989c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rn=20Andre=20Tangen=20=40gorillatron?= Date: Thu, 25 Apr 2024 12:52:05 +0200 Subject: [PATCH 04/21] only show payouts if is participating in court as juror or delegator --- lib/hooks/queries/useMintedInCourt.ts | 2 +- pages/court/index.tsx | 83 +++++++++++++++------------ 2 files changed, 46 insertions(+), 39 deletions(-) diff --git a/lib/hooks/queries/useMintedInCourt.ts b/lib/hooks/queries/useMintedInCourt.ts index 0219360fb..e2ee12bf5 100644 --- a/lib/hooks/queries/useMintedInCourt.ts +++ b/lib/hooks/queries/useMintedInCourt.ts @@ -18,7 +18,7 @@ export const useMintedInCourt = ( const enabled = sdk && isIndexedSdk(sdk) && filter.account; const query = useQuery( - [id, mintedInCourtRootKey], + [id, mintedInCourtRootKey, filter], async () => { if (enabled) { const response = await sdk.indexer.historicalAccountBalances({ diff --git a/pages/court/index.tsx b/pages/court/index.tsx index 4527f2a70..2a772b3a7 100644 --- a/pages/court/index.tsx +++ b/pages/court/index.tsx @@ -231,6 +231,7 @@ const CourtPage: NextPage = ({ const Stats = () => { const wallet = useWallet(); const { data: courtCases } = useCourtCases(); + const connectedParticipant = useConnectedCourtParticipant(); const { data: constants } = useChainConstants(); const { data: yearlyInflationAmount } = useCourtYearlyInflationAmount(); const { data: participants } = useCourtParticipants(); @@ -407,48 +408,54 @@ const Stats = () => {
-
- -
-
-
- -
-
- {formatNumberLocalized( - totalMintedPayout?.div(ZTG).toNumber() ?? 0, - )}{" "} - {constants?.tokenSymbol} -
+ {connectedParticipant ? ( + <> +
+ +
+
+
+ - +
+ {formatNumberLocalized( + totalMintedPayout?.div(ZTG).toNumber() ?? 0, + )}{" "} + {constants?.tokenSymbol} +
+ + + The total amount of {constants?.tokenSymbol} that has been + paid out to{" "} + {shortenAddress(wallet?.realAddress ?? "")} as a + result of participating in court. + +
+
+
setShowPayoutsModal(true)} + className="flex w-12 cursor-pointer items-center justify-center rounded-md bg-green-400/30 py-4 text-green-900" > - The total amount of {constants?.tokenSymbol} that has been - paid out to {shortenAddress(wallet?.realAddress ?? "")}{" "} - as a result of participating in court. - + +
-
-
setShowPayoutsModal(true)} - className="flex w-12 cursor-pointer items-center justify-center rounded-md bg-green-400/30 py-4 text-green-900" - > - -
-
+ + ) : null}
From 7b1eb5260eb71b950b921f92608edcb4636d3aab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rn=20Andre=20Tangen=20=40gorillatron?= Date: Thu, 25 Apr 2024 12:58:34 +0200 Subject: [PATCH 05/21] Update index.tsx --- pages/court/index.tsx | 70 +++++++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 33 deletions(-) diff --git a/pages/court/index.tsx b/pages/court/index.tsx index 2a772b3a7..3f3ef09d0 100644 --- a/pages/court/index.tsx +++ b/pages/court/index.tsx @@ -460,40 +460,44 @@ const Stats = () => {
setShowPayoutsModal(false)}> - -

Court Reward Payouts

-

- All payouts made to{" "} - {shortenAddress(wallet?.realAddress ?? "")} as a result of - participating in court.{" "} -

-
- {mintedPayouts?.map((payout, index) => ( -
-
- {moment(payout?.timestamp).format("yy-mm:HH:mm")} -
-
- {formatNumberLocalized( - new Decimal(payout?.dBalance ?? 0).div(ZTG).toNumber(), - )}{" "} - {constants?.tokenSymbol} -
-
- -
- -
-
+ +
+

Court Reward Payouts

+

+ All payouts made to{" "} + {shortenAddress(wallet?.realAddress ?? "")} as a result of + participating in court.{" "} +

+
+
+
+ {mintedPayouts?.map((payout, index) => ( +
+
+ {moment(payout?.timestamp).format("yy-mm HH:mm")} +
+
+ {formatNumberLocalized( + new Decimal(payout?.dBalance ?? 0).div(ZTG).toNumber(), + )}{" "} + {constants?.tokenSymbol} +
+
-
- ))} + ))} +
From dcaed045d7cd50c71d5599677a7b1b8ee5b04e86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rn=20Andre=20Tangen=20=40gorillatron?= Date: Thu, 25 Apr 2024 13:16:22 +0200 Subject: [PATCH 06/21] Update index.tsx --- pages/court/index.tsx | 185 ++++++++++++++++++------------------------ 1 file changed, 81 insertions(+), 104 deletions(-) diff --git a/pages/court/index.tsx b/pages/court/index.tsx index 3f3ef09d0..144c24012 100644 --- a/pages/court/index.tsx +++ b/pages/court/index.tsx @@ -54,11 +54,22 @@ const CourtPage: NextPage = ({ return ; } + const wallet = useWallet(); const { data: constants } = useChainConstants(); const connectedParticipant = useConnectedCourtParticipant(); const { data: ztgPrice } = useZtgPrice(); const stakeShare = useCourtStakeSharePercentage(); + const { data: mintedPayouts } = useMintedInCourt({ + account: wallet.realAddress, + }); + + const totalMintedPayout = mintedPayouts?.reduce((acc, curr) => { + return acc.add(curr.dBalance); + }, new Decimal(0)); + + const [showPayoutsModal, setShowPayoutsModal] = useState(false); + return (
@@ -97,7 +108,7 @@ const CourtPage: NextPage = ({ {connectedParticipant && (
{connectedParticipant?.type} @@ -110,7 +121,7 @@ const CourtPage: NextPage = ({ )}
-
+
{formatNumberLocalized( @@ -151,6 +162,29 @@ const CourtPage: NextPage = ({
+ {connectedParticipant ? ( +
+
+

+ Staking Rewards +

+
+
+ {formatNumberLocalized( + totalMintedPayout?.div(ZTG).toNumber() ?? 0, + )}{" "} + {constants?.tokenSymbol} +
+
setShowPayoutsModal(true)} + className="flex cursor-pointer rounded-md bg-gray-500/80 p-2 text-gray-300" + > + +
+
+
+
+ ) : null}
@@ -160,12 +194,12 @@ const CourtPage: NextPage = ({ {connectedParticipant && !isNumber(connectedParticipant.prepareExitAt) && ( - + )} {connectedParticipant && isNumber(connectedParticipant.prepareExitAt) && ( - + )}
@@ -224,6 +258,49 @@ const CourtPage: NextPage = ({ + + setShowPayoutsModal(false)}> + +
+

Court Reward Payouts

+

+ All payouts made to{" "} + {shortenAddress(wallet?.realAddress ?? "")} as a result of + participating in court.{" "} +

+
+
+
+ {mintedPayouts?.map((payout, index) => ( +
+
+ {moment(payout?.timestamp).format("yy-mm HH:mm")} +
+
+ {formatNumberLocalized( + new Decimal(payout?.dBalance ?? 0).div(ZTG).toNumber(), + )}{" "} + {constants?.tokenSymbol} +
+ +
+ ))} +
+
+
+
); }; @@ -235,16 +312,9 @@ const Stats = () => { const { data: constants } = useChainConstants(); const { data: yearlyInflationAmount } = useCourtYearlyInflationAmount(); const { data: participants } = useCourtParticipants(); - const { data: mintedPayouts } = useMintedInCourt({ - account: wallet.realAddress, - }); const totalStake = useCourtTotalStakedAmount(); - const totalMintedPayout = mintedPayouts?.reduce((acc, curr) => { - return acc.add(curr.dBalance); - }, new Decimal(0)); - const activeCaseCount = courtCases?.filter((c) => c.case.status.isOpen) .length; @@ -252,8 +322,6 @@ const Stats = () => { const delegatorCount = participants?.filter((p) => p.type === "Delegator") .length; - const [showPayoutsModal, setShowPayoutsModal] = useState(false); - return ( <>
@@ -408,99 +476,8 @@ const Stats = () => {
- - {connectedParticipant ? ( - <> -
- -
-
-
- - -
-
- {formatNumberLocalized( - totalMintedPayout?.div(ZTG).toNumber() ?? 0, - )}{" "} - {constants?.tokenSymbol} -
- - - The total amount of {constants?.tokenSymbol} that has been - paid out to{" "} - {shortenAddress(wallet?.realAddress ?? "")} as a - result of participating in court. - -
-
-
setShowPayoutsModal(true)} - className="flex w-12 cursor-pointer items-center justify-center rounded-md bg-green-400/30 py-4 text-green-900" - > - -
-
- - ) : null}
- - setShowPayoutsModal(false)}> - -
-

Court Reward Payouts

-

- All payouts made to{" "} - {shortenAddress(wallet?.realAddress ?? "")} as a result of - participating in court.{" "} -

-
-
-
- {mintedPayouts?.map((payout, index) => ( -
-
- {moment(payout?.timestamp).format("yy-mm HH:mm")} -
-
- {formatNumberLocalized( - new Decimal(payout?.dBalance ?? 0).div(ZTG).toNumber(), - )}{" "} - {constants?.tokenSymbol} -
- -
- ))} -
-
-
-
); }; From ecca97019e3adbaaeea8eef67f1b81031b3e883e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rn=20Andre=20Tangen=20=40gorillatron?= Date: Thu, 25 Apr 2024 13:17:42 +0200 Subject: [PATCH 07/21] Update index.tsx --- pages/court/index.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/court/index.tsx b/pages/court/index.tsx index 144c24012..9e6908060 100644 --- a/pages/court/index.tsx +++ b/pages/court/index.tsx @@ -260,7 +260,7 @@ const CourtPage: NextPage = ({ setShowPayoutsModal(false)}> - +

Court Reward Payouts

@@ -274,7 +274,7 @@ const CourtPage: NextPage = ({ {mintedPayouts?.map((payout, index) => (

- {moment(payout?.timestamp).format("yy-mm HH:mm")} + {moment(payout?.timestamp).format("YYYY-MM-DDTHH:mm")}
{formatNumberLocalized( From 778c1e576a659e580474cce8d2b9c2c7da520988 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rn=20Andre=20Tangen=20=40gorillatron?= Date: Thu, 25 Apr 2024 13:20:38 +0200 Subject: [PATCH 08/21] Update index.tsx --- pages/court/index.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/court/index.tsx b/pages/court/index.tsx index 9e6908060..0fad5ed01 100644 --- a/pages/court/index.tsx +++ b/pages/court/index.tsx @@ -263,14 +263,14 @@ const CourtPage: NextPage = ({

Court Reward Payouts

-

+

All payouts made to{" "} {shortenAddress(wallet?.realAddress ?? "")} as a result of participating in court.{" "}

-
+
{mintedPayouts?.map((payout, index) => (
From 915d4fe66bc331e0b70a03c73d38bd4fa20d1a45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rn=20Andre=20Tangen=20=40gorillatron?= Date: Thu, 25 Apr 2024 13:26:32 +0200 Subject: [PATCH 09/21] Update index.tsx --- pages/court/index.tsx | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pages/court/index.tsx b/pages/court/index.tsx index 0fad5ed01..29ce4653b 100644 --- a/pages/court/index.tsx +++ b/pages/court/index.tsx @@ -260,8 +260,14 @@ const CourtPage: NextPage = ({ setShowPayoutsModal(false)}> - -
+ +

Court Reward Payouts

All payouts made to{" "} @@ -269,7 +275,7 @@ const CourtPage: NextPage = ({ participating in court.{" "}

-
+
{mintedPayouts?.map((payout, index) => (
From b941f7f8a6ca2006a9452604e3114f83773f0ac7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rn=20Andre=20Tangen=20=40gorillatron?= Date: Thu, 25 Apr 2024 13:33:24 +0200 Subject: [PATCH 10/21] work --- components/court/CourtExitButton.tsx | 2 +- components/court/CourtUnstakeButton.tsx | 2 +- components/court/JoinCourtAsJurorButton.tsx | 2 +- components/court/ManageDelegationButton.tsx | 2 +- pages/court/index.tsx | 16 +++++----------- 5 files changed, 9 insertions(+), 15 deletions(-) diff --git a/components/court/CourtExitButton.tsx b/components/court/CourtExitButton.tsx index 48772a8ba..7007a2826 100644 --- a/components/court/CourtExitButton.tsx +++ b/components/court/CourtExitButton.tsx @@ -71,7 +71,7 @@ const CourtExitButton = ({ className }: { className?: string }) => { <>