Explorer: Split out `SolBalance` component from utils (#28072)
Explorer: Split out SolBalance component from utils
This commit is contained in:
parent
71aee4fcaf
commit
874fbcb9d4
|
@ -2,7 +2,7 @@ import React from "react";
|
|||
import { useSupply, useFetchSupply, Status } from "providers/supply";
|
||||
import { LoadingCard } from "./common/LoadingCard";
|
||||
import { ErrorCard } from "./common/ErrorCard";
|
||||
import { SolBalance } from "utils";
|
||||
import { SolBalance } from "components/common/SolBalance";
|
||||
import { TableCardBody } from "./common/TableCardBody";
|
||||
|
||||
export function SupplyCard() {
|
||||
|
|
|
@ -5,7 +5,7 @@ import { AccountBalancePair } from "@solana/web3.js";
|
|||
import { useRichList, useFetchRichList, Status } from "providers/richList";
|
||||
import { LoadingCard } from "./common/LoadingCard";
|
||||
import { ErrorCard } from "./common/ErrorCard";
|
||||
import { SolBalance } from "utils";
|
||||
import { SolBalance } from "components/common/SolBalance";
|
||||
import { useQuery } from "utils/url";
|
||||
import { useSupply } from "providers/supply";
|
||||
import { Address } from "./common/Address";
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import React from "react";
|
||||
import { TableCardBody } from "components/common/TableCardBody";
|
||||
import { SolBalance } from "utils";
|
||||
import { SolBalance } from "components/common/SolBalance";
|
||||
import { displayTimestampUtc } from "utils/date";
|
||||
import { Account, useFetchAccountInfo } from "providers/accounts";
|
||||
import { Address } from "components/common/Address";
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import React from "react";
|
||||
import { SolBalance } from "utils";
|
||||
import { SolBalance } from "components/common/SolBalance";
|
||||
import { Epoch } from "components/common/Epoch";
|
||||
import {
|
||||
SysvarAccount,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import React from "react";
|
||||
import { Account } from "providers/accounts";
|
||||
import { SolBalance } from "utils";
|
||||
import { SolBalance } from "components/common/SolBalance";
|
||||
import { TableCardBody } from "components/common/TableCardBody";
|
||||
import { Address } from "components/common/Address";
|
||||
import { addressLabel } from "utils/tx";
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import React from "react";
|
||||
import { TableCardBody } from "components/common/TableCardBody";
|
||||
import { SolBalance } from "utils";
|
||||
import { SolBalance } from "components/common/SolBalance";
|
||||
import { Account, useFetchAccountInfo } from "providers/accounts";
|
||||
import { Address } from "components/common/Address";
|
||||
import {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import React from "react";
|
||||
import { TableCardBody } from "components/common/TableCardBody";
|
||||
import { SolBalance } from "utils";
|
||||
import { SolBalance } from "components/common/SolBalance";
|
||||
import { Account, useFetchAccountInfo } from "providers/accounts";
|
||||
import { Address } from "components/common/Address";
|
||||
import { AddressLookupTableAccount } from "@solana/web3.js";
|
||||
|
|
|
@ -15,7 +15,7 @@ import { pickClusterParams, useQuery } from "utils/url";
|
|||
import { useCluster } from "providers/cluster";
|
||||
import { displayAddress } from "utils/tx";
|
||||
import { parseProgramLogs } from "utils/program-logs";
|
||||
import { SolBalance } from "utils";
|
||||
import { SolBalance } from "components/common/SolBalance";
|
||||
|
||||
const PAGE_SIZE = 25;
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import React from "react";
|
||||
import { SolBalance } from "utils";
|
||||
import { SolBalance } from "components/common/SolBalance";
|
||||
import { PublicKey, VersionedBlockResponse } from "@solana/web3.js";
|
||||
import { Address } from "components/common/Address";
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import React from "react";
|
||||
import { Address } from "./Address";
|
||||
import { Account } from "providers/accounts";
|
||||
import { SolBalance } from "utils";
|
||||
import { SolBalance } from "components/common/SolBalance";
|
||||
|
||||
type AccountHeaderProps = {
|
||||
title: string;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import React from "react";
|
||||
import { BigNumber } from "bignumber.js";
|
||||
import { SolBalance } from "utils";
|
||||
import { SolBalance } from "components/common/SolBalance";
|
||||
|
||||
export function BalanceDelta({
|
||||
delta,
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
import React from "react";
|
||||
import { lamportsToSolString } from "utils";
|
||||
|
||||
export function SolBalance({
|
||||
lamports,
|
||||
maximumFractionDigits = 9,
|
||||
}: {
|
||||
lamports: number | bigint;
|
||||
maximumFractionDigits?: number;
|
||||
}) {
|
||||
return (
|
||||
<span>
|
||||
◎
|
||||
<span className="font-monospace">
|
||||
{lamportsToSolString(lamports, maximumFractionDigits)}
|
||||
</span>
|
||||
</span>
|
||||
);
|
||||
}
|
|
@ -5,9 +5,10 @@ import {
|
|||
TransactionInstruction,
|
||||
} from "@solana/web3.js";
|
||||
import { InstructionCard } from "./InstructionCard";
|
||||
import { microLamportsToLamportsString, SolBalance } from "utils";
|
||||
import { SolBalance } from "components/common/SolBalance";
|
||||
import { Address } from "components/common/Address";
|
||||
import { reportError } from "utils/sentry";
|
||||
import { microLamportsToLamportsString } from "utils";
|
||||
import { useCluster } from "providers/cluster";
|
||||
|
||||
export function ComputeBudgetDetailsCard({
|
||||
|
|
|
@ -4,7 +4,7 @@ import {
|
|||
StakeProgram,
|
||||
ParsedInstruction,
|
||||
} from "@solana/web3.js";
|
||||
import { SolBalance } from "utils";
|
||||
import { SolBalance } from "components/common/SolBalance";
|
||||
import { InstructionCard } from "../InstructionCard";
|
||||
import { Address } from "components/common/Address";
|
||||
import { SplitInfo } from "./types";
|
||||
|
|
|
@ -4,7 +4,7 @@ import {
|
|||
StakeProgram,
|
||||
ParsedInstruction,
|
||||
} from "@solana/web3.js";
|
||||
import { SolBalance } from "utils";
|
||||
import { SolBalance } from "components/common/SolBalance";
|
||||
import { InstructionCard } from "../InstructionCard";
|
||||
import { Address } from "components/common/Address";
|
||||
import { WithdrawInfo } from "./types";
|
||||
|
|
|
@ -4,7 +4,7 @@ import {
|
|||
SignatureResult,
|
||||
ParsedInstruction,
|
||||
} from "@solana/web3.js";
|
||||
import { SolBalance } from "utils";
|
||||
import { SolBalance } from "components/common/SolBalance";
|
||||
import { InstructionCard } from "../InstructionCard";
|
||||
import { Address } from "components/common/Address";
|
||||
import { CreateAccountInfo } from "./types";
|
||||
|
|
|
@ -4,7 +4,7 @@ import {
|
|||
SignatureResult,
|
||||
ParsedInstruction,
|
||||
} from "@solana/web3.js";
|
||||
import { SolBalance } from "utils";
|
||||
import { SolBalance } from "components/common/SolBalance";
|
||||
import { InstructionCard } from "../InstructionCard";
|
||||
import { Copyable } from "components/common/Copyable";
|
||||
import { Address } from "components/common/Address";
|
||||
|
|
|
@ -4,7 +4,7 @@ import {
|
|||
SignatureResult,
|
||||
ParsedInstruction,
|
||||
} from "@solana/web3.js";
|
||||
import { SolBalance } from "utils";
|
||||
import { SolBalance } from "components/common/SolBalance";
|
||||
import { InstructionCard } from "../InstructionCard";
|
||||
import { Address } from "components/common/Address";
|
||||
import { WithdrawNonceInfo } from "./types";
|
||||
|
|
|
@ -4,7 +4,7 @@ import {
|
|||
SignatureResult,
|
||||
ParsedInstruction,
|
||||
} from "@solana/web3.js";
|
||||
import { SolBalance } from "utils";
|
||||
import { SolBalance } from "components/common/SolBalance";
|
||||
import { InstructionCard } from "../InstructionCard";
|
||||
import { Address } from "components/common/Address";
|
||||
import { TransferInfo } from "./types";
|
||||
|
|
|
@ -4,7 +4,7 @@ import {
|
|||
SignatureResult,
|
||||
ParsedInstruction,
|
||||
} from "@solana/web3.js";
|
||||
import { SolBalance } from "utils";
|
||||
import { SolBalance } from "components/common/SolBalance";
|
||||
import { InstructionCard } from "../InstructionCard";
|
||||
import { Copyable } from "components/common/Copyable";
|
||||
import { Address } from "components/common/Address";
|
||||
|
|
|
@ -13,7 +13,7 @@ import {
|
|||
SystemProgram,
|
||||
SystemInstruction,
|
||||
} from "@solana/web3.js";
|
||||
import { SolBalance } from "utils";
|
||||
import { SolBalance } from "components/common/SolBalance";
|
||||
import { ErrorCard } from "components/common/ErrorCard";
|
||||
import { LoadingCard } from "components/common/LoadingCard";
|
||||
import { TableCardBody } from "components/common/TableCardBody";
|
||||
|
|
|
@ -2,7 +2,7 @@ import React from "react";
|
|||
import { PACKET_DATA_SIZE, VersionedMessage } from "@solana/web3.js";
|
||||
|
||||
import { TableCardBody } from "components/common/TableCardBody";
|
||||
import { SolBalance } from "utils";
|
||||
import { SolBalance } from "components/common/SolBalance";
|
||||
import { useQuery } from "utils/url";
|
||||
import { useHistory, useLocation } from "react-router";
|
||||
import {
|
||||
|
|
|
@ -86,23 +86,6 @@ export function numberWithSeparator(s: string) {
|
|||
return s.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
||||
}
|
||||
|
||||
export function SolBalance({
|
||||
lamports,
|
||||
maximumFractionDigits = 9,
|
||||
}: {
|
||||
lamports: number | bigint;
|
||||
maximumFractionDigits?: number;
|
||||
}) {
|
||||
return (
|
||||
<span>
|
||||
◎
|
||||
<span className="font-monospace">
|
||||
{lamportsToSolString(lamports, maximumFractionDigits)}
|
||||
</span>
|
||||
</span>
|
||||
);
|
||||
}
|
||||
|
||||
const HUMANIZER = new HumanizeDuration(new HumanizeDurationLanguage());
|
||||
HUMANIZER.setOptions({
|
||||
language: "short",
|
Loading…
Reference in New Issue