import { useCallback } from 'react'
import { useTranslation } from 'react-i18next'
import { HttpError } from '@/shared/api/client'
import { toast } from '@/shared/ui/toast-store'

/**
 * Показывает ошибку запроса тостом: у `problem+json` берём человеческий `detail`, всё остальное
 * (сеть, неожиданный статус) закрываем общей фразой. Подходит прямо в `onError` мутации.
 */
export function useApiError() {
  const { t } = useTranslation()
  return useCallback(
    (error: unknown) => toast.error(error instanceof HttpError ? error.detail : t('common.error')),
    [t],
  )
}
