import { Group } from '@mantine/core'; import { useForm } from '@mantine/form'; import { useDisclosure } from '@mantine/hooks'; import { RiHashtag } from 'react-icons/ri'; import { Button } from '/@/renderer/components/button'; import { NumberInput } from '/@/renderer/components/input'; import { Pagination } from '/@/renderer/components/pagination'; import { Popover } from '/@/renderer/components/popover'; import { useContainerQuery } from '/@/renderer/hooks'; interface TablePaginationProps { containerQuery: ReturnType; pagination: { currentPage: number; itemsPerPage: number; totalPages: number; }; tableRef: any; } export const TablePagination = ({ tableRef, containerQuery, pagination }: TablePaginationProps) => { const [isGoToPageOpen, handlers] = useDisclosure(false); const form = useForm({ initialValues: { pageNumber: undefined, }, }); const handlePagination = (index: number) => { tableRef.current?.api.paginationGoToPage(index - 1); }; const handleGoSubmit = form.onSubmit((values) => { handlers.close(); if (!values.pageNumber || values.pageNumber < 1 || values.pageNumber > pagination.totalPages) { return; } tableRef.current?.api.paginationGoToPage(values.pageNumber - 1); }); return ( handlers.close()} >
); };