mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-27 15:30:56 +00:00
- Introduced OverviewContractKpisDto and OverviewRecentContractDto for contract metrics. - Implemented OverviewContractsTabDto to structure the contracts tab response. - Added contract-related constants for status groupings and pipeline stages. - Created OverviewContractsTabPanel and OverviewRecentContractsTable components for UI representation. - Updated OverviewService and OverviewRepository to fetch contract data. - Integrated contracts tab into OverviewController and OverviewTabContent. - Added hooks for fetching contracts data in useOverview. - Updated types in the overview module to include contracts. - Enhanced the contract detail page with a "View contract" button for generated PDFs.
61 lines
1.8 KiB
TypeScript
61 lines
1.8 KiB
TypeScript
import { useQuery } from "@tanstack/react-query";
|
|
|
|
import { QUERY_KEYS } from "@/constants/QUERY_KEYS";
|
|
import { overviewService } from "@/services/overview.service";
|
|
import type { OverviewRange } from "@/types/overview";
|
|
|
|
export function useOverview(range: OverviewRange = "30d") {
|
|
return useQuery({
|
|
queryKey: QUERY_KEYS.OVERVIEW.dashboard(range),
|
|
queryFn: () => overviewService.getDashboard(range),
|
|
});
|
|
}
|
|
|
|
export function useOverviewBookingsTab(range: OverviewRange, enabled: boolean) {
|
|
return useQuery({
|
|
queryKey: QUERY_KEYS.OVERVIEW.bookingsTab(range),
|
|
queryFn: () => overviewService.getBookingsTab(range),
|
|
enabled,
|
|
});
|
|
}
|
|
|
|
export function useOverviewContractsTab(range: OverviewRange, enabled: boolean) {
|
|
return useQuery({
|
|
queryKey: QUERY_KEYS.OVERVIEW.contractsTab(range),
|
|
queryFn: () => overviewService.getContractsTab(range),
|
|
enabled,
|
|
});
|
|
}
|
|
|
|
export function useOverviewBillingTab(range: OverviewRange, enabled: boolean) {
|
|
return useQuery({
|
|
queryKey: QUERY_KEYS.OVERVIEW.billingTab(range),
|
|
queryFn: () => overviewService.getBillingTab(range),
|
|
enabled,
|
|
});
|
|
}
|
|
|
|
export function useOverviewOperationsTab(enabled: boolean) {
|
|
return useQuery({
|
|
queryKey: QUERY_KEYS.OVERVIEW.operationsTab(),
|
|
queryFn: () => overviewService.getOperationsTab(),
|
|
enabled,
|
|
});
|
|
}
|
|
|
|
export function useOverviewCustomersTab(range: OverviewRange, enabled: boolean) {
|
|
return useQuery({
|
|
queryKey: QUERY_KEYS.OVERVIEW.customersTab(range),
|
|
queryFn: () => overviewService.getCustomersTab(range),
|
|
enabled,
|
|
});
|
|
}
|
|
|
|
export function useOverviewStaffTab(range: OverviewRange, enabled: boolean) {
|
|
return useQuery({
|
|
queryKey: QUERY_KEYS.OVERVIEW.staffTab(range),
|
|
queryFn: () => overviewService.getStaffTab(range),
|
|
enabled,
|
|
});
|
|
}
|