Browse Source

fix(crons): Hide monitors when deleting the last environment (#67255)

Evan Purkhiser 11 months ago
parent
commit
f09fc12688
1 changed files with 9 additions and 6 deletions
  1. 9 6
      static/app/views/monitors/components/overviewTimeline/index.tsx

+ 9 - 6
static/app/views/monitors/components/overviewTimeline/index.tsx

@@ -82,16 +82,19 @@ export function OverviewTimeline({monitorList}: Props) {
 
       const oldMonitor = oldMonitorList[oldMonitorIdx];
       const newEnvList = oldMonitor.environments.filter(e => e.name !== env);
-      const newMonitor = {
+      const updatedMonitor = {
         ...oldMonitor,
         environments: newEnvList,
       };
 
-      return [
-        ...oldMonitorList.slice(0, oldMonitorIdx),
-        newMonitor,
-        ...oldMonitorList.slice(oldMonitorIdx + 1),
-      ];
+      const left = oldMonitorList.slice(0, oldMonitorIdx);
+      const right = oldMonitorList.slice(oldMonitorIdx + 1);
+
+      if (newEnvList.length === 0) {
+        return [...left, ...right];
+      }
+
+      return [...left, updatedMonitor, ...right];
     });
   };