Files
cameleer-server/ui/src/api/queries/use-refresh-interval.ts
hsiegeln ac94a67a49
All checks were successful
CI / cleanup-branch (push) Has been skipped
CI / build (push) Successful in 1m7s
CI / docker (push) Successful in 1m24s
CI / deploy-feature (push) Has been skipped
CI / deploy (push) Successful in 41s
fix: reduce ClickHouse CPU by increasing flush interval, rename LIVE→AUTO labels
- Increase ingestion flush interval from 500ms to 5000ms to reduce MV merge storms
- Reduce ClickHouse background_schedule_pool_size from 8 to 4
- Rename LIVE/PAUSED badge labels to AUTO/MANUAL across all pages
- Update design system to v0.1.29

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 22:05:29 +02:00

24 lines
799 B
TypeScript

import { useGlobalFilters } from '@cameleer/design-system';
/**
* Returns the given interval when auto-refresh is enabled, or `false` when paused.
* Use as `refetchInterval` in React Query hooks.
*/
export function useRefreshInterval(intervalMs: number): number | false {
const { autoRefresh } = useGlobalFilters();
return autoRefresh ? intervalMs : false;
}
/**
* Returns `enabled` and `refetchInterval` tied to the AUTO/MANUAL toggle.
* - AUTO: enabled=true, refetchInterval=intervalMs (fetch + poll)
* - MANUAL: enabled=true, refetchInterval=false (fetch once, no polling)
*/
export function useLiveQuery(intervalMs: number) {
const { autoRefresh } = useGlobalFilters();
return {
enabled: true,
refetchInterval: autoRefresh ? intervalMs : false as number | false,
};
}