import { useQuery } from '@tanstack/react-query';
import { api } from '@/lib/api';
import { requireSelectedStore } from '@/lib/stores/store-context';

export const MY_THREADS_KEY = ['me', 'threads'] as const;

export function useMyThreads(storeId?: string | null) {
  return useQuery({
    queryKey: storeId !== undefined ? ['store', storeId, 'threads'] : MY_THREADS_KEY,
    queryFn: () => storeId !== undefined ? api.messages.forStore(requireSelectedStore(storeId)).threads() : api.me.threads(),
    enabled: storeId !== null,
    staleTime: 15_000,
    refetchInterval: 30_000,
    refetchOnWindowFocus: true,
  });
}
