import { useMutation, useQueryClient } from '@tanstack/react-query'; import { catalogApi } from '../apis'; import { catalogKeys } from '../keys'; import type { OptionGroupInput } from '../types'; /** * Adds a pricing dimension — invalidates every cached category's option-groups (admin + public), not * just the current one, because a cross-category group (`serviceCategoryId: null`) affects all of them. */ export function useCreateOptionGroup() { const queryClient = useQueryClient(); return useMutation({ mutationFn: (input: OptionGroupInput) => catalogApi.createOptionGroup(input), onSuccess: () => { queryClient.invalidateQueries({ queryKey: catalogKeys.adminOptionGroupsAll() }); queryClient.invalidateQueries({ queryKey: catalogKeys.categoryOptionGroupsAll() }); }, }); }