import { Box, HStack } from '@chakra-ui/react'; import React from 'react'; import type { TokenType } from 'types/api/token'; import CsvExport from 'client/features/csv-export/components/CsvExport'; import { useMultichainContext } from 'lib/contexts/multichain'; import useIsMobile from 'lib/hooks/useIsMobile'; import ActionBar, { ACTION_BAR_HEIGHT_DESKTOP } from 'ui/shared/ActionBar'; import DataListDisplay from 'ui/shared/DataListDisplay'; import Pagination from 'ui/shared/pagination/Pagination'; import type { QueryWithPagesResult } from 'ui/shared/pagination/useQueryWithPages'; import * as SocketNewItemsNotice from 'ui/shared/SocketNewItemsNotice'; import TokenTransferFilter from 'ui/shared/TokenTransfer/TokenTransferFilter'; import TokenTransferList from 'ui/shared/TokenTransfer/TokenTransferList'; import TokenTransferTable from 'ui/shared/TokenTransfer/TokenTransferTable'; import AddressAdvancedFilterLink from './AddressAdvancedFilterLink'; import type { Filters } from './useAddressTokenTransfersQuery'; import useAddressTokenTransfersSocket from './useAddressTokenTransfersSocket'; interface Props { query: QueryWithPagesResult<'general:address_token_transfers'>; filters: Filters; addressHash: string; onTypeFilterChange: (type: Array) => void; onAddressFilterChange: (filter: string) => void; // for tests only overloadCount?: number; } const TokenTransfersLocal = ({ query, filters, addressHash, onTypeFilterChange, onAddressFilterChange, overloadCount }: Props) => { const { isError, isPlaceholderData, data, pagination } = query; const isMobile = useIsMobile(); const multichainContext = useMultichainContext(); const { showSocketAlert, newItemsCount } = useAddressTokenTransfersSocket({ filters, addressHash, data, overloadCount, enabled: pagination.page === 1, }); const numActiveFilters = (filters.type?.length || 0) + (filters.filter ? 1 : 0); const content = data?.items ? ( <> { pagination.page === 1 && ( ) } ) : null; const actionBar = isMobile ? ( ) : null; return ( { content } ); }; export default React.memo(TokenTransfersLocal);