Files
yaak-mountain-loop/src-web/hooks/useUpdateSettings.ts
2024-08-19 14:10:44 -07:00

16 lines
550 B
TypeScript

import { useMutation } from '@tanstack/react-query';
import type { Settings } from '../lib/models';
import { getSettings } from '../lib/store';
import { invokeCmd } from '../lib/tauri';
export function useUpdateSettings() {
return useMutation<void, unknown, Partial<Settings>>({
mutationKey: ['update_settings'],
mutationFn: async (patch) => {
const settings = await getSettings();
const newSettings: Settings = { ...settings, ...patch };
await invokeCmd('cmd_update_settings', { settings: newSettings });
},
});
}