import { useMutation, useQueryClient, type UseMutationResult } from "@tanstack/react-query"; import { toast } from "react-toastify"; import { dropdownOptionsApi } from "@/domain/settings/dropdown-options/api/dropdown-options-api"; import type { CreateDropdownOptionInput, DropdownOption, } from "@/domain/settings/dropdown-options/types/dropdown-option"; import { queryKeys } from "@/infra/query-key/query-key"; export function useCreateDropdownOption(): UseMutationResult< DropdownOption, Error, CreateDropdownOptionInput > { const queryClient = useQueryClient(); return useMutation({ mutationFn: (input: CreateDropdownOptionInput) => dropdownOptionsApi.create(input), onSuccess: () => { void queryClient.invalidateQueries({ queryKey: queryKeys.dropdownOptions.all }); toast.success("Option added"); }, onError: (error: Error) => { toast.error(error.message || "Failed to add option"); }, }); }