feat: add vehicle selection and downgrade flow - M5 (refs #55)

This commit is contained in:
Eric Gullickson
2026-01-18 16:44:45 -06:00
parent 94d1c677bc
commit 6c1a100eb9
11 changed files with 509 additions and 7 deletions

View File

@@ -74,3 +74,20 @@ export const useInvoices = () => {
staleTime: 5 * 60 * 1000,
});
};
export const useDowngrade = () => {
const queryClient = useQueryClient();
return useMutation({
mutationFn: subscriptionApi.downgrade,
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: ['subscription'] });
queryClient.invalidateQueries({ queryKey: ['vehicles'] });
queryClient.invalidateQueries({ queryKey: ['user-profile'] });
toast.success('Subscription downgraded successfully');
},
onError: (error: unknown) => {
const err = error as { response?: { data?: { message?: string } } };
toast.error(err.response?.data?.message || 'Downgrade failed');
},
});
};