|
@@ -21,15 +21,22 @@ import {
|
|
|
import { DataTablePagination, DataTableToolbar } from '@/components/data-table'
|
|
import { DataTablePagination, DataTableToolbar } from '@/components/data-table'
|
|
|
import { DataTableBulkActions } from './data-table-bulk-actions'
|
|
import { DataTableBulkActions } from './data-table-bulk-actions'
|
|
|
import { postsColumns as columns } from './posts-columns'
|
|
import { postsColumns as columns } from './posts-columns'
|
|
|
-import { type Post } from '@/types/posts.types'
|
|
|
|
|
|
|
+import type { Post } from '@/types/posts.types'
|
|
|
|
|
+import type { Pagination } from '@/types/common.types'
|
|
|
|
|
|
|
|
type DataTableProps = {
|
|
type DataTableProps = {
|
|
|
data: Post[]
|
|
data: Post[]
|
|
|
|
|
+ paginationData?: Pagination
|
|
|
search: Record<string, unknown>
|
|
search: Record<string, unknown>
|
|
|
navigate: NavigateFn
|
|
navigate: NavigateFn
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-export function PostsTable({ data, search, navigate }: DataTableProps) {
|
|
|
|
|
|
|
+export function PostsTable({
|
|
|
|
|
+ data,
|
|
|
|
|
+ paginationData,
|
|
|
|
|
+ search,
|
|
|
|
|
+ navigate,
|
|
|
|
|
+}: DataTableProps) {
|
|
|
// Local UI-only states
|
|
// Local UI-only states
|
|
|
const [rowSelection, setRowSelection] = useState({})
|
|
const [rowSelection, setRowSelection] = useState({})
|
|
|
const [columnVisibility, setColumnVisibility] = useState<VisibilityState>({})
|
|
const [columnVisibility, setColumnVisibility] = useState<VisibilityState>({})
|
|
@@ -70,6 +77,7 @@ export function PostsTable({ data, search, navigate }: DataTableProps) {
|
|
|
columnFilters,
|
|
columnFilters,
|
|
|
columnVisibility,
|
|
columnVisibility,
|
|
|
},
|
|
},
|
|
|
|
|
+ pageCount: paginationData?.last_page ?? -1,
|
|
|
manualPagination: true,
|
|
manualPagination: true,
|
|
|
manualFiltering: true,
|
|
manualFiltering: true,
|
|
|
manualSorting: true,
|
|
manualSorting: true,
|