Files
no-copy-frontend/src/app/lib/prefetch-queries.ts
T
2026-02-12 11:16:58 +07:00

42 lines
1.1 KiB
TypeScript

import { QueryClient } from '@tanstack/react-query';
import { getUserData, getUserFilesInfo, getBuildData } from '@/app/actions/action';
import { getUserFilesData } from '@/app/actions/fileEntity';
import { fetchReferralUserStats } from '@/app/actions/referralsActions';
export async function prefetchLayoutQueries(queryClient: QueryClient) {
await Promise.all([
queryClient.prefetchQuery({
queryKey: ['userData'],
queryFn: () => getUserData()
}),
queryClient.prefetchQuery({
queryKey: ['userFilesData'],
queryFn: () => {
return getUserFilesData(1, 10000);
},
staleTime: 30 * 1000
}),
queryClient.prefetchQuery({
queryKey: ['userFilesInfo'],
queryFn: () => getUserFilesInfo()
}),
queryClient.prefetchQuery({
queryKey: ['referralUserStats'],
queryFn: () => fetchReferralUserStats()
}),
queryClient.prefetchQuery({
queryKey: ['backendBuildDate'],
queryFn: async () => {
try {
const response = await getBuildData();
if (response.buildTimeBack) {
return response.buildTimeBack;
}
return null;
} catch (error) {
return null;
}
}
}),
]);
}