@@ -20,7 +20,7 @@ import {
20
20
} from '@/src/components/ui/select'
21
21
import { Separator } from '@/src/components/ui/separator'
22
22
import {
23
- createParser ,
23
+ parseAsIndex ,
24
24
parseAsInteger ,
25
25
parseAsString ,
26
26
useQueryState
@@ -29,19 +29,6 @@ import { useDeferredValue } from 'react'
29
29
30
30
const NUM_PAGES = 5
31
31
32
- // The page index parser is zero-indexed internally,
33
- // but one-indexed when rendered in the URL,
34
- // to align with your UI and what users might expect.
35
- const pageIndexParser = createParser ( {
36
- parse : query => {
37
- const page = parseAsInteger . parse ( query )
38
- return page === null ? null : page - 1
39
- } ,
40
- serialize : value => {
41
- return parseAsInteger . serialize ( value + 1 )
42
- }
43
- } )
44
-
45
32
export function TanStackTablePagination ( ) {
46
33
const [ pageIndexUrlKey , setPageIndexUrlKey ] = useQueryState (
47
34
'pageIndexUrlKey' ,
@@ -53,35 +40,22 @@ export function TanStackTablePagination() {
53
40
)
54
41
const [ page , setPage ] = useQueryState (
55
42
pageIndexUrlKey ,
56
- pageIndexParser . withDefault ( 0 )
43
+ parseAsIndex . withDefault ( 0 )
57
44
)
58
45
const [ pageSize , setPageSize ] = useQueryState (
59
46
pageSizeUrlKey ,
60
47
parseAsInteger . withDefault ( 10 )
61
48
)
62
49
63
50
const parserCode = useDeferredValue ( `import {
64
- createParser ,
51
+ parseAsIndex ,
65
52
parseAsInteger,
66
53
parseAsString,
67
54
useQueryStates
68
55
} from 'nuqs'
69
56
70
- // The page index parser is zero-indexed internally,
71
- // but one-indexed when rendered in the URL,
72
- // to align with your UI and what users might expect.
73
- const pageIndexParser = createParser({
74
- parse: query => {
75
- const page = parseAsInteger.parse(query)
76
- return page === null ? null : page - 1
77
- },
78
- serialize: value => {
79
- return parseAsInteger.serialize(value + 1)
80
- }
81
- })
82
-
83
57
const paginationParsers = {
84
- pageIndex: pageIndexParser .withDefault(0),
58
+ pageIndex: parseAsIndex .withDefault(0),
85
59
pageSize: parseAsInteger.withDefault(10)
86
60
}
87
61
const paginationUrlKeys = {
0 commit comments