mirror of
https://github.com/luxfi/explore.git
synced 2026-09-24 00:28:18 +00:00
PascalCase enum values (PendingOutbound, OutboundMined, etc.) instead of SCREAMING_SNAKE_CASE (PENDING_OUTBOUND, OUTBOUND_MINED, etc.) to match the actual @luxfi/zetachain-cctx-types package exports.
53 lines
1.3 KiB
TypeScript
53 lines
1.3 KiB
TypeScript
import React from 'react';
|
|
|
|
import { CctxStatusReduced } from '@luxfi/zetachain-cctx-types';
|
|
|
|
import StatusTag, { type StatusTagType } from 'ui/shared/statusTag/StatusTag';
|
|
|
|
type Props = {
|
|
status: CctxStatusReduced;
|
|
isLoading?: boolean;
|
|
type?: 'reduced' | 'full';
|
|
};
|
|
|
|
const ZetaChainCCTXReducedStatus = ({ status, isLoading, type = 'reduced' }: Props) => {
|
|
let statusTagType: StatusTagType;
|
|
switch (status) {
|
|
case CctxStatusReduced.Success:
|
|
statusTagType = 'ok';
|
|
break;
|
|
case CctxStatusReduced.Pending:
|
|
statusTagType = 'pending';
|
|
break;
|
|
case CctxStatusReduced.Failed:
|
|
statusTagType = 'error';
|
|
break;
|
|
case CctxStatusReduced.UNRECOGNIZED:
|
|
statusTagType = 'pending';
|
|
break;
|
|
}
|
|
|
|
if (type === 'full') {
|
|
let text: string;
|
|
switch (status) {
|
|
case CctxStatusReduced.Success:
|
|
text = 'Success';
|
|
break;
|
|
case CctxStatusReduced.Pending:
|
|
text = 'Pending';
|
|
break;
|
|
case CctxStatusReduced.Failed:
|
|
text = 'Failed';
|
|
break;
|
|
case CctxStatusReduced.UNRECOGNIZED:
|
|
text = 'Unrecognized';
|
|
break;
|
|
}
|
|
return <StatusTag type={ statusTagType } text={ text } size="md" loading={ isLoading }/>;
|
|
}
|
|
|
|
return <StatusTag type={ statusTagType } size="sm" loading={ isLoading }/>;
|
|
};
|
|
|
|
export default ZetaChainCCTXReducedStatus;
|