2026-06-08 15:57:40 -07:00
|
|
|
// config/widgetRegistry.js
|
2026-07-08 15:05:50 -07:00
|
|
|
import { lazy } from 'react';
|
2026-06-08 15:57:40 -07:00
|
|
|
|
|
|
|
|
// We assume a 12-column grid.
|
|
|
|
|
// w: 12 = full screen width
|
|
|
|
|
// w: 6 = half screen width
|
|
|
|
|
// w: 4 = one-third screen width
|
|
|
|
|
// w: 3 = one-quarter screen width
|
|
|
|
|
|
|
|
|
|
export const WIDGET_REGISTRY = {
|
|
|
|
|
"vaa_activity": {
|
|
|
|
|
name: "VAA 7 Day Activity",
|
2026-06-09 14:06:01 -07:00
|
|
|
category: "Aviation",
|
2026-06-08 15:57:40 -07:00
|
|
|
description: "Displays 7-day flight level timelines across multiple volcanoes.",
|
2026-07-08 15:05:50 -07:00
|
|
|
component: lazy(() => import('../components/widgets/VaaActivity7Day')),
|
2026-07-10 14:56:11 -07:00
|
|
|
|
|
|
|
|
// The specific settings UI for this widget
|
|
|
|
|
settingsComponent: lazy(() => import('../components/widgets/settings/VaaActivitySettings')),
|
|
|
|
|
|
|
|
|
|
// The baseline data every new VAA widget starts with
|
|
|
|
|
defaultSettings: {
|
|
|
|
|
yAxisScale: 'normal' // Options: 'normal' | 'symlog'
|
|
|
|
|
},
|
|
|
|
|
|
2026-06-08 15:57:40 -07:00
|
|
|
allowedSizes: {
|
2026-06-16 09:48:18 -07:00
|
|
|
xlarge: { w: 12, h: 12 },
|
2026-06-08 15:57:40 -07:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
"db_cache_health": {
|
|
|
|
|
name: "DB Cache Health",
|
2026-06-09 14:06:01 -07:00
|
|
|
category: "Computer Science",
|
2026-06-08 15:57:40 -07:00
|
|
|
description: "Bar chart showing cache table operational status.",
|
|
|
|
|
allowedSizes: {
|
2026-06-16 09:48:18 -07:00
|
|
|
small: { w: 3, h: 12 },
|
|
|
|
|
medium: { w: 6, h: 12 }
|
2026-06-08 15:57:40 -07:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
"ivans_alerts": {
|
|
|
|
|
name: "IVANS",
|
2026-06-09 14:06:01 -07:00
|
|
|
category: "Communications",
|
2026-06-08 15:57:40 -07:00
|
|
|
description: "Feed of recent IVANS reports and reviewer statuses.",
|
2026-07-30 09:18:47 -07:00
|
|
|
component: lazy(() => import('../components/Widgets/IvansAlerts.jsx')),
|
|
|
|
|
settingsComponent: lazy(() => import('../components/Widgets/settings/IvansAlertsSettings.jsx')),
|
|
|
|
|
defaultSettings: {
|
|
|
|
|
copyToClipboard: false,
|
|
|
|
|
activeSorts: {
|
|
|
|
|
timeSort: "desc",
|
|
|
|
|
volcanoSort: false
|
|
|
|
|
}
|
|
|
|
|
},
|
2026-06-08 15:57:40 -07:00
|
|
|
allowedSizes: {
|
2026-08-05 17:16:45 +00:00
|
|
|
small: { w: 3, h: 6 },
|
|
|
|
|
medium: { w: 3, h: 9 },
|
2026-08-06 14:58:12 +00:00
|
|
|
large: { w: 6, h: 9 },
|
2026-06-08 15:57:40 -07:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
"remote_sensing": {
|
|
|
|
|
name: "Remote Sensing",
|
2026-06-09 14:06:01 -07:00
|
|
|
category: "Remote Sensing",
|
2026-06-08 15:57:40 -07:00
|
|
|
description: "Feed of recent remote sensing reports.",
|
|
|
|
|
allowedSizes: {
|
2026-06-16 09:48:18 -07:00
|
|
|
small: { w: 3, h: 12 },
|
2026-06-08 15:57:40 -07:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
"alert_levels": {
|
|
|
|
|
name: "Alert Level Changes",
|
2026-06-09 14:06:01 -07:00
|
|
|
category: "Daily Alerts",
|
2026-06-08 15:57:40 -07:00
|
|
|
description: "List of 7-day alert level changes with trend arrows.",
|
|
|
|
|
allowedSizes: {
|
2026-06-16 09:48:18 -07:00
|
|
|
small: { w: 3, h: 12 },
|
|
|
|
|
large: { w: 9, h: 12 }
|
2026-06-08 15:57:40 -07:00
|
|
|
}
|
2026-07-13 14:28:33 -07:00
|
|
|
},
|
|
|
|
|
|
|
|
|
|
"explosion_events": {
|
|
|
|
|
name: "Explosion Events",
|
|
|
|
|
category: "Daily Volcanic Activity",
|
|
|
|
|
description: "List of explosion events over a specified time period.",
|
|
|
|
|
|
|
|
|
|
component: lazy(() => import('../components/Widgets/ExplosionEvents.jsx')),
|
|
|
|
|
|
|
|
|
|
// The specific settings UI for this widget
|
|
|
|
|
settingsComponent: lazy(() => import('../components/widgets/settings/ExplosionEventsSettings.jsx')),
|
|
|
|
|
|
|
|
|
|
// The baseline data every new VAA widget starts with
|
|
|
|
|
defaultSettings: {
|
|
|
|
|
yAxisScale: 'normal' // Options: 'normal' | 'symlog'
|
|
|
|
|
},
|
|
|
|
|
allowedSizes: {
|
|
|
|
|
medium: { w: 6, h: 12 }
|
|
|
|
|
}
|
2026-07-15 13:56:12 -07:00
|
|
|
},
|
|
|
|
|
|
2026-08-05 17:16:45 +00:00
|
|
|
"plume_events": {
|
|
|
|
|
name: "Plume Events",
|
|
|
|
|
category: "Daily Volcanic Activity",
|
|
|
|
|
description: "Plot of explosion heights over a weeks time.",
|
|
|
|
|
component: lazy(() => import('../components/Widgets/PlumeEvents.jsx')),
|
|
|
|
|
defaultSettings: {},
|
|
|
|
|
allowedSizes: {
|
|
|
|
|
medium: { w: 6, h: 12 }
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
2026-07-21 16:07:59 -07:00
|
|
|
"llm_al_changes_quad_plot": {
|
|
|
|
|
name: "Alert Level Changes Quad Plot",
|
|
|
|
|
category: "Computer Science",
|
2026-07-30 09:18:47 -07:00
|
|
|
description: "Percentage of TP, TN, FP, and FN changes in viable alert levels.",
|
2026-07-21 16:07:59 -07:00
|
|
|
component: lazy(() => import('../components/Widgets/LlmAlChangesQuadPlot.jsx')),
|
|
|
|
|
allowedSizes: {
|
|
|
|
|
small: { w: 3, h: 12 }
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2026-06-08 15:57:40 -07:00
|
|
|
};
|