1- import { DEFAULT_FOLDER_LIMIT } from '@/constants' ;
1+ import { AUTO_POLLING_INTERVAL_IN_MILLISECONDS , DEFAULT_FOLDER_LIMIT } from '@/constants' ;
22import { useGetListFolderQuery } from '@/store/api/mail' ;
33import type { FolderType } from '@/types/mail' ;
44import { useState } from 'react' ;
55
66const useListFolderPaginated = ( mailbox : FolderType ) => {
7+ const [ currentMailbox , setCurrentMailbox ] = useState ( mailbox ) ;
78 const [ anchorId , setAnchorId ] = useState < string | undefined > ( undefined ) ;
89 const [ unreadFilter , setUnreadFilter ] = useState < boolean | undefined > ( undefined ) ;
910
11+ if ( currentMailbox !== mailbox ) {
12+ setCurrentMailbox ( mailbox ) ;
13+ setAnchorId ( undefined ) ;
14+ setUnreadFilter ( undefined ) ;
15+ }
16+
1017 const {
1118 data : listFolder ,
1219 isLoading : isLoadingListFolder ,
@@ -19,7 +26,7 @@ const useListFolderPaginated = (mailbox: FolderType) => {
1926 unread : unreadFilter ,
2027 } ,
2128 {
22- pollingInterval : 30000 ,
29+ pollingInterval : AUTO_POLLING_INTERVAL_IN_MILLISECONDS ,
2330 skipPollingIfUnfocused : true ,
2431 skip : ! mailbox ,
2532 } ,
@@ -45,10 +52,10 @@ const useListFolderPaginated = (mailbox: FolderType) => {
4552 return {
4653 listFolderEmails,
4754 isLoadingListFolder,
48- onLoadMore,
4955 hasMoreEmails : listFolder ?. hasMoreMails ,
5056 isUnreadFilter : unreadFilter ,
5157 listEmailsCount : listFolderEmails ?. length ,
58+ onLoadMore,
5259 toggleUnreadFilter,
5360 } ;
5461} ;
0 commit comments