78 lines
1.7 KiB
TypeScript
78 lines
1.7 KiB
TypeScript
'use client';
|
|
|
|
import { useQuery } from '@tanstack/react-query';
|
|
import {
|
|
aiReportQueryOptions,
|
|
companyAnalysisQueryOptions,
|
|
filingsQueryOptions,
|
|
holdingsQueryOptions,
|
|
latestPortfolioInsightQueryOptions,
|
|
portfolioSummaryQueryOptions,
|
|
recentTasksQueryOptions,
|
|
taskQueryOptions,
|
|
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 useRecentTasksQuery(limit = 20, enabled = true) {
|
|
return useQuery({
|
|
...recentTasksQueryOptions(limit),
|
|
enabled
|
|
});
|
|
}
|