diff --git a/src/components/icons/TokenIcon.tsx b/src/components/icons/TokenIcon.tsx index 9c652be5..04d22935 100644 --- a/src/components/icons/TokenIcon.tsx +++ b/src/components/icons/TokenIcon.tsx @@ -26,6 +26,7 @@ export function TokenIcon({ token, size = 32 }: Props) { {imageSrc && !fallbackToText ? ( {title} setFallbackToText(true)} loading="lazy" diff --git a/src/components/search/SearchFilterBar.tsx b/src/components/search/SearchFilterBar.tsx index 635c9986..110e9a72 100644 --- a/src/components/search/SearchFilterBar.tsx +++ b/src/components/search/SearchFilterBar.tsx @@ -131,6 +131,16 @@ function DatetimeSelector({ // Need local state as buffer before user hits apply const [startTime, setStartTime] = useState(startValue); const [endTime, setEndTime] = useState(endValue); + const [prevStartValue, setPrevStartValue] = useState(startValue); + const [prevEndValue, setPrevEndValue] = useState(endValue); + if (startValue !== prevStartValue) { + setPrevStartValue(startValue); + setStartTime(startValue); + } + if (endValue !== prevEndValue) { + setPrevEndValue(endValue); + setEndTime(endValue); + } const onClickClear = () => { setStartTime(null); diff --git a/src/features/messages/MessageSearch.tsx b/src/features/messages/MessageSearch.tsx index 87673848..0ded1f3b 100644 --- a/src/features/messages/MessageSearch.tsx +++ b/src/features/messages/MessageSearch.tsx @@ -101,13 +101,13 @@ export function MessageSearch() { const [destinationChainFilter, setDestinationChainFilter] = useState( defaultDestinationQuery || null, ); - const [startTimeFilter, setStartTimeFilter] = useState( + const [startTimeFilter, setStartTimeFilter] = useState(() => tryToDecimalNumber(defaultStartTime), ); - const [endTimeFilter, setEndTimeFilter] = useState( + const [endTimeFilter, setEndTimeFilter] = useState(() => tryToDecimalNumber(defaultEndTime), ); - const [statusFilter, setStatusFilter] = useState( + const [statusFilter, setStatusFilter] = useState(() => parseStatusFilter(defaultStatus), ); diff --git a/src/features/messages/cards/CollateralCards.tsx b/src/features/messages/cards/CollateralCards.tsx index 549fa3e3..e02e50cb 100644 --- a/src/features/messages/cards/CollateralCards.tsx +++ b/src/features/messages/cards/CollateralCards.tsx @@ -98,8 +98,8 @@ function RebalanceList({ rebalances }: { rebalances: RebalanceInfo[] }) { {count} rebalance transaction{count > 1 ? 's' : ''} in progress:

    - {pendingRebalances.slice(0, 3).map((rebalance, idx) => ( -
  • + {pendingRebalances.slice(0, 3).map((rebalance) => ( +
  • {rebalance.txHash.slice(0, 12)}... {rebalance.messageId && ( (decodedBody ? 'utf8' : 'hex'); + const [prevDecodedBody, setPrevDecodedBody] = useState(decodedBody); + if (decodedBody !== prevDecodedBody) { + setPrevDecodedBody(decodedBody); + if (decodedBody) setBodyDecodeType('utf8'); + } const [blockExplorerAddressUrls, setBlockExplorerAddressUrls] = useState< BlockExplorerAddressUrls | undefined >(undefined); const formattedRecipient = formatAddress(recipient, destinationDomainId, multiProvider); const formattedSender = formatAddress(sender, originDomainId, multiProvider); - - useEffect(() => { - if (decodedBody) setBodyDecodeType('utf8'); - }, [decodedBody]); const onChangeBodyDecode = (value: string) => { setBodyDecodeType(value); }; @@ -143,7 +144,7 @@ export function ContentDetailsCard({
    - + Message Content: = {}; + interface Props { message: Message; igpPayments?: AddressTo; blur: boolean; } -export function GasDetailsCard({ message, blur, igpPayments = {} }: Props) { +export function GasDetailsCard({ message, blur, igpPayments = EMPTY_IGP_PAYMENTS }: Props) { const multiProvider = useMultiProvider(); const unitOptions = useMemo(() => { const originMetadata = multiProvider.tryGetChainMetadata(message.originDomainId); @@ -157,7 +159,7 @@ function IgpPaymentsTable({ payments }: { payments: Array {payments.map((p, i) => ( - + {p.contract} {p.gasAmount} {p.paymentAmount} diff --git a/src/features/messages/cards/IcaDetailsCard.tsx b/src/features/messages/cards/IcaDetailsCard.tsx index 5839b975..99dacfc0 100644 --- a/src/features/messages/cards/IcaDetailsCard.tsx +++ b/src/features/messages/cards/IcaDetailsCard.tsx @@ -64,10 +64,10 @@ export function IcaDetailsCard({ message: { originDomainId, body }, blur }: Prop /> {decodeResult.calls.length ? ( decodeResult.calls.map((c, i) => ( -
    -