feat: add scan terminal dashboard components, monitoring panels, and associated utility hooks

This commit is contained in:
2569718930@qq.com
2026-05-15 12:52:39 +08:00
parent 1a284c9990
commit e7fc3c97cb
13 changed files with 316 additions and 68 deletions
@@ -27,6 +27,13 @@ export function runTests() {
"scan-terminal",
"RunwayObservationsPanel.tsx",
);
const monitorPath = path.join(
projectRoot,
"components",
"dashboard",
"monitoring",
"MonitorPanel.tsx",
);
const shellPartsSource = fs.readFileSync(shellPartsPath, "utf8");
const dashboardSource = fs.readFileSync(dashboardPath, "utf8");
@@ -50,4 +57,23 @@ export function runTests() {
panelSource.includes("END"),
"runway tab must identify AMSC AWOS and show TDZ/MID/END point temperatures",
);
assert(
panelSource.includes('key: "qingdao"') &&
panelSource.includes("青岛") &&
panelSource.includes("ZSQD"),
"runway tab must include Qingdao / ZSQD AMSC AWOS runway observations",
);
assert(
panelSource.includes("RKSI") &&
panelSource.includes("RKPK") &&
panelSource.includes("runway_pairs") &&
panelSource.includes("runway_temps"),
"runway tab must also own Seoul/Busan AMOS runway-pair observations",
);
const monitorSource = fs.readFileSync(monitorPath, "utf8");
assert(
monitorSource.includes("ignoreRunway: KOREA_RUNWAY_MONITOR_KEYS.has(key)") &&
monitorSource.includes("showRunwayRows = !KOREA_RUNWAY_MONITOR_KEYS.has(key)"),
"market monitor must not render Seoul/Busan runway data after it moves to the runway tab",
);
}