@@ -15,6 +15,8 @@ type TagListItem = {
15
15
value : string ;
16
16
} ;
17
17
18
+ const DEFAULT_QUERY_LIMIT = 25 ;
19
+
18
20
export const useInfiniteTagsList = ( options : TagsListOptions ) => {
19
21
const { viewAll, department, filter, limit } = options ;
20
22
@@ -32,7 +34,7 @@ export const useInfiniteTagsList = (options: TagsListOptions) => {
32
34
const { tags, ...data } = await getTags ( {
33
35
text : filter ,
34
36
offset,
35
- count : limit ?? 25 ,
37
+ count : limit ?? DEFAULT_QUERY_LIMIT ,
36
38
...( viewAll && { viewAll : 'true' } ) ,
37
39
...( department && { department } ) ,
38
40
sort : JSON . stringify ( { name : 1 } ) ,
@@ -43,13 +45,15 @@ export const useInfiniteTagsList = (options: TagsListOptions) => {
43
45
tags : tags . map ( formatTagItem ) ,
44
46
} ;
45
47
} ,
46
- select : ( data ) => {
47
- return data . pages . flatMap < TagListItem > ( ( page ) => page . tags ) ;
48
- } ,
48
+ select : ( data ) => data . pages . flatMap < TagListItem > ( ( page ) => page . tags ) ,
49
49
initialPageParam : 0 ,
50
50
getNextPageParam : ( lastPage ) => {
51
51
const offset = lastPage . offset + lastPage . count ;
52
52
return offset < lastPage . total ? offset : undefined ;
53
53
} ,
54
+ initialData : ( ) => ( {
55
+ pages : [ { tags : [ ] , total : 0 , offset : 0 , count : limit ?? DEFAULT_QUERY_LIMIT } ] ,
56
+ pageParams : [ 0 ] ,
57
+ } ) ,
54
58
} ) ;
55
59
} ;
0 commit comments