frontend


frontend / api/analytics/hooks / useDashboardMetrics

Function: useDashboardMetrics()

useDashboardMetrics(enabled): UseQueryResult<{ inventoryCount: number; lowStockCount: number; suppliersCount: number; }, Error>

Defined in: src/api/analytics/hooks/useDashboardMetrics.ts:45

Hook to load dashboard KPI metrics (inventory count, supplier count, low stock count). Caches results for 2 minutes.

Parameters

enabled

boolean = true

Whether to fetch (defaults to true, typically tied to page visibility)

Returns

UseQueryResult<{ inventoryCount: number; lowStockCount: number; suppliersCount: number; }, Error>

React Query result with KPI metrics object

Enterprise

  • Only fetches when enabled (performance optimization)
  • 2-minute cache reduces backend load
  • Automatically handles loading and error states
  • Returns graceful null values on error (no breaking)

Example

const { data: metrics, isLoading } = useDashboardMetrics();

return (
  <>
    <StatCard title="Items" value={metrics?.itemCount} loading={isLoading} />
    <StatCard title="Suppliers" value={metrics?.supplierCount} loading={isLoading} />
    <StatCard title="Low Stock" value={metrics?.lowStockCount} loading={isLoading} />
  </>
);