48 lines
851 B
TypeScript
48 lines
851 B
TypeScript
import { useQuery } from '@tanstack/react-query';
|
|
import { getSearchStats } from '@/app/actions/searchActions';
|
|
|
|
interface SearchType {
|
|
count: number,
|
|
fileType: string,
|
|
}
|
|
|
|
export interface UserSearchData {
|
|
allCountForPeriod: number;
|
|
image: SearchType;
|
|
video: SearchType;
|
|
audio: SearchType;
|
|
document: SearchType;
|
|
}
|
|
|
|
export const useUserSearchData = () => {
|
|
return useQuery({
|
|
queryKey: ['userSearchData'],
|
|
queryFn: getSearchStats,
|
|
select: (data): UserSearchData | null => {
|
|
if (!data) {
|
|
return {
|
|
allCountForPeriod: 0,
|
|
image: {
|
|
count: 0,
|
|
fileType: 'image'
|
|
},
|
|
video: {
|
|
count: 0,
|
|
fileType: 'video'
|
|
},
|
|
audio: {
|
|
count: 0,
|
|
fileType: 'audio'
|
|
},
|
|
document: {
|
|
count: 0,
|
|
fileType: 'document'
|
|
}
|
|
};
|
|
}
|
|
|
|
return data;
|
|
},
|
|
retry: false
|
|
});
|
|
}; |