Files
no-copy-frontend/src/app/lib/prefetch-queries.ts
T

42 lines
1.1 KiB
TypeScript
Raw Normal View History

2025-12-26 14:03:57 +07:00
import { QueryClient } from '@tanstack/react-query';
2026-02-12 11:16:58 +07:00
import { getUserData, getUserFilesInfo, getBuildData } from '@/app/actions/action';
2025-12-26 16:10:42 +07:00
import { getUserFilesData } from '@/app/actions/fileEntity';
2026-02-11 20:47:40 +07:00
import { fetchReferralUserStats } from '@/app/actions/referralsActions';
2025-12-26 14:03:57 +07:00
export async function prefetchLayoutQueries(queryClient: QueryClient) {
await Promise.all([
queryClient.prefetchQuery({
queryKey: ['userData'],
queryFn: () => getUserData()
}),
queryClient.prefetchQuery({
queryKey: ['userFilesData'],
2025-12-29 16:08:38 +07:00
queryFn: () => {
2026-01-10 12:25:42 +07:00
return getUserFilesData(1, 10000);
2025-12-29 16:08:38 +07:00
},
2025-12-26 16:10:42 +07:00
staleTime: 30 * 1000
2025-12-26 14:03:57 +07:00
}),
2026-01-07 13:03:50 +07:00
queryClient.prefetchQuery({
queryKey: ['userFilesInfo'],
queryFn: () => getUserFilesInfo()
}),
queryClient.prefetchQuery({
queryKey: ['referralUserStats'],
queryFn: () => fetchReferralUserStats()
}),
2026-02-12 11:16:58 +07:00
queryClient.prefetchQuery({
queryKey: ['backendBuildDate'],
queryFn: async () => {
try {
const response = await getBuildData();
if (response.buildTimeBack) {
return response.buildTimeBack;
}
return null;
} catch (error) {
return null;
}
}
}),
2025-12-26 14:03:57 +07:00
]);
}