Files
yaak-mountain-loop/src-web/hooks/useUpdateSettings.ts
2024-03-19 10:23:21 -07:00

18 lines
565 B
TypeScript

import { useMutation, useQueryClient } from '@tanstack/react-query';
import { invoke } from '@tauri-apps/api';
import type { Settings } from '../lib/models';
import { settingsQueryKey } from './useSettings';
export function useUpdateSettings() {
const queryClient = useQueryClient();
return useMutation<void, unknown, Settings>({
mutationFn: async (settings) => {
await invoke('cmd_update_settings', { settings });
},
onMutate: async (settings) => {
queryClient.setQueryData<Settings[]>(settingsQueryKey(), [settings]);
},
});
}