Files
RedditBot/apps/dashboard/src/features/performance/performance-queries.ts
T

46 lines
1.3 KiB
TypeScript

import { useQuery } from '@tanstack/react-query';
import { performanceApi } from './performance-api.js';
export const performanceQueryKeys = {
subreddits: ['performance', 'subreddits'] as const,
strategies: ['performance', 'strategies'] as const,
trend: (days: number) => ['performance', 'trend', days] as const,
successfulExamples: ['performance', 'successful-examples'] as const,
funnel: ['performance', 'funnel'] as const,
};
export function useSubredditPerformanceQuery() {
return useQuery({
queryKey: performanceQueryKeys.subreddits,
queryFn: performanceApi.getSubredditPerformance,
});
}
export function useStrategyPerformanceQuery() {
return useQuery({
queryKey: performanceQueryKeys.strategies,
queryFn: performanceApi.getStrategyPerformance,
});
}
export function useDailyTrendQuery(days: number) {
return useQuery({
queryKey: performanceQueryKeys.trend(days),
queryFn: () => performanceApi.getDailyTrend(days),
});
}
export function useSuccessfulExamplesQuery() {
return useQuery({
queryKey: performanceQueryKeys.successfulExamples,
queryFn: performanceApi.getSuccessfulExamples,
});
}
export function useFunnelQuery() {
return useQuery({
queryKey: performanceQueryKeys.funnel,
queryFn: performanceApi.getFunnel,
});
}