diff --git a/libs/templates/src/lib/trade/table/trading-spec-table.tsx b/libs/templates/src/lib/trade/table/trading-spec-table.tsx index 5b0ccbd4b..1b54187af 100644 --- a/libs/templates/src/lib/trade/table/trading-spec-table.tsx +++ b/libs/templates/src/lib/trade/table/trading-spec-table.tsx @@ -1,3 +1,4 @@ +import React, { useCallback } from 'react'; import { useEffect, useState } from 'react'; import { additionalInfo, mainInfo, tradingCondition } from '../data/data'; import { TableDataType } from '../types/types'; @@ -15,10 +16,9 @@ import { SearchField, Section, Text, + Pagination, } from '@deriv/quill-design'; import { - StandaloneChevronLeftRegularIcon, - StandaloneChevronRightRegularIcon, StandaloneCircleDotFillIcon, StandaloneCircleRegularIcon, StandaloneXmarkBoldIcon, @@ -28,6 +28,11 @@ import { BottomSheet } from '@deriv-com/components'; import clsx from 'clsx'; import Chips from '../chips'; +type TPaginationEvent = { + currentPage: number; + totalPageCount: number; +}; + const TradingSpecTable = () => { const [data, setData] = useState([]); const [selectedFilter, setSelectedFilter] = useState( @@ -36,6 +41,8 @@ const TradingSpecTable = () => { const [selectedInfo, setSelectedInfo] = useState('mainInfo'); const [searchValue, setSearchValue] = useState(''); const [showBottomSheet, setShowBottomSheet] = useState(false); + const pageSize = 15; + const pageCount = data.length + 1; const handleSubmit = (e: React.ChangeEvent) => { e.preventDefault(); @@ -55,7 +62,6 @@ const TradingSpecTable = () => { item.instrument?.instrument?.match(new RegExp(searchValue, 'i')), ), ]; - setData(updatedRowData); } else { setData(selectedFilter); @@ -77,6 +83,16 @@ const TradingSpecTable = () => { useEffect(() => { document.body.style.overflow = showBottomSheet ? 'hidden' : 'scroll'; }, [showBottomSheet]); + + const handlePagination = useCallback( + ({ currentPage }: TPaginationEvent) => { + if (currentPage) { + table.setPageIndex(currentPage - 1); + } + }, + [table], + ); + return (
@@ -158,42 +174,15 @@ const TradingSpecTable = () => { )} {data.length > 1 && (
-
- - {table.getPageOptions().map((page) => { - const selected = page === table.getState().pagination.pageIndex; - return ( - - ); - })} - -
+
)} +