import { useQuery } from '@tanstack/react-query'
import { api } from '@/lib/api'

export interface OrgSettings {
  id: string
  name: string
  countryCode: string
  defaultCurrencyId: string | null
  defaultCurrencyCode: string | null
  defaultCurrencySymbol: string | null
  multiCurrencyEnabled: boolean
  vatRate: number
  showVatEnabledOnProduct: boolean
  showServiceOnProduct: boolean
  showMarkedOnProduct: boolean
  showMinMaxStock: boolean
  allowFractionalPrices: boolean
  showReferencePriceOnProduct: boolean
  showCountryOfOriginOnProduct: boolean
  showDescriptionOnProduct: boolean
}

export function useOrgSettings() {
  return useQuery({
    queryKey: ['/api/organization/settings'],
    queryFn: async () => (await api.get<OrgSettings>('/api/organization/settings')).data,
    // Настройки меняются редко, но переключатели вроде AllowFractionalPrices
    // должны применяться к открытым в других вкладках формам сразу. Поэтому
    // staleTime=0 + refetchOnMount: 'always' — каждый монтирующийся компонент
    // получает свежие настройки. Стоимость минимальная: один лёгкий GET.
    staleTime: 0,
    refetchOnMount: 'always',
    refetchOnWindowFocus: true,
  })
}
