'use client'; import { useQuery } from '@tanstack/react-query'; import { aiReportQueryOptions, companyAnalysisQueryOptions, filingsQueryOptions, holdingsQueryOptions, latestPortfolioInsightQueryOptions, portfolioSummaryQueryOptions, recentTasksQueryOptions, taskQueryOptions, taskTimelineQueryOptions, watchlistQueryOptions } from '@/lib/query/options'; export function useCompanyAnalysisQuery(ticker: string, enabled = true) { return useQuery({ ...companyAnalysisQueryOptions(ticker), enabled: enabled && ticker.trim().length > 0 }); } export function useFilingsQuery(input: { ticker?: string; limit?: number }, enabled = true) { return useQuery({ ...filingsQueryOptions(input), enabled }); } export function useAiReportQuery(accessionNumber: string, enabled = true) { return useQuery({ ...aiReportQueryOptions(accessionNumber), enabled: enabled && accessionNumber.trim().length > 0 }); } export function useWatchlistQuery(enabled = true) { return useQuery({ ...watchlistQueryOptions(), enabled }); } export function useHoldingsQuery(enabled = true) { return useQuery({ ...holdingsQueryOptions(), enabled }); } export function usePortfolioSummaryQuery(enabled = true) { return useQuery({ ...portfolioSummaryQueryOptions(), enabled }); } export function useLatestPortfolioInsightQuery(enabled = true) { return useQuery({ ...latestPortfolioInsightQueryOptions(), enabled }); } export function useTaskQuery(taskId: string, enabled = true) { return useQuery({ ...taskQueryOptions(taskId), enabled: enabled && taskId.length > 0 }); } export function useTaskTimelineQuery(taskId: string, enabled = true) { return useQuery({ ...taskTimelineQueryOptions(taskId), enabled: enabled && taskId.length > 0 }); } export function useRecentTasksQuery(limit = 20, enabled = true) { return useQuery({ ...recentTasksQueryOptions(limit), enabled }); }