diff --git a/client/src/Pages/Infrastructure/Monitors/index.tsx b/client/src/Pages/Infrastructure/Monitors/index.tsx index abf241408..507ecb1ef 100644 --- a/client/src/Pages/Infrastructure/Monitors/index.tsx +++ b/client/src/Pages/Infrastructure/Monitors/index.tsx @@ -99,6 +99,15 @@ const InfrastructureMonitors = () => { const { summary, count } = monitorsWithChecksData ?? {}; const isLoading = monitorsWithChecksLoading; + // Check if any filters are active + const hasActiveFilters = Boolean(selectedStatus || selectedState || search); + + // Show empty state only when there are truly no monitors (not just filtered out) + const effectiveTotalCount = + hasActiveFilters && (summary?.totalMonitors ?? 0) === 0 + ? 1 + : (summary?.totalMonitors ?? 0); + // Delete hook const { deleteFn, loading: isDeleting } = useDelete(); @@ -117,7 +126,7 @@ const InfrastructureMonitors = () => { diff --git a/client/src/Pages/Uptime/Monitors/index.tsx b/client/src/Pages/Uptime/Monitors/index.tsx index 64f179403..8aaed16d2 100644 --- a/client/src/Pages/Uptime/Monitors/index.tsx +++ b/client/src/Pages/Uptime/Monitors/index.tsx @@ -122,11 +122,23 @@ const UptimeMonitorsPage = () => { const isLoading = monitorsWithChecksLoading; + // Check if any filters are active + const hasActiveFilters = Boolean( + selectedTypes.length > 0 || selectedStatus || selectedState || search + ); + + // Show empty state only when there are truly no monitors (not just filtered out) + // If filters are active and count is 0, pass 1 to prevent empty state fallback + const effectiveTotalCount = + hasActiveFilters && (summary?.totalMonitors ?? 0) === 0 + ? 1 + : (summary?.totalMonitors ?? 0); + return (