86 lines
1.9 KiB
TypeScript
86 lines
1.9 KiB
TypeScript
'use client';
|
|
|
|
import { useQuery } from '@tanstack/react-query';
|
|
import {
|
|
aiReportQueryOptions,
|
|
companyAnalysisQueryOptions,
|
|
filingsQueryOptions,
|
|
holdingsQueryOptions,
|
|
latestPortfolioInsightQueryOptions,
|
|
portfolioSummaryQueryOptions,
|
|
recentTasksQueryOptions,
|
|
taskQueryOptions,
|
|
taskTimelineQueryOptions,
|
|
watchlistQueryOptions
|
|
} from '@/lib/query/options';
|
|
|
|
function useCompanyAnalysisQuery(ticker: string, enabled = true) {
|
|
return useQuery({
|
|
...companyAnalysisQueryOptions(ticker),
|
|
enabled: enabled && ticker.trim().length > 0
|
|
});
|
|
}
|
|
|
|
function useFilingsQuery(input: { ticker?: string; limit?: number }, enabled = true) {
|
|
return useQuery({
|
|
...filingsQueryOptions(input),
|
|
enabled
|
|
});
|
|
}
|
|
|
|
function useAiReportQuery(accessionNumber: string, enabled = true) {
|
|
return useQuery({
|
|
...aiReportQueryOptions(accessionNumber),
|
|
enabled: enabled && accessionNumber.trim().length > 0
|
|
});
|
|
}
|
|
|
|
function useWatchlistQuery(enabled = true) {
|
|
return useQuery({
|
|
...watchlistQueryOptions(),
|
|
enabled
|
|
});
|
|
}
|
|
|
|
function useHoldingsQuery(enabled = true) {
|
|
return useQuery({
|
|
...holdingsQueryOptions(),
|
|
enabled
|
|
});
|
|
}
|
|
|
|
function usePortfolioSummaryQuery(enabled = true) {
|
|
return useQuery({
|
|
...portfolioSummaryQueryOptions(),
|
|
enabled
|
|
});
|
|
}
|
|
|
|
function useLatestPortfolioInsightQuery(enabled = true) {
|
|
return useQuery({
|
|
...latestPortfolioInsightQueryOptions(),
|
|
enabled
|
|
});
|
|
}
|
|
|
|
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
|
|
});
|
|
}
|
|
|
|
function useRecentTasksQuery(limit = 20, enabled = true) {
|
|
return useQuery({
|
|
...recentTasksQueryOptions(limit),
|
|
enabled
|
|
});
|
|
}
|