import { useQuery } from '@tanstack/react-query';
import {
  fetchSettings,
  type SettingsRequestContext,
} from '@/features/settings/services/settingsService';

export const settingsQueryKey = (group?: string, ctx?: SettingsRequestContext) =>
  [
    'settings',
    'list',
    group ?? 'all',
    ctx?.scope ?? 'department',
    ctx?.departmentId ?? '',
    ctx?.companyId ?? '',
  ] as const;

export function useSettings(group?: string, ctx?: SettingsRequestContext, enabled = true) {
  return useQuery({
    queryKey: settingsQueryKey(group, ctx),
    queryFn: () => fetchSettings(group, ctx),
    staleTime: 60_000,
    enabled,
  });
}
