|
0x1234
|
1.00M
diff --git a/src/app/tokens/loading.tsx b/src/app/tokens/loading.tsx
index 907df5813..9555f35c6 100644
--- a/src/app/tokens/loading.tsx
+++ b/src/app/tokens/loading.tsx
@@ -4,11 +4,11 @@ import * as React from 'react';
import { TbSearch } from 'react-icons/tb';
import { Section } from '../../common/components/Section';
-import { ExplorerSkeletonLoader } from '../../common/components/loaders/skeleton-common';
import { Flex } from '../../ui/Flex';
import { Icon } from '../../ui/Icon';
import { InputGroup } from '../../ui/InputGroup';
import { InputRightElement } from '../../ui/InputRightElement';
+import { Skeleton } from '../../ui/Skeleton';
import { useColorMode } from '../../ui/hooks/useColorMode';
import { PageTitle } from '../_components/PageTitle';
import { TokenTableSkeleton } from './TokensList/TokenTableSkeleton';
@@ -18,7 +18,7 @@ export default function Loading() {
return (
-
+
-
+
}
>
diff --git a/src/app/tokens/page.tsx b/src/app/tokens/page.tsx
index ee7b02156..fda589578 100644
--- a/src/app/tokens/page.tsx
+++ b/src/app/tokens/page.tsx
@@ -3,15 +3,14 @@
import type { NextPage } from 'next';
import * as React from 'react';
-import { Flex } from '../../ui/Flex';
import { PageTitle } from '../_components/PageTitle';
import { TokensList } from './TokensList/TokensList';
const TokensPage: NextPage = () => (
-
+ <>
Token Tracker
-
+ >
);
export default TokensPage;
diff --git a/src/app/transactions/loading.tsx b/src/app/transactions/loading.tsx
index b4ec532d7..ce2f9461d 100644
--- a/src/app/transactions/loading.tsx
+++ b/src/app/transactions/loading.tsx
@@ -2,22 +2,19 @@
import React from 'react';
-import { ExplorerSkeletonLoader } from '../../common/components/loaders/skeleton-common';
-import { SkeletonTransactionList } from '../../common/components/loaders/skeleton-transaction';
-import { TxListTabs } from '../../common/components/tx-lists/tabs/TxListTabs';
+import { SkeletonTxsList } from '../../features/txs-list/SkeletonTxsList';
+import { TxListTabsBase } from '../../features/txs-list/tabs/TxListTabsBase';
import { Flex } from '../../ui/Flex';
+import { Skeleton } from '../../ui/Skeleton';
import { PageTitle } from '../_components/PageTitle';
export default function Loading() {
return (
-
+
- }
- mempoolList={}
- />
+ } mempoolList={} />
);
}
diff --git a/src/app/transactions/page.tsx b/src/app/transactions/page.tsx
index 4ea485e2d..1c17fe1c9 100644
--- a/src/app/transactions/page.tsx
+++ b/src/app/transactions/page.tsx
@@ -3,16 +3,15 @@
import { NextPage } from 'next';
import React from 'react';
-import { DefaultTxListTabs } from '../../common/components/tx-lists/tabs/DefaultTxListTabs';
-import { Flex } from '../../ui/Flex';
+import { TxListTabs } from '../../features/txs-list/tabs/TxListTabs';
import { PageTitle } from '../_components/PageTitle';
const TransactionsPage: NextPage = () => {
return (
-
+ <>
Transactions
-
-
+
+ >
);
};
diff --git a/src/app/txid/[txId]/Alert.tsx b/src/app/txid/[txId]/Alert.tsx
index 28aaef4d9..2c7e53f3a 100644
--- a/src/app/txid/[txId]/Alert.tsx
+++ b/src/app/txid/[txId]/Alert.tsx
@@ -1,98 +1,21 @@
'use client';
-import { useColorMode } from '@chakra-ui/react';
import * as React from 'react';
-import { HiOutlineExclamation } from 'react-icons/hi';
-import { RiCloseLine } from 'react-icons/ri';
-import { Box } from '../../../ui/Box';
-import { Flex, FlexProps } from '../../../ui/Flex';
-import { Icon } from '../../../ui/Icon';
-import { Text, Title } from '../../../ui/typography';
+import { Alert, AlertProps } from '../../../ui/Alert';
+import { AlertDescription } from '../../../ui/AlertDescription';
+import { AlertIcon } from '../../../ui/AlertIcon';
interface AlertError {
name?: string;
message?: string;
}
-interface AlertProps {
- error: AlertError;
- clearError?: () => void;
- showClearErrors?: boolean;
+export function AlertBase({ status, message }: { status: AlertProps['status']; message: string }) {
+ return (
+
+
+ {message}
+
+ );
}
-
-export const Alert: React.FC = ({
- error,
- clearError,
- showClearErrors,
- ...rest
-}) => {
- const colorMode = useColorMode().colorMode;
-
- return error ? (
-
-
-
- {error ? (
-
- {error.name}
-
- ) : null}
-
-
-
- {error.message}
-
-
- {clearError || showClearErrors ? (
- {
- clearError && clearError();
- }}
- >
-
-
- ) : null}
-
-
- ) : null;
-};
diff --git a/src/app/txid/[txId]/BlocksVisualizer.tsx b/src/app/txid/[txId]/BlocksVisualizer.tsx
index 87ca22497..3e16dd575 100644
--- a/src/app/txid/[txId]/BlocksVisualizer.tsx
+++ b/src/app/txid/[txId]/BlocksVisualizer.tsx
@@ -235,7 +235,7 @@ const Block: React.FC = ({
{displayBlockchainIcons && (
-
+
)}
= ({
label,
...rest
}) => (
-
+
{array.length} {pluralize(label, array.length)}
);
@@ -53,28 +53,28 @@ function ContractDetailsCardBase({ contractId }: ContractDetailsCardProps) {
-
+
-
+
-
+
-
+
-
+
-
-
+
+
View deployment
-
+
diff --git a/src/app/txid/[txId]/CoinbasePage/TxDetails.tsx b/src/app/txid/[txId]/CoinbasePage/TxDetails.tsx
index 46da97218..bfdc76609 100644
--- a/src/app/txid/[txId]/CoinbasePage/TxDetails.tsx
+++ b/src/app/txid/[txId]/CoinbasePage/TxDetails.tsx
@@ -6,7 +6,6 @@ import {
} from '@stacks/stacks-blockchain-api-types';
import { Section } from '../../../../common/components/Section';
-import { useVerticallyStackedElementsBorderStyle } from '../../../../common/hooks/useVerticallyStackedElementsBorderStyle';
import { Box } from '../../../../ui/Box';
import { Flex } from '../../../../ui/Flex';
import { BlockHash } from '../TxDetails/BlockHash';
@@ -23,20 +22,18 @@ interface TxDetailsProps {
export const TxDetails: React.FC = ({ tx }) => {
return (
- <>
-
- >
+
);
};
diff --git a/src/app/txid/[txId]/ContractCall/FunctionSummary.tsx b/src/app/txid/[txId]/ContractCall/FunctionSummary.tsx
index c2da5d572..7ea178402 100644
--- a/src/app/txid/[txId]/ContractCall/FunctionSummary.tsx
+++ b/src/app/txid/[txId]/ContractCall/FunctionSummary.tsx
@@ -5,7 +5,6 @@ import { ContractCallTransaction } from '@stacks/stacks-blockchain-api-types';
import { KeyValueHorizontal } from '../../../../common/components/KeyValueHorizontal';
import { Section } from '../../../../common/components/Section';
-import { useVerticallyStackedElementsBorderStyle } from '../../../../common/hooks/useVerticallyStackedElementsBorderStyle';
import { Box } from '../../../../ui/Box';
import { Flex } from '../../../../ui/Flex';
import { FunctionSummaryArguments } from './FunctionSummaryArguments';
@@ -21,7 +20,7 @@ export const FunctionSummary = memo<{
return (
-
+
}
diff --git a/src/app/txid/[txId]/ContractCall/FunctionSummaryArguments.tsx b/src/app/txid/[txId]/ContractCall/FunctionSummaryArguments.tsx
index f1f828835..ad1d340e0 100644
--- a/src/app/txid/[txId]/ContractCall/FunctionSummaryArguments.tsx
+++ b/src/app/txid/[txId]/ContractCall/FunctionSummaryArguments.tsx
@@ -3,7 +3,6 @@ import * as React from 'react';
import { ContractCallTransaction } from '@stacks/stacks-blockchain-api-types';
-import { useVerticallyStackedElementsBorderStyle } from '../../../../common/hooks/useVerticallyStackedElementsBorderStyle';
import { Singleton } from '../../../../common/types/utils';
import { Box } from '../../../../ui/Box';
import { Flex } from '../../../../ui/Flex';
@@ -20,7 +19,7 @@ export const FunctionSummaryArguments: React.FC<{
}> = ({ summary, btc }) => {
const args = (summary?.function_args || []).filter(arg => !!arg);
return summary.function_args ? (
-
+
{args.map((arg: FunctionArg, key: number) => {
return (
{
+export const FunctionSummaryClarityValue = ({ arg, btc }: { arg: any; btc: null | string }) => {
if (arg.type === 'principal') {
const principal = arg.hex ? (cvToJSON(hexToCV(arg.hex)) || {}).value : '';
const isContract = principal.includes('.');
if (isContract) {
return (
-
-
- {principal}
-
+
+ {principal}
{getPrettyClarityValueType(arg.type)}
);
}
return (
-
-
-
- {arg.repr}
-
-
+
+ {arg.repr}
{getPrettyClarityValueType(arg.type)}
);
}
return (
-
+
{getValue(arg, btc)}
{getPrettyClarityValueType(arg.type)}
diff --git a/src/app/txid/[txId]/ContractCall/FunctionSummaryResult.tsx b/src/app/txid/[txId]/ContractCall/FunctionSummaryResult.tsx
index f85ef7d11..98c388e47 100644
--- a/src/app/txid/[txId]/ContractCall/FunctionSummaryResult.tsx
+++ b/src/app/txid/[txId]/ContractCall/FunctionSummaryResult.tsx
@@ -34,7 +34,7 @@ export const FunctionSummaryResult = ({ result }: FunctionSummaryResultProps) =>
return (
{value.type}
-
+
{Object.keys(value.value).map((name: string, index: number) => {
const isLast = Object.keys(value.value).length <= index + 1;
const entry = value.value[name];
@@ -74,7 +74,7 @@ export const FunctionSummaryResult = ({ result }: FunctionSummaryResultProps) =>
)}
{hasType ? type : success ? 'Success' : 'Failed'}
-
+
= ({ tx }) => {
<>
-
+
diff --git a/src/app/txid/[txId]/Events.tsx b/src/app/txid/[txId]/Events.tsx
index 9e3e57200..c34e8ea9d 100644
--- a/src/app/txid/[txId]/Events.tsx
+++ b/src/app/txid/[txId]/Events.tsx
@@ -2,6 +2,7 @@
import { useColorMode } from '@chakra-ui/react';
import React, { FC, Fragment } from 'react';
+import { IconType } from 'react-icons';
import { TbAlignLeft, TbArrowRight, TbPlus, TbTrash } from 'react-icons/tb';
import {
@@ -11,11 +12,11 @@ import {
} from '@stacks/stacks-blockchain-api-types';
import { deserialize, prettyPrint } from '@stacks/transactions/dist/cl';
+import { Circle } from '../../../common/components/Circle';
import { AddressLink } from '../../../common/components/ExplorerLinks';
-import { ListItem } from '../../../common/components/ListItem';
import { Section } from '../../../common/components/Section';
+import { TwoColsListItem } from '../../../common/components/TwoColumnsListItem';
import { Pending } from '../../../common/components/status';
-import { useVerticallyStackedElementsBorderStyle } from '../../../common/hooks/useVerticallyStackedElementsBorderStyle';
import { useFtMetadata } from '../../../common/queries/useFtMetadata';
import { useTxEventsByIdInfinite } from '../../../common/queries/useTxEventsByIdInfinite';
import {
@@ -27,10 +28,10 @@ import {
truncateMiddle,
} from '../../../common/utils/utils';
import { Box } from '../../../ui/Box';
-import { Circle } from '../../../ui/Circle';
import { Flex } from '../../../ui/Flex';
import { Grid } from '../../../ui/Grid';
-import { Stack } from '../../../ui/Stack';
+import { HStack } from '../../../ui/HStack';
+import { Icon } from '../../../ui/Icon';
import { StxIcon } from '../../../ui/icons';
import { Caption } from '../../../ui/typography';
import { SenderRecipient } from './SenderRecipient';
@@ -51,7 +52,7 @@ export const getTicker = (name: string) => {
}
};
-const getIcon = (type: TransactionEventAssetType) => {
+const getIcon = (type: string) => {
switch (type) {
case 'burn':
return TbTrash;
@@ -59,6 +60,8 @@ const getIcon = (type: TransactionEventAssetType) => {
return TbPlus;
case 'transfer':
return TbArrowRight;
+ default:
+ return null;
}
};
@@ -80,74 +83,17 @@ const AssetEventTypeBubble = ({ type }: { type?: TransactionEventAssetType }) =>
);
};
-export const ItemIcon = React.memo(({ event }: { event: TransactionEvent }) => {
- const type = event.event_type;
- const colorMode = useColorMode().colorMode;
- const name =
- event.event_type === 'fungible_token_asset' ||
- event.event_type === 'non_fungible_token_asset' ||
- event.event_type === 'stx_asset'
- ? event.asset.asset_id
- : undefined;
+function getEventIcon(event: TransactionEvent) {
+ if (event.event_type === 'smart_contract_log') return TbAlignLeft;
- const assetEventType =
+ if (
event.event_type === 'fungible_token_asset' ||
- event.event_type === 'non_fungible_token_asset' ||
- event.event_type === 'stx_asset'
- ? event.asset.asset_event_type
- : undefined;
-
- switch (type) {
- case 'smart_contract_log':
- return (
-
-
-
- );
- case 'fungible_token_asset':
- return name ? (
-
- {assetEventType ? (
-
- ) : null}
- {getAssetNameParts(name).asset[0]}
-
- ) : null;
-
- case 'non_fungible_token_asset':
- return name ? (
-
- {assetEventType ? (
-
- ) : null}
- {getAssetNameParts(name).asset[0]}
-
- ) : null;
+ event.event_type === 'non_fungible_token_asset'
+ )
+ return getIcon(event.asset.asset_event_type);
- default:
- return (
-
-
-
- );
- }
-});
+ return StxIcon;
+}
const getAssetAmounts = (event: TransactionEvent) => {
switch (event.event_type) {
@@ -282,40 +228,43 @@ const Item: React.FC<{ event: TransactionEvent }> = ({ event }) => {
});
return (
- }
- title={name}
- subTitle={
- <>
- ∙}
- >
- {assetEventType ? {assetEventType} : null}
- {assetAmounts && (
-
- {ftMetadata
- ? ftDecimals((event as any).asset.amount, ftMetadata?.decimals || 0)
- : assetAmounts}{' '}
- {assetId &&
- (ftMetadata?.symbol || getTicker(getAssetNameParts(assetId).asset).toUpperCase())}
-
- )}
- {participants && participants}
- {tokenType && {tokenType}}
-
- {memo && (
- ∙}>
- Memo
- {memo}
-
- )}
- >
+
+
+
}
- rightItem={event.event_index}
+ leftContent={{
+ title: name,
+ subtitle: (
+ <>
+ ∙}>
+ {assetEventType ? {assetEventType} : null}
+ {assetAmounts && (
+
+ {ftMetadata
+ ? ftDecimals((event as any).asset.amount, ftMetadata?.decimals || 0)
+ : assetAmounts}{' '}
+ {assetId &&
+ (ftMetadata?.symbol ||
+ getTicker(getAssetNameParts(assetId).asset).toUpperCase())}
+
+ )}
+ {participants && participants}
+ {tokenType && {tokenType}}
+
+ {memo && (
+ ∙}>
+ Memo
+
+ {memo}
+
+
+ )}
+ >
+ ),
+ }}
+ rightContent={{ title: event.event_index }}
/>
);
};
@@ -333,7 +282,7 @@ export const Events: FC = ({ tx }) => {
return (
-
+ <>
{tx.events.map((event, index) => (
))}
@@ -342,7 +291,7 @@ export const Events: FC = ({ tx }) => {
{page?.results.map((event, index) => )}
))}
-
+ >
{(actions.isFetchingNextPage || actions.hasNextPage) && (
= ({ tx }) => {
py="16px"
_hover={{ color: 'textTitle', cursor: 'pointer' }}
onClick={() => actions.hasNextPage && actions.fetchNextPage()}
- color={'textCaption'}
>
{actions.isFetchingNextPage ? (
diff --git a/src/app/txid/[txId]/PoisonMicroblock/TxDetails.tsx b/src/app/txid/[txId]/PoisonMicroblock/TxDetails.tsx
index c1b6e1dac..b7d069651 100644
--- a/src/app/txid/[txId]/PoisonMicroblock/TxDetails.tsx
+++ b/src/app/txid/[txId]/PoisonMicroblock/TxDetails.tsx
@@ -7,7 +7,6 @@ import {
} from '@stacks/stacks-blockchain-api-types';
import { Section } from '../../../../common/components/Section';
-import { useVerticallyStackedElementsBorderStyle } from '../../../../common/hooks/useVerticallyStackedElementsBorderStyle';
import { Box } from '../../../../ui/Box';
import { Flex } from '../../../../ui/Flex';
import { BlockHash } from '../TxDetails/BlockHash';
@@ -27,7 +26,7 @@ export const TxDetails: React.FC = ({ tx }) => {
<>
-
+
diff --git a/src/app/txid/[txId]/PostConditions.tsx b/src/app/txid/[txId]/PostConditions.tsx
index d9b1f7545..7fdd9fc5d 100644
--- a/src/app/txid/[txId]/PostConditions.tsx
+++ b/src/app/txid/[txId]/PostConditions.tsx
@@ -15,10 +15,10 @@ import {
} from '@stacks/stacks-blockchain-api-types';
import { Badge } from '../../../common/components/Badge';
+import { Circle } from '../../../common/components/Circle';
import { ListItem } from '../../../common/components/ListItem';
import { Section } from '../../../common/components/Section';
import { StxPriceButton } from '../../../common/components/StxPriceButton';
-import { useVerticallyStackedElementsBorderStyle } from '../../../common/hooks/useVerticallyStackedElementsBorderStyle';
import { useContractFtMetadata } from '../../../common/queries/useContractFtMetadata';
import {
capitalize,
@@ -28,9 +28,9 @@ import {
validateStacksAddress,
} from '../../../common/utils/utils';
import { Box } from '../../../ui/Box';
-import { Circle } from '../../../ui/Circle';
import { FlexProps } from '../../../ui/Flex';
import { Grid } from '../../../ui/Grid';
+import { Icon } from '../../../ui/Icon';
import { StxIcon } from '../../../ui/icons';
import { Caption } from '../../../ui/typography';
import { getTicker } from './Events';
@@ -92,7 +92,7 @@ const ConditionAsset = ({ condition }: { condition: PostCondition }) => {
case 'stx':
return (
-
+
);
}
@@ -177,13 +177,13 @@ export const PostConditions: React.FC<
title="Post conditions"
topRight={
mode ? (
-
+
{capitalize(mode)} mode
) : null
}
>
-
+
{conditions?.length ? (
<>
{conditions.map((condition: PostCondition, key) => (
diff --git a/src/app/txid/[txId]/SenderRecipient.tsx b/src/app/txid/[txId]/SenderRecipient.tsx
index 4739aded6..a631cbbcf 100644
--- a/src/app/txid/[txId]/SenderRecipient.tsx
+++ b/src/app/txid/[txId]/SenderRecipient.tsx
@@ -20,7 +20,7 @@ export const SenderRecipient: React.FC = React.memo(
{truncateMiddle(sender)}
-
+
{truncateMiddle(recipient)}
diff --git a/src/app/txid/[txId]/SmartContract/ContractTabs.tsx b/src/app/txid/[txId]/SmartContract/ContractTabs.tsx
index 0460691bd..87b792aa0 100644
--- a/src/app/txid/[txId]/SmartContract/ContractTabs.tsx
+++ b/src/app/txid/[txId]/SmartContract/ContractTabs.tsx
@@ -1,7 +1,6 @@
import { FC } from 'react';
import { ContractAvailableFunctions } from '../../../../common/components/ContractAvailableFunctions';
-import { useVerticallyStackedElementsBorderStyle } from '../../../../common/hooks/useVerticallyStackedElementsBorderStyle';
import { ContractWithParsedAbi } from '../../../../common/types/contract';
import { CodeEditor } from '../../../../ui/CodeEditor';
import { Tab } from '../../../../ui/Tab';
@@ -15,12 +14,10 @@ export const ContractTabs: FC<{
source?: string;
contract?: ContractWithParsedAbi;
}> = ({ contractId, source, contract }) => {
- const verticallyStackedElementsBorderStyle = useVerticallyStackedElementsBorderStyle();
-
if (!contract) return null;
return (
-
+
{source && Source code}
Available functions
@@ -31,7 +28,7 @@ export const ContractTabs: FC<{
)}
-
+
diff --git a/src/app/txid/[txId]/SmartContract/SmartContract.tsx b/src/app/txid/[txId]/SmartContract/SmartContract.tsx
index b784e97f3..7d864d22d 100644
--- a/src/app/txid/[txId]/SmartContract/SmartContract.tsx
+++ b/src/app/txid/[txId]/SmartContract/SmartContract.tsx
@@ -1,8 +1,8 @@
import * as React from 'react';
-import { AddressTxListTabs } from '../../../../common/components/tx-lists/tabs/AddressTxListTabs';
import { useSuspenseContractById } from '../../../../common/queries/useContractById';
import { useSuspenseTxById } from '../../../../common/queries/useTxById';
+import { AddressTxListTabs } from '../../../../features/txs-list/tabs/AddressTxListTabs';
import { PostConditions } from '../PostConditions';
import { TxPage } from '../TxPage';
import { ContractTabs } from './ContractTabs';
diff --git a/src/app/txid/[txId]/SmartContract/SmartContractTx.tsx b/src/app/txid/[txId]/SmartContract/SmartContractTx.tsx
index 2c87d2617..1439c5088 100644
--- a/src/app/txid/[txId]/SmartContract/SmartContractTx.tsx
+++ b/src/app/txid/[txId]/SmartContract/SmartContractTx.tsx
@@ -5,12 +5,12 @@ import {
SmartContractTransaction,
} from '@stacks/stacks-blockchain-api-types';
-import { AddressTxListTabs } from '../../../../common/components/tx-lists/tabs/AddressTxListTabs';
import {
useContractById,
useSuspenseContractById,
} from '../../../../common/queries/useContractById';
import { getTxContractId } from '../../../../common/utils/utils';
+import { AddressTxListTabs } from '../../../../features/txs-list/tabs/AddressTxListTabs';
import { PostConditions } from '../PostConditions';
import { TxPage } from '../TxPage';
import { ContractTabs } from './ContractTabs';
diff --git a/src/app/txid/[txId]/SmartContract/TxDetails.tsx b/src/app/txid/[txId]/SmartContract/TxDetails.tsx
index 3bf536638..35d6d523a 100644
--- a/src/app/txid/[txId]/SmartContract/TxDetails.tsx
+++ b/src/app/txid/[txId]/SmartContract/TxDetails.tsx
@@ -7,7 +7,6 @@ import {
} from '@stacks/stacks-blockchain-api-types';
import { Section } from '../../../../common/components/Section';
-import { useVerticallyStackedElementsBorderStyle } from '../../../../common/hooks/useVerticallyStackedElementsBorderStyle';
import { Box } from '../../../../ui/Box';
import { Flex } from '../../../../ui/Flex';
import { BlockHash } from '../TxDetails/BlockHash';
@@ -30,7 +29,7 @@ export const TxDetails: React.FC = ({ tx, block }) => {
<>
-
+
diff --git a/src/app/txid/[txId]/TokenTransfer/TxDetails.tsx b/src/app/txid/[txId]/TokenTransfer/TxDetails.tsx
index 20ebaf593..9daccd89d 100644
--- a/src/app/txid/[txId]/TokenTransfer/TxDetails.tsx
+++ b/src/app/txid/[txId]/TokenTransfer/TxDetails.tsx
@@ -6,7 +6,6 @@ import {
} from '@stacks/stacks-blockchain-api-types';
import { Section } from '../../../../common/components/Section';
-import { useVerticallyStackedElementsBorderStyle } from '../../../../common/hooks/useVerticallyStackedElementsBorderStyle';
import { Box } from '../../../../ui/Box';
import { Flex } from '../../../../ui/Flex';
import { Amount } from '../TxDetails/Amount';
@@ -29,7 +28,7 @@ export const TxDetails: React.FC = ({ tx }) => {
<>
-
+
diff --git a/src/app/txid/[txId]/TxAlerts.tsx b/src/app/txid/[txId]/TxAlerts.tsx
index ab757e4a1..5031b3a4f 100644
--- a/src/app/txid/[txId]/TxAlerts.tsx
+++ b/src/app/txid/[txId]/TxAlerts.tsx
@@ -9,7 +9,7 @@ import { TransactionStatus } from '../../../common/constants/constants';
import { useGlobalContext } from '../../../common/context/useAppContext';
import { getTransactionStatus } from '../../../common/utils/transactions';
import { ExplorerErrorBoundary } from '../../_components/ErrorBoundary';
-import { Alert } from './Alert';
+import { AlertBase } from './Alert';
interface TxAlertsBaseProps {
tx: Transaction | MempoolTransaction;
@@ -40,30 +40,9 @@ function TxAlertsBase({ tx }: TxAlertsBaseProps) {
return (
<>
- {isFailed ? (
-
- ) : null}
- {isLongPending ? (
-
- ) : null}
- {isNonCanonical ? (
-
- ) : null}
+ {isFailed ? : null}
+ {isLongPending ? : null}
+ {isNonCanonical ? : null}
>
);
}
diff --git a/src/app/txid/[txId]/TxDetails/Amount.tsx b/src/app/txid/[txId]/TxDetails/Amount.tsx
index b269edc08..2624026ab 100644
--- a/src/app/txid/[txId]/TxDetails/Amount.tsx
+++ b/src/app/txid/[txId]/TxDetails/Amount.tsx
@@ -11,6 +11,8 @@ import { KeyValueHorizontal } from '../../../../common/components/KeyValueHorizo
import { StxPriceButton } from '../../../../common/components/StxPriceButton';
import { microToStacks, microToStacksFormatted } from '../../../../common/utils/utils';
import { Box } from '../../../../ui/Box';
+import { HStack } from '../../../../ui/HStack';
+import { Icon } from '../../../../ui/Icon';
import { Stack } from '../../../../ui/Stack';
import { Text } from '../../../../ui/Text';
import { StxIcon } from '../../../../ui/icons';
@@ -24,10 +26,10 @@ export const Amount: FC<{ tx: TokenTransferTransaction | MempoolTokenTransferTra
label={'Amount'}
value={
<>
-
+
-
+
@@ -36,7 +38,7 @@ export const Amount: FC<{ tx: TokenTransferTransaction | MempoolTokenTransferTra
STX
-
+
>
}
diff --git a/src/app/txid/[txId]/TxDetails/BlockHash.tsx b/src/app/txid/[txId]/TxDetails/BlockHash.tsx
index 95bdae9b6..65e9f9457 100644
--- a/src/app/txid/[txId]/TxDetails/BlockHash.tsx
+++ b/src/app/txid/[txId]/TxDetails/BlockHash.tsx
@@ -22,10 +22,8 @@ export const BlockHash: FC<{
-
- {tx.block_hash}
-
+
+ {tx.block_hash}
}
copyValue={tx.block_hash}
diff --git a/src/app/txid/[txId]/TxDetails/BlockHeight.tsx b/src/app/txid/[txId]/TxDetails/BlockHeight.tsx
index e60f7bb35..e6ff322d4 100644
--- a/src/app/txid/[txId]/TxDetails/BlockHeight.tsx
+++ b/src/app/txid/[txId]/TxDetails/BlockHeight.tsx
@@ -25,7 +25,7 @@ function BlockHeightBase({ tx }: { tx: Transaction | MempoolTransaction }) {
if (isInMempool(tx) || isInMicroblock(tx)) return null;
- const ts = tx.parent_burn_block_time || tx.burn_block_time;
+ const ts = tx.burn_block_time;
if (!ts) return null;
const readableTs = `${new Date(ts * 1000).toLocaleTimeString()} ${new Date(
diff --git a/src/app/txid/[txId]/TxDetails/ContractName.tsx b/src/app/txid/[txId]/TxDetails/ContractName.tsx
index 979a005bf..79c782acc 100644
--- a/src/app/txid/[txId]/TxDetails/ContractName.tsx
+++ b/src/app/txid/[txId]/TxDetails/ContractName.tsx
@@ -28,9 +28,7 @@ export const ContractName: FC<{
label={'Contract'}
value={
-
- {tx.contract_call.contract_id}
-
+ {tx.contract_call.contract_id}
}
copyValue={tx.contract_call.contract_id}
@@ -43,9 +41,7 @@ export const ContractName: FC<{
label={'Contract'}
value={
-
- {tx.smart_contract.contract_id}
-
+ {tx.smart_contract.contract_id}
}
copyValue={tx.smart_contract.contract_id}
diff --git a/src/app/txid/[txId]/TxDetails/Recipient.tsx b/src/app/txid/[txId]/TxDetails/Recipient.tsx
index c2ede0153..99b3d41f6 100644
--- a/src/app/txid/[txId]/TxDetails/Recipient.tsx
+++ b/src/app/txid/[txId]/TxDetails/Recipient.tsx
@@ -1,5 +1,5 @@
-import { FC } from 'react';
import * as React from 'react';
+import { FC } from 'react';
import { TbArrowDownRight } from 'react-icons/tb';
import {
@@ -10,8 +10,7 @@ import {
import { ExplorerLink } from '../../../../common/components/ExplorerLinks';
import { KeyValueHorizontal } from '../../../../common/components/KeyValueHorizontal';
import { Box } from '../../../../ui/Box';
-import { Stack } from '../../../../ui/Stack';
-import { TextLink } from '../../../../ui/TextLink';
+import { HStack } from '../../../../ui/HStack';
export const Recipient: FC<{ tx: TokenTransferTransaction | MempoolTokenTransferTransaction }> = ({
tx,
@@ -19,16 +18,18 @@ export const Recipient: FC<{ tx: TokenTransferTransaction | MempoolTokenTransfer
-
+
+
-
-
- {tx.token_transfer.recipient_address}
-
+
+ {tx.token_transfer.recipient_address}
-
+
}
copyValue={tx.token_transfer.recipient_address}
/>
diff --git a/src/app/txid/[txId]/TxDetails/Sender.tsx b/src/app/txid/[txId]/TxDetails/Sender.tsx
index 394577e06..db91dc750 100644
--- a/src/app/txid/[txId]/TxDetails/Sender.tsx
+++ b/src/app/txid/[txId]/TxDetails/Sender.tsx
@@ -1,7 +1,7 @@
'use client';
-import { FC } from 'react';
import * as React from 'react';
+import { FC } from 'react';
import { TbArrowUpRight } from 'react-icons/tb';
import { MempoolTransaction, Transaction } from '@stacks/stacks-blockchain-api-types';
@@ -9,24 +9,25 @@ import { MempoolTransaction, Transaction } from '@stacks/stacks-blockchain-api-t
import { ExplorerLink } from '../../../../common/components/ExplorerLinks';
import { KeyValueHorizontal } from '../../../../common/components/KeyValueHorizontal';
import { Box } from '../../../../ui/Box';
-import { Stack } from '../../../../ui/Stack';
-import { TextLink } from '../../../../ui/TextLink';
+import { HStack } from '../../../../ui/HStack';
import { getSenderName } from '../utils';
export const Sender: FC<{ tx: Transaction | MempoolTransaction }> = ({ tx }) => (
-
+
+
-
-
- {tx.sender_address}
-
+
+ {tx.sender_address}
-
+
}
copyValue={tx.sender_address}
/>
diff --git a/src/app/txid/[txId]/TxDetails/__tests__/__snapshots__/Broadcast.test.tsx.snap b/src/app/txid/[txId]/TxDetails/__tests__/__snapshots__/Broadcast.test.tsx.snap
index bad862c5b..cb0ff1b42 100644
--- a/src/app/txid/[txId]/TxDetails/__tests__/__snapshots__/Broadcast.test.tsx.snap
+++ b/src/app/txid/[txId]/TxDetails/__tests__/__snapshots__/Broadcast.test.tsx.snap
@@ -3,21 +3,21 @@
exports[` renders correctly 1`] = `
Broadcast
renders correctly 1`] = `
/>
a year ago
@@ -52,7 +52,6 @@ exports[` renders correctly 1`] = `
>
|