@checkstack/dashboard-frontend 0.7.4 → 0.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,53 @@
1
1
  # @checkstack/dashboard-frontend
2
2
 
3
+ ## 0.7.5
4
+
5
+ ### Patch Changes
6
+
7
+ - f23f3c9: Gate decorative motion and blur effects behind
8
+ `usePerformance().isLowPower` on a focused set of high-traffic plugin
9
+ pages (Dashboard, Dependency map, System node, Notification bell,
10
+ Announcement banner / cards, Anomaly field overrides editor, SLO
11
+ attribution chart, Catalog droppable group). Hover scales, backdrop
12
+ blurs, `animate-pulse`/`animate-ping` accents, and entry transitions
13
+ now drop to static states on low-power devices; functional UX
14
+ transitions (Drawer/Dialog open-close, colour transitions) are left
15
+ alone.
16
+
17
+ Standardise the post-mutation error-toast voice on plugin pages by
18
+ migrating multi-clause `toast.error(extractErrorMessage(error, "Failed
19
+ to X"))` call sites onto the `toastError(toast, "Failed to X", error)`
20
+ helper from `@checkstack/ui`. The helper applies the canonical
21
+ `"action: message"` prefix and 100-character truncation in one place,
22
+ and the now-orphaned `extractErrorMessage` imports are dropped from
23
+ the affected files. No business logic or component APIs changed.
24
+
25
+ - Updated dependencies [f23f3c9]
26
+ - Updated dependencies [f23f3c9]
27
+ - Updated dependencies [f23f3c9]
28
+ - Updated dependencies [f23f3c9]
29
+ - Updated dependencies [f23f3c9]
30
+ - Updated dependencies [f23f3c9]
31
+ - Updated dependencies [f23f3c9]
32
+ - Updated dependencies [f23f3c9]
33
+ - @checkstack/common@0.11.0
34
+ - @checkstack/auth-frontend@0.6.5
35
+ - @checkstack/notification-common@1.2.0
36
+ - @checkstack/notification-frontend@0.4.5
37
+ - @checkstack/frontend-api@0.5.2
38
+ - @checkstack/catalog-frontend@0.10.5
39
+ - @checkstack/queue-frontend@0.4.5
40
+ - @checkstack/ui@1.10.0
41
+ - @checkstack/anomaly-common@1.2.2
42
+ - @checkstack/catalog-common@2.2.2
43
+ - @checkstack/command-common@0.2.13
44
+ - @checkstack/command-frontend@0.2.40
45
+ - @checkstack/healthcheck-common@1.1.2
46
+ - @checkstack/incident-common@1.2.2
47
+ - @checkstack/maintenance-common@1.2.2
48
+ - @checkstack/tips-frontend@0.2.5
49
+ - @checkstack/signal-frontend@0.1.4
50
+
3
51
  ## 0.7.4
4
52
 
5
53
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@checkstack/dashboard-frontend",
3
- "version": "0.7.4",
3
+ "version": "0.7.5",
4
4
  "license": "Elastic-2.0",
5
5
  "type": "module",
6
6
  "main": "src/index.tsx",
@@ -14,23 +14,23 @@
14
14
  "lint:code": "eslint . --max-warnings 0"
15
15
  },
16
16
  "dependencies": {
17
- "@checkstack/anomaly-common": "1.2.0",
18
- "@checkstack/auth-frontend": "0.6.3",
19
- "@checkstack/catalog-common": "2.2.0",
20
- "@checkstack/catalog-frontend": "0.10.3",
17
+ "@checkstack/anomaly-common": "1.2.1",
18
+ "@checkstack/auth-frontend": "0.6.4",
19
+ "@checkstack/catalog-common": "2.2.1",
20
+ "@checkstack/catalog-frontend": "0.10.4",
21
21
  "@checkstack/command-common": "0.2.12",
22
- "@checkstack/command-frontend": "0.2.38",
22
+ "@checkstack/command-frontend": "0.2.39",
23
23
  "@checkstack/common": "0.10.0",
24
24
  "@checkstack/frontend-api": "0.5.1",
25
- "@checkstack/healthcheck-common": "1.1.0",
26
- "@checkstack/incident-common": "1.2.0",
27
- "@checkstack/maintenance-common": "1.2.0",
28
- "@checkstack/notification-common": "1.1.0",
29
- "@checkstack/notification-frontend": "0.4.3",
30
- "@checkstack/queue-frontend": "0.4.3",
25
+ "@checkstack/healthcheck-common": "1.1.1",
26
+ "@checkstack/incident-common": "1.2.1",
27
+ "@checkstack/maintenance-common": "1.2.1",
28
+ "@checkstack/notification-common": "1.1.1",
29
+ "@checkstack/notification-frontend": "0.4.4",
30
+ "@checkstack/queue-frontend": "0.4.4",
31
31
  "@checkstack/signal-frontend": "0.1.3",
32
- "@checkstack/tips-frontend": "0.2.3",
33
- "@checkstack/ui": "1.8.3",
32
+ "@checkstack/tips-frontend": "0.2.4",
33
+ "@checkstack/ui": "1.9.0",
34
34
  "date-fns": "^4.1.0",
35
35
  "lucide-react": "^0.344.0",
36
36
  "react": "^18.2.0",
package/src/Dashboard.tsx CHANGED
@@ -248,7 +248,10 @@ export const Dashboard: React.FC = () => {
248
248
  {groupsWithSystems.map((group) => (
249
249
  <Card
250
250
  key={group.id}
251
- className="border-border shadow-sm hover:shadow-md transition-shadow"
251
+ className={cn(
252
+ "border-border shadow-sm",
253
+ !isLowPower && "hover:shadow-md transition-shadow",
254
+ )}
252
255
  >
253
256
  <CardHeader className="border-b border-border bg-muted/30">
254
257
  <div className="flex items-center gap-2">
@@ -298,7 +301,12 @@ export const Dashboard: React.FC = () => {
298
301
  context={{ system }}
299
302
  />
300
303
  </div>
301
- <ChevronRight className="h-4 w-4 text-muted-foreground opacity-50 group-hover:opacity-100 transition-opacity flex-shrink-0 ml-2" />
304
+ <ChevronRight
305
+ className={cn(
306
+ "h-4 w-4 text-muted-foreground opacity-50 group-hover:opacity-100 flex-shrink-0 ml-2",
307
+ !isLowPower && "transition-opacity",
308
+ )}
309
+ />
302
310
  </button>
303
311
  ))}
304
312
  </div>
@@ -386,11 +394,10 @@ export const Dashboard: React.FC = () => {
386
394
  ? () => setIncidentSheetOpen(true)
387
395
  : undefined
388
396
  }
389
- className={
390
- activeIncidentsCount > 0
391
- ? "cursor-pointer hover:opacity-90 hover:scale-[1.02]"
392
- : ""
393
- }
397
+ className={cn(
398
+ activeIncidentsCount > 0 && "cursor-pointer hover:opacity-90",
399
+ activeIncidentsCount > 0 && !isLowPower && "hover:scale-[1.02]",
400
+ )}
394
401
  />
395
402
 
396
403
  <StatusCard
@@ -414,11 +421,12 @@ export const Dashboard: React.FC = () => {
414
421
  ? () => setMaintenanceSheetOpen(true)
415
422
  : undefined
416
423
  }
417
- className={
418
- activeMaintenancesCount > 0
419
- ? "cursor-pointer hover:opacity-90 hover:scale-[1.02]"
420
- : ""
421
- }
424
+ className={cn(
425
+ activeMaintenancesCount > 0 && "cursor-pointer hover:opacity-90",
426
+ activeMaintenancesCount > 0 &&
427
+ !isLowPower &&
428
+ "hover:scale-[1.02]",
429
+ )}
422
430
  />
423
431
 
424
432
  <StatusCard
@@ -438,11 +446,13 @@ export const Dashboard: React.FC = () => {
438
446
  ? () => setAnomalySheetOpen(true)
439
447
  : undefined
440
448
  }
441
- className={
442
- activeAnomaliesCount > 0
443
- ? "cursor-pointer hover:opacity-90 hover:scale-[1.02] bg-gradient-to-br from-warning/20 to-warning/5 border-warning/30"
444
- : ""
445
- }
449
+ className={cn(
450
+ activeAnomaliesCount > 0 &&
451
+ "cursor-pointer hover:opacity-90 bg-gradient-to-br from-warning/20 to-warning/5 border-warning/30",
452
+ activeAnomaliesCount > 0 &&
453
+ !isLowPower &&
454
+ "hover:scale-[1.02]",
455
+ )}
446
456
  />
447
457
  </div>
448
458
  </section>