import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'; import api from '@/lib/api'; import type { Settings } from '@/types'; export function useSettings() { const queryClient = useQueryClient(); const settingsQuery = useQuery({ queryKey: ['settings'], queryFn: async () => { const { data } = await api.get('/settings'); return data; }, }); const updateMutation = useMutation({ mutationFn: async (updates: Partial & { preferred_name?: string | null }) => { const { data } = await api.put('/settings', updates); return data; }, onSuccess: () => { queryClient.invalidateQueries({ queryKey: ['settings'] }); }, }); return { settings: settingsQuery.data, isLoading: settingsQuery.isLoading, updateSettings: updateMutation.mutateAsync, isUpdating: updateMutation.isPending, }; }