import { useRouter } from 'next/router'; import React from 'react'; import CsvExport from 'client/features/csv-export/components/CsvExport'; import useIsMounted from 'lib/hooks/useIsMounted'; import getQueryParamString from 'lib/router/getQueryParamString'; import { LOG } from 'stubs/log'; import { generateListStub } from 'stubs/utils'; import ActionBar from 'ui/shared/ActionBar'; import DataListDisplay from 'ui/shared/DataListDisplay'; import LogItem from 'ui/shared/logs/LogItem'; import Pagination from 'ui/shared/pagination/Pagination'; import useQueryWithPages from 'ui/shared/pagination/useQueryWithPages'; import useAddressQuery from './utils/useAddressQuery'; type Props = { shouldRender?: boolean; isQueryEnabled?: boolean; }; const AddressLogs = ({ shouldRender = true, isQueryEnabled = true }: Props) => { const router = useRouter(); const isMounted = useIsMounted(); const hash = getQueryParamString(router.query.hash); const { data, isPlaceholderData, isError, pagination } = useQueryWithPages({ resourceName: 'general:address_logs', pathParams: { hash }, options: { enabled: isQueryEnabled, placeholderData: generateListStub<'general:address_logs'>(LOG, 3, { next_page_params: { block_number: 9005750, index: 42, items_count: 50, transaction_index: 23, } }), }, }); const addressQuery = useAddressQuery({ hash }); const actionBar = ( ); if (!isMounted || !shouldRender) { return null; } const content = data?.items ? data.items.map((item, index) => ( )) : null; return ( { content } ); }; export default AddressLogs;