polish(driver-pwa): error states, typed catch, drop dead avatar, terminal poll

Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
2026-06-18 19:59:38 +10:00
co-authored by claude-flow
parent 0fba967cd8
commit 15d7f34689
6 changed files with 30 additions and 13 deletions
@@ -1,10 +1,12 @@
import { useQuery } from "@tanstack/react-query";
import { getPaymentState } from "@/api/driver";
const TERMINAL = new Set(["PAID", "CONFIRMED", "REJECTED", "REVERSED", "REFUNDED", "CANCELED", "AUTH_FAIL"]);
export function usePaymentStatus(orderId: string) {
return useQuery({
queryKey: ["payment", orderId],
queryFn: () => getPaymentState(orderId),
refetchInterval: (q) => (q.state.data?.status === "PAID" || q.state.data?.status === "REJECTED" ? false : 1500),
refetchInterval: (q) => (q.state.data && TERMINAL.has(q.state.data.status) ? false : 1500),
});
}