feat: release v1.0.0

This commit is contained in:
2026-07-29 22:10:33 +08:00
parent 3abf272e33
commit 97235386ca
98 changed files with 2389 additions and 467 deletions

View File

@@ -1,11 +1,12 @@
import { useEffect, useMemo, useState } from 'react'
import { useMemo, useState } from 'react'
import { useQuery } from '@tanstack/react-query'
import { getCoreRowModel, useReactTable } from '@tanstack/react-table'
import { getSysFiles } from '@/api'
import { hasPermission } from '@/lib'
import type { SysFile } from '@/schemas'
import { getSysFiles } from '../../../api/system/file.ts'
import { createColumns } from './components/columns.tsx'
import { CrudProvider } from './components/crud-provider.tsx'
import { FileTable } from './components/file-table.tsx'
@@ -16,9 +17,8 @@ export default function CrudPage() {
pageIndex: 0,
pageSize: 10,
})
const [rowCount, setRowCount] = useState<number>()
const { data, isFetching } = useQuery({
const { data, isFetching, refetch } = useQuery({
queryKey: [QUERY_KEY, pagination.pageIndex, pagination.pageSize],
queryFn: () =>
getSysFiles({
@@ -26,28 +26,24 @@ export default function CrudPage() {
page_size: pagination.pageSize,
}),
placeholderData: (prev) => prev,
enabled: hasPermission('file:list'),
})
const tableData = useMemo<SysFile[]>(() => data?.list ?? [], [data])
const columns = useMemo(() => createColumns(), [])
useEffect(() => {
if (!isFetching && data?.total !== undefined) {
setRowCount(data.total)
}
}, [isFetching, data?.total])
const table = useReactTable<SysFile>({
data: tableData,
columns,
getCoreRowModel: getCoreRowModel(),
manualPagination: true,
rowCount: rowCount,
rowCount: data?.total,
state: { pagination },
onPaginationChange: setPagination,
meta: {
showLoading: isFetching,
isFetching,
refetch,
},
})