Files
PocketVeto/frontend/lib/hooks/useBills.ts
Jack Levy 4c86a5b9ca feat: PocketVeto v1.0.0 — initial public release
Self-hosted US Congress monitoring platform with AI policy briefs,
bill/member/topic follows, ntfy + RSS + email notifications,
alignment scoring, collections, and draft-letter generator.

Authored by: Jack Levy
2026-03-15 01:35:01 -04:00

47 lines
1.1 KiB
TypeScript

import { useQuery } from "@tanstack/react-query";
import { billsAPI } from "../api";
export function useBills(params?: Record<string, unknown>) {
return useQuery({
queryKey: ["bills", params],
queryFn: () => billsAPI.list(params),
staleTime: 5 * 60 * 1000,
});
}
export function useBill(id: string) {
return useQuery({
queryKey: ["bill", id],
queryFn: () => billsAPI.get(id),
staleTime: 2 * 60 * 1000,
enabled: !!id,
});
}
export function useBillActions(id: string) {
return useQuery({
queryKey: ["bill-actions", id],
queryFn: () => billsAPI.getActions(id),
staleTime: 5 * 60 * 1000,
enabled: !!id,
});
}
export function useBillNews(id: string) {
return useQuery({
queryKey: ["bill-news", id],
queryFn: () => billsAPI.getNews(id),
staleTime: 0, // Always fetch fresh — news arrives async after brief generation
enabled: !!id,
});
}
export function useBillTrend(id: string, days = 30) {
return useQuery({
queryKey: ["bill-trend", id, days],
queryFn: () => billsAPI.getTrend(id, days),
staleTime: 60 * 60 * 1000,
enabled: !!id,
});
}