feat(dashboard): enhance dashboard overview and world stage components

- Implemented normalization for dashboard overview data to handle null or undefined values.
- Added ECharts map integration for visualizing node data on a world map.
- Introduced loading and error states for the map component.
- Updated UI components to support dark and light themes.
- Enhanced testing for dashboard overview to cover empty states and data fetching.
- Added type definitions for echarts-maps module.
- Updated package dependencies to include echarts-maps.
This commit is contained in:
ryan
2026-03-14 14:45:04 +08:00
parent 4bfad019d0
commit f1476610f6
8 changed files with 734 additions and 166 deletions
+15
View File
@@ -879,3 +879,18 @@ func TestGetDashboardOverview(t *testing.T) {
t.Fatalf("unexpected riskiest node: %+v", view.Peaks.RiskiestNode)
}
}
func TestGetDashboardOverviewReturnsEmptyAlertSlice(t *testing.T) {
setupServiceTestDB(t)
view, err := GetDashboardOverview()
if err != nil {
t.Fatalf("GetDashboardOverview failed: %v", err)
}
if view.ActiveAlerts == nil {
t.Fatalf("expected active alerts to be an empty slice, got nil")
}
if len(view.ActiveAlerts) != 0 {
t.Fatalf("expected empty active alerts, got %+v", view.ActiveAlerts)
}
}