mirror of
https://github.com/luxfi/explore.git
synced 2026-09-24 00:28:18 +00:00
* envs and feature setup * home page layout * cross-chain txs page * cross-chain transfers page * cross-chain transfers on tx page * cross-chain messages on tx page * cross-chain tx page * cross-chain tx details token transfers * stats and counters for lists * migrate to new API version * add swagger * mobile lists * placeholder views on address page * tests * fix adaptive tabs initial state when there is only one tab in the list * tweaks * bug fixes * fix tests * update screenshots * migrate to new api version * add chain label tooltip, copy button to txs in lists and same address highlight * list views on address page * fix tests * fix links to current address in the list views * update tooltips * update tables layout * review fixes * fix spelling * update screenshots * update screenshot
55 lines
1.3 KiB
TypeScript
55 lines
1.3 KiB
TypeScript
import React from 'react';
|
|
|
|
import { route } from 'nextjs-routes';
|
|
|
|
import config from 'configs/app';
|
|
import { Link } from 'toolkit/chakra/link';
|
|
import * as DetailedInfo from 'ui/shared/DetailedInfo/DetailedInfo';
|
|
|
|
import useTxCrossChainTransfersQuery from '../useTxCrossChainTransfersQuery';
|
|
|
|
interface Props {
|
|
hash: string;
|
|
isLoading: boolean;
|
|
}
|
|
|
|
const TxDetailsCrossChainTransfers = ({ hash, isLoading: isLoadingProp }: Props) => {
|
|
|
|
const { data, isPending } = useTxCrossChainTransfersQuery({ hash });
|
|
|
|
const isLoading = isLoadingProp || isPending;
|
|
|
|
if ((!isPending && (!data || !data.items.length)) || !config.features.crossChainTxs.isEnabled) {
|
|
return null;
|
|
}
|
|
|
|
const text = (() => {
|
|
if (!data) {
|
|
return '0';
|
|
}
|
|
|
|
return data.next_page_params ? '50+' : data.items.length;
|
|
})();
|
|
|
|
return (
|
|
<>
|
|
<DetailedInfo.ItemLabel
|
|
hint="Number of cross-chain transfers in this transaction"
|
|
isLoading={ isLoading }
|
|
>
|
|
Cross-chain transfers
|
|
</DetailedInfo.ItemLabel>
|
|
<DetailedInfo.ItemValue>
|
|
<Link
|
|
href={ route({ pathname: '/tx/[hash]', query: { hash, tab: 'token_transfers_cross_chain' } }) }
|
|
loading={ isLoading }
|
|
>
|
|
{ text }
|
|
</Link>
|
|
</DetailedInfo.ItemValue>
|
|
</>
|
|
);
|
|
};
|
|
|
|
export default React.memo(TxDetailsCrossChainTransfers);
|