import { useQuery } from '@tanstack/react-query'
import { listMyBackgrounds, type MyBackgroundsResponse } from '@/api/users'

/** Общий ключ кэша — им же инвалидируют список после загрузки/удаления картинки. */
export const MY_BACKGROUNDS_QUERY_KEY = ['my-backgrounds'] as const

const EMPTY: MyBackgroundsResponse = { items: [], limit: 0 }

/**
 * Свои картинки фона текущего пользователя.
 *
 * `enabled` выключает запрос там, где его делать нельзя или незачем: у ГОСТЯ
 * нет профиля и эндпоинт ответил бы 401 (гостю доступны только дефолтные
 * сцены), а при выключенном модуле список не нужен вовсе.
 *
 * Пока данных нет, возвращается пустой список — вызывающий код одинаково
 * работает и до загрузки, и у гостя, и при выключенном модуле.
 */
export function useMyBackgrounds(enabled: boolean): MyBackgroundsResponse {
  const { data } = useQuery({
    queryKey: MY_BACKGROUNDS_QUERY_KEY,
    queryFn: listMyBackgrounds,
    enabled,
  })
  return data ?? EMPTY
}
