import { Box, HStack, Input, Select, Text } from "@chakra-ui/react"; import { OPACITY_ON_LOAD } from "../../Layout/animations"; import { TABLE_PAGINATION } from "../../Constants/Paginations"; import { useGetVideosQuery } from "../../Services/api.service"; import { useState } from "react"; import Header from "../../Components/Header"; import { ChevronLeftIcon, ChevronRightIcon } from "@chakra-ui/icons"; import DataTable from "../../Components/DataTable/DataTable"; const TabularView = ({ apiData, tableHeadRow, title, btnTitle, link, extractedArray, searchTerm, setSearchTerm, statusFilter, setStatusFilter, currentPage, setCurrentPage, pageSize, setPageSize, totalPages, noDataTitle, totalItems, }) => { const [displayRange, setDisplayRange] = useState({ start: TABLE_PAGINATION?.page, end: pageSize, }); // ====================================================[Pagination Setup]================================================================ const paginationPrev = () => { if (currentPage > 1) { setCurrentPage(currentPage - 1); updateDisplayRange(currentPage - 1); } }; const paginationNext = () => { if (currentPage < totalPages) { setCurrentPage(currentPage + 1); updateDisplayRange(currentPage + 1); } }; const updateDisplayRange = (page) => { const start = (page - 1) * pageSize + 1; const end = Math.min(start + pageSize - 1, totalItems); setDisplayRange({ start, end }); }; return (
setSearchTerm(e.target.value)} /> {displayRange.start} - {displayRange.end} of {totalItems} {/* ====================================================[ Table ]================================================================ */} ); }; export default TabularView;