diff --git a/web/components/admin/Chart.tsx b/web/components/admin/Chart.tsx index bbc87f08a..ec7868bc8 100644 --- a/web/components/admin/Chart.tsx +++ b/web/components/admin/Chart.tsx @@ -1,15 +1,35 @@ -import ChartJs from 'chart.js/auto'; -import Chartkick from 'chartkick'; import format from 'date-fns/format'; -import { LineChart } from 'react-chartkick'; import { FC } from 'react'; -// from https://github.com/ankane/chartkick.js/blob/master/chart.js/chart.esm.js -Chartkick.use(ChartJs); +import { + Chart as ChartJS, + CategoryScale, + LinearScale, + PointElement, + LineElement, + Title, + Tooltip, + Legend, + LogarithmicScale, +} from 'chart.js'; +import { Line } from 'react-chartjs-2'; + +ChartJS.register( + CategoryScale, + LogarithmicScale, + LinearScale, + PointElement, + LineElement, + Title, + Tooltip, + Legend, +); interface TimedValue { time: Date; value: number; + pointStyle?: boolean | string; + pointRadius?: number; } export type ChartProps = { @@ -45,47 +65,46 @@ export const Chart: FC = ({ if (data && data.length > 0) { renderData.push({ - name: title, - color, + id: title, + label: title, + backgroundColor: color, + borderColor: color, + borderWidth: 3, data: createGraphDataset(data), }); } dataCollections.forEach(collection => { renderData.push({ - name: collection.name, + id: collection.name, + label: collection.name, data: createGraphDataset(collection.data), - color: collection.color, - dataset: collection.options, + backgroundColor: collection.color, + borderColor: collection.color, + borderWidth: 3, + pointStyle: collection.pointStyle || 'circle', + radius: collection.pointRadius || 1, }); }); - // ChartJs.defaults.scales.linear.reverse = true; - const options = { + responsive: true, + scales: { - y: { reverse: false, type: 'linear' }, - x: { - type: 'time', + y: { + type: yLogarithmic ? ('logarithmic' as const) : ('linear' as const), + reverse: yFlipped, + title: { + display: true, + text: unit, + }, }, }, }; - options.scales.y.reverse = yFlipped; - options.scales.y.type = yLogarithmic ? 'logarithmic' : 'linear'; - return (
- +
); }; diff --git a/web/package-lock.json b/web/package-lock.json index f4438ad38..146667133 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -21,10 +21,9 @@ "@xstate/react": "3.0.2", "antd": "4.24.7", "autoprefixer": "10.4.13", - "chart.js": "4.2.0", - "chartkick": "5.0.1", + "chart.js": "^4.2.0", "classnames": "2.3.2", - "date-fns": "2.29.3", + "date-fns": "^2.29.3", "entities": "^4.4.0", "linkify-html": "^4.1.0", "linkifyjs": "^4.1.0", @@ -35,7 +34,8 @@ "postcss-flexbugs-fixes": "5.0.2", "prop-types": "15.8.1", "react": "18.2.0", - "react-chartkick": "0.5.3", + "react-chartjs-2": "^5.2.0", + "react-chartkick": "^0.5.3", "react-crossfade-img": "1.0.0", "react-dom": "18.2.0", "react-highlighter-ts": "18.0.1", @@ -15226,16 +15226,6 @@ "date-fns": ">=2.0.0" } }, - "node_modules/chartkick": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/chartkick/-/chartkick-5.0.1.tgz", - "integrity": "sha512-4F3tWI3eBQgnjCYZIZ+fHOaJuNyxeyhDE2Tm+voOWB19hDjSJceys/spzN52DOn8bWepNESGXvPVTGU1jeFsbA==", - "optionalDependencies": { - "chart.js": "4", - "chartjs-adapter-date-fns": ">=3", - "date-fns": ">=2" - } - }, "node_modules/check-more-types": { "version": "2.24.0", "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", @@ -26501,7 +26491,6 @@ }, "node_modules/npm/node_modules/@colors/colors": { "version": "1.5.0", - "dev": true, "inBundle": true, "license": "MIT", "optional": true, @@ -26511,19 +26500,16 @@ }, "node_modules/npm/node_modules/@gar/promisify": { "version": "1.1.3", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/@isaacs/string-locale-compare": { "version": "1.1.0", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/arborist": { "version": "6.2.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26570,7 +26556,6 @@ }, "node_modules/npm/node_modules/@npmcli/config": { "version": "6.1.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26588,7 +26573,6 @@ }, "node_modules/npm/node_modules/@npmcli/disparity-colors": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26600,7 +26584,6 @@ }, "node_modules/npm/node_modules/@npmcli/fs": { "version": "3.1.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26612,7 +26595,6 @@ }, "node_modules/npm/node_modules/@npmcli/git": { "version": "4.0.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26632,7 +26614,6 @@ }, "node_modules/npm/node_modules/@npmcli/installed-package-contents": { "version": "2.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26648,7 +26629,6 @@ }, "node_modules/npm/node_modules/@npmcli/map-workspaces": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26663,7 +26643,6 @@ }, "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { "version": "5.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26678,13 +26657,11 @@ }, "node_modules/npm/node_modules/@npmcli/name-from-folder": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/node-gyp": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -26693,7 +26670,6 @@ }, "node_modules/npm/node_modules/@npmcli/package-json": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26705,7 +26681,6 @@ }, "node_modules/npm/node_modules/@npmcli/promise-spawn": { "version": "6.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26717,7 +26692,6 @@ }, "node_modules/npm/node_modules/@npmcli/query": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26729,7 +26703,6 @@ }, "node_modules/npm/node_modules/@npmcli/run-script": { "version": "6.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26745,7 +26718,6 @@ }, "node_modules/npm/node_modules/@tootallnate/once": { "version": "2.0.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -26754,7 +26726,6 @@ }, "node_modules/npm/node_modules/abbrev": { "version": "2.0.0", - "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -26763,7 +26734,6 @@ }, "node_modules/npm/node_modules/abort-controller": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26775,7 +26745,6 @@ }, "node_modules/npm/node_modules/agent-base": { "version": "6.0.2", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26787,7 +26756,6 @@ }, "node_modules/npm/node_modules/agentkeepalive": { "version": "4.2.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26801,7 +26769,6 @@ }, "node_modules/npm/node_modules/aggregate-error": { "version": "3.1.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26814,7 +26781,6 @@ }, "node_modules/npm/node_modules/ansi-regex": { "version": "5.0.1", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -26823,7 +26789,6 @@ }, "node_modules/npm/node_modules/ansi-styles": { "version": "4.3.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26838,19 +26803,16 @@ }, "node_modules/npm/node_modules/aproba": { "version": "2.0.0", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/archy": { "version": "1.0.0", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/are-we-there-yet": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26863,7 +26825,6 @@ }, "node_modules/npm/node_modules/are-we-there-yet/node_modules/readable-stream": { "version": "4.2.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26878,13 +26839,11 @@ }, "node_modules/npm/node_modules/balanced-match": { "version": "1.0.2", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/base64-js": { "version": "1.5.1", - "dev": true, "funding": [ { "type": "github", @@ -26904,7 +26863,6 @@ }, "node_modules/npm/node_modules/bin-links": { "version": "4.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26919,7 +26877,6 @@ }, "node_modules/npm/node_modules/binary-extensions": { "version": "2.2.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -26928,7 +26885,6 @@ }, "node_modules/npm/node_modules/brace-expansion": { "version": "2.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26937,7 +26893,6 @@ }, "node_modules/npm/node_modules/buffer": { "version": "6.0.3", - "dev": true, "funding": [ { "type": "github", @@ -26961,7 +26916,6 @@ }, "node_modules/npm/node_modules/builtins": { "version": "5.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -26970,7 +26924,6 @@ }, "node_modules/npm/node_modules/cacache": { "version": "17.0.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -26994,7 +26947,6 @@ }, "node_modules/npm/node_modules/chalk": { "version": "4.1.2", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27010,7 +26962,6 @@ }, "node_modules/npm/node_modules/chownr": { "version": "2.0.0", - "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -27019,7 +26970,6 @@ }, "node_modules/npm/node_modules/ci-info": { "version": "3.7.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -27028,7 +26978,6 @@ }, "node_modules/npm/node_modules/cidr-regex": { "version": "3.1.1", - "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -27040,7 +26989,6 @@ }, "node_modules/npm/node_modules/clean-stack": { "version": "2.2.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -27049,7 +26997,6 @@ }, "node_modules/npm/node_modules/cli-columns": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27062,7 +27009,6 @@ }, "node_modules/npm/node_modules/cli-table3": { "version": "0.6.3", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27077,7 +27023,6 @@ }, "node_modules/npm/node_modules/clone": { "version": "1.0.4", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -27086,7 +27031,6 @@ }, "node_modules/npm/node_modules/cmd-shim": { "version": "6.0.0", - "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -27095,7 +27039,6 @@ }, "node_modules/npm/node_modules/color-convert": { "version": "2.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27107,13 +27050,11 @@ }, "node_modules/npm/node_modules/color-name": { "version": "1.1.4", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/color-support": { "version": "1.1.3", - "dev": true, "inBundle": true, "license": "ISC", "bin": { @@ -27122,7 +27063,6 @@ }, "node_modules/npm/node_modules/columnify": { "version": "1.6.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27135,25 +27075,21 @@ }, "node_modules/npm/node_modules/common-ancestor-path": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/concat-map": { "version": "0.0.1", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/console-control-strings": { "version": "1.1.0", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/cssesc": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "MIT", "bin": { @@ -27165,7 +27101,6 @@ }, "node_modules/npm/node_modules/debug": { "version": "4.3.4", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27182,13 +27117,11 @@ }, "node_modules/npm/node_modules/debug/node_modules/ms": { "version": "2.1.2", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/defaults": { "version": "1.0.3", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27197,13 +27130,11 @@ }, "node_modules/npm/node_modules/delegates": { "version": "1.0.0", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/depd": { "version": "1.1.2", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -27212,7 +27143,6 @@ }, "node_modules/npm/node_modules/diff": { "version": "5.1.0", - "dev": true, "inBundle": true, "license": "BSD-3-Clause", "engines": { @@ -27221,13 +27151,11 @@ }, "node_modules/npm/node_modules/emoji-regex": { "version": "8.0.0", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/encoding": { "version": "0.1.13", - "dev": true, "inBundle": true, "license": "MIT", "optional": true, @@ -27237,7 +27165,6 @@ }, "node_modules/npm/node_modules/env-paths": { "version": "2.2.1", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -27246,13 +27173,11 @@ }, "node_modules/npm/node_modules/err-code": { "version": "2.0.3", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/event-target-shim": { "version": "5.0.1", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -27261,7 +27186,6 @@ }, "node_modules/npm/node_modules/events": { "version": "3.3.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -27270,7 +27194,6 @@ }, "node_modules/npm/node_modules/fastest-levenshtein": { "version": "1.0.16", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -27279,7 +27202,6 @@ }, "node_modules/npm/node_modules/fs-minipass": { "version": "2.1.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27291,7 +27213,6 @@ }, "node_modules/npm/node_modules/fs-minipass/node_modules/minipass": { "version": "3.3.6", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27303,19 +27224,16 @@ }, "node_modules/npm/node_modules/fs.realpath": { "version": "1.0.0", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/function-bind": { "version": "1.1.1", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/gauge": { "version": "5.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27334,7 +27252,6 @@ }, "node_modules/npm/node_modules/glob": { "version": "8.0.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27353,13 +27270,11 @@ }, "node_modules/npm/node_modules/graceful-fs": { "version": "4.2.10", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/has": { "version": "1.0.3", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27371,7 +27286,6 @@ }, "node_modules/npm/node_modules/has-flag": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -27380,13 +27294,11 @@ }, "node_modules/npm/node_modules/has-unicode": { "version": "2.0.1", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/hosted-git-info": { "version": "6.1.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27398,13 +27310,11 @@ }, "node_modules/npm/node_modules/http-cache-semantics": { "version": "4.1.0", - "dev": true, "inBundle": true, "license": "BSD-2-Clause" }, "node_modules/npm/node_modules/http-proxy-agent": { "version": "5.0.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27418,7 +27328,6 @@ }, "node_modules/npm/node_modules/https-proxy-agent": { "version": "5.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27431,7 +27340,6 @@ }, "node_modules/npm/node_modules/humanize-ms": { "version": "1.2.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27440,7 +27348,6 @@ }, "node_modules/npm/node_modules/iconv-lite": { "version": "0.6.3", - "dev": true, "inBundle": true, "license": "MIT", "optional": true, @@ -27453,7 +27360,6 @@ }, "node_modules/npm/node_modules/ieee754": { "version": "1.2.1", - "dev": true, "funding": [ { "type": "github", @@ -27473,7 +27379,6 @@ }, "node_modules/npm/node_modules/ignore-walk": { "version": "6.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27485,7 +27390,6 @@ }, "node_modules/npm/node_modules/imurmurhash": { "version": "0.1.4", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -27494,7 +27398,6 @@ }, "node_modules/npm/node_modules/indent-string": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -27503,13 +27406,11 @@ }, "node_modules/npm/node_modules/infer-owner": { "version": "1.0.4", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/inflight": { "version": "1.0.6", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27519,13 +27420,11 @@ }, "node_modules/npm/node_modules/inherits": { "version": "2.0.4", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/ini": { "version": "3.0.1", - "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -27534,7 +27433,6 @@ }, "node_modules/npm/node_modules/init-package-json": { "version": "4.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27552,13 +27450,11 @@ }, "node_modules/npm/node_modules/ip": { "version": "2.0.0", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/ip-regex": { "version": "4.3.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -27567,7 +27463,6 @@ }, "node_modules/npm/node_modules/is-cidr": { "version": "4.0.2", - "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -27579,7 +27474,6 @@ }, "node_modules/npm/node_modules/is-core-module": { "version": "2.10.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27591,7 +27485,6 @@ }, "node_modules/npm/node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -27600,19 +27493,16 @@ }, "node_modules/npm/node_modules/is-lambda": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/isexe": { "version": "2.0.0", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/json-parse-even-better-errors": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -27621,7 +27511,6 @@ }, "node_modules/npm/node_modules/json-stringify-nice": { "version": "1.1.4", - "dev": true, "inBundle": true, "license": "ISC", "funding": { @@ -27630,7 +27519,6 @@ }, "node_modules/npm/node_modules/jsonparse": { "version": "1.3.1", - "dev": true, "engines": [ "node >= 0.2.0" ], @@ -27639,19 +27527,16 @@ }, "node_modules/npm/node_modules/just-diff": { "version": "5.1.1", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/just-diff-apply": { "version": "5.4.1", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/libnpmaccess": { "version": "7.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27664,7 +27549,6 @@ }, "node_modules/npm/node_modules/libnpmdiff": { "version": "5.0.8", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27684,7 +27568,6 @@ }, "node_modules/npm/node_modules/libnpmexec": { "version": "5.0.8", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27707,7 +27590,6 @@ }, "node_modules/npm/node_modules/libnpmfund": { "version": "4.0.8", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27719,7 +27601,6 @@ }, "node_modules/npm/node_modules/libnpmhook": { "version": "9.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27732,7 +27613,6 @@ }, "node_modules/npm/node_modules/libnpmorg": { "version": "5.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27745,7 +27625,6 @@ }, "node_modules/npm/node_modules/libnpmpack": { "version": "5.0.8", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27760,7 +27639,6 @@ }, "node_modules/npm/node_modules/libnpmpublish": { "version": "7.0.6", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27776,7 +27654,6 @@ }, "node_modules/npm/node_modules/libnpmsearch": { "version": "6.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27788,7 +27665,6 @@ }, "node_modules/npm/node_modules/libnpmteam": { "version": "5.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27801,7 +27677,6 @@ }, "node_modules/npm/node_modules/libnpmversion": { "version": "4.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27817,7 +27692,6 @@ }, "node_modules/npm/node_modules/lru-cache": { "version": "7.13.2", - "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -27826,7 +27700,6 @@ }, "node_modules/npm/node_modules/make-fetch-happen": { "version": "11.0.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27853,7 +27726,6 @@ }, "node_modules/npm/node_modules/minimatch": { "version": "5.1.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27865,7 +27737,6 @@ }, "node_modules/npm/node_modules/minipass": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27877,7 +27748,6 @@ }, "node_modules/npm/node_modules/minipass-collect": { "version": "1.0.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27889,7 +27759,6 @@ }, "node_modules/npm/node_modules/minipass-collect/node_modules/minipass": { "version": "3.3.6", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27901,7 +27770,6 @@ }, "node_modules/npm/node_modules/minipass-fetch": { "version": "3.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27918,7 +27786,6 @@ }, "node_modules/npm/node_modules/minipass-flush": { "version": "1.0.5", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27930,7 +27797,6 @@ }, "node_modules/npm/node_modules/minipass-flush/node_modules/minipass": { "version": "3.3.6", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27942,7 +27808,6 @@ }, "node_modules/npm/node_modules/minipass-json-stream": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -27952,7 +27817,6 @@ }, "node_modules/npm/node_modules/minipass-json-stream/node_modules/minipass": { "version": "3.3.6", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27964,7 +27828,6 @@ }, "node_modules/npm/node_modules/minipass-pipeline": { "version": "1.2.4", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27976,7 +27839,6 @@ }, "node_modules/npm/node_modules/minipass-pipeline/node_modules/minipass": { "version": "3.3.6", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -27988,7 +27850,6 @@ }, "node_modules/npm/node_modules/minipass-sized": { "version": "1.0.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28000,7 +27861,6 @@ }, "node_modules/npm/node_modules/minipass-sized/node_modules/minipass": { "version": "3.3.6", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28012,7 +27872,6 @@ }, "node_modules/npm/node_modules/minizlib": { "version": "2.1.2", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28025,7 +27884,6 @@ }, "node_modules/npm/node_modules/minizlib/node_modules/minipass": { "version": "3.3.6", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28037,7 +27895,6 @@ }, "node_modules/npm/node_modules/mkdirp": { "version": "1.0.4", - "dev": true, "inBundle": true, "license": "MIT", "bin": { @@ -28049,19 +27906,16 @@ }, "node_modules/npm/node_modules/ms": { "version": "2.1.3", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/mute-stream": { "version": "0.0.8", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/negotiator": { "version": "0.6.3", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -28070,7 +27924,6 @@ }, "node_modules/npm/node_modules/node-gyp": { "version": "9.3.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28094,7 +27947,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/@npmcli/fs": { "version": "2.1.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28107,7 +27959,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/@npmcli/move-file": { "version": "2.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28120,13 +27971,11 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/abbrev": { "version": "1.1.1", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/node-gyp/node_modules/are-we-there-yet": { "version": "3.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28139,7 +27988,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/brace-expansion": { "version": "1.1.11", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28149,7 +27997,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/cacache": { "version": "16.1.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28178,7 +28025,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/brace-expansion": { "version": "2.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28187,7 +28033,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/glob": { "version": "8.0.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28206,7 +28051,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minimatch": { "version": "5.1.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28218,7 +28062,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/gauge": { "version": "4.0.4", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28237,7 +28080,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/glob": { "version": "7.2.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28257,7 +28099,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen": { "version": "10.2.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28284,7 +28125,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/minimatch": { "version": "3.1.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28296,7 +28136,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/minipass": { "version": "3.3.6", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28308,7 +28147,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/minipass-fetch": { "version": "2.1.2", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28325,7 +28163,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/nopt": { "version": "6.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28340,7 +28177,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/npmlog": { "version": "6.0.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28355,7 +28191,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/ssri": { "version": "9.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28367,7 +28202,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/unique-filename": { "version": "2.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28379,7 +28213,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/unique-slug": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28391,7 +28224,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/which": { "version": "2.0.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28406,7 +28238,6 @@ }, "node_modules/npm/node_modules/nopt": { "version": "7.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28421,7 +28252,6 @@ }, "node_modules/npm/node_modules/normalize-package-data": { "version": "5.0.0", - "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -28436,7 +28266,6 @@ }, "node_modules/npm/node_modules/npm-audit-report": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28448,7 +28277,6 @@ }, "node_modules/npm/node_modules/npm-bundled": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28460,7 +28288,6 @@ }, "node_modules/npm/node_modules/npm-install-checks": { "version": "6.0.0", - "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -28472,7 +28299,6 @@ }, "node_modules/npm/node_modules/npm-normalize-package-bin": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -28481,7 +28307,6 @@ }, "node_modules/npm/node_modules/npm-package-arg": { "version": "10.1.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28496,7 +28321,6 @@ }, "node_modules/npm/node_modules/npm-packlist": { "version": "7.0.4", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28508,7 +28332,6 @@ }, "node_modules/npm/node_modules/npm-pick-manifest": { "version": "8.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28523,7 +28346,6 @@ }, "node_modules/npm/node_modules/npm-profile": { "version": "7.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28536,7 +28358,6 @@ }, "node_modules/npm/node_modules/npm-registry-fetch": { "version": "14.0.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28554,13 +28375,11 @@ }, "node_modules/npm/node_modules/npm-user-validate": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "BSD-2-Clause" }, "node_modules/npm/node_modules/npmlog": { "version": "7.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28575,7 +28394,6 @@ }, "node_modules/npm/node_modules/once": { "version": "1.4.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28584,7 +28402,6 @@ }, "node_modules/npm/node_modules/p-map": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28599,7 +28416,6 @@ }, "node_modules/npm/node_modules/pacote": { "version": "15.0.7", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28630,7 +28446,6 @@ }, "node_modules/npm/node_modules/parse-conflict-json": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28644,7 +28459,6 @@ }, "node_modules/npm/node_modules/path-is-absolute": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -28653,7 +28467,6 @@ }, "node_modules/npm/node_modules/postcss-selector-parser": { "version": "6.0.10", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28666,7 +28479,6 @@ }, "node_modules/npm/node_modules/proc-log": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -28675,7 +28487,6 @@ }, "node_modules/npm/node_modules/process": { "version": "0.11.10", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -28684,7 +28495,6 @@ }, "node_modules/npm/node_modules/promise-all-reject-late": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "ISC", "funding": { @@ -28693,7 +28503,6 @@ }, "node_modules/npm/node_modules/promise-call-limit": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "ISC", "funding": { @@ -28702,13 +28511,11 @@ }, "node_modules/npm/node_modules/promise-inflight": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/promise-retry": { "version": "2.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28721,7 +28528,6 @@ }, "node_modules/npm/node_modules/promzard": { "version": "0.3.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28730,7 +28536,6 @@ }, "node_modules/npm/node_modules/qrcode-terminal": { "version": "0.12.0", - "dev": true, "inBundle": true, "bin": { "qrcode-terminal": "bin/qrcode-terminal.js" @@ -28738,7 +28543,6 @@ }, "node_modules/npm/node_modules/read": { "version": "1.0.7", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28750,7 +28554,6 @@ }, "node_modules/npm/node_modules/read-cmd-shim": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -28759,7 +28562,6 @@ }, "node_modules/npm/node_modules/read-package-json": { "version": "6.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28774,7 +28576,6 @@ }, "node_modules/npm/node_modules/read-package-json-fast": { "version": "3.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28787,7 +28588,6 @@ }, "node_modules/npm/node_modules/readable-stream": { "version": "3.6.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28801,7 +28601,6 @@ }, "node_modules/npm/node_modules/retry": { "version": "0.12.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -28810,7 +28609,6 @@ }, "node_modules/npm/node_modules/rimraf": { "version": "3.0.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28825,7 +28623,6 @@ }, "node_modules/npm/node_modules/rimraf/node_modules/brace-expansion": { "version": "1.1.11", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28835,7 +28632,6 @@ }, "node_modules/npm/node_modules/rimraf/node_modules/glob": { "version": "7.2.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28855,7 +28651,6 @@ }, "node_modules/npm/node_modules/rimraf/node_modules/minimatch": { "version": "3.1.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28867,7 +28662,6 @@ }, "node_modules/npm/node_modules/safe-buffer": { "version": "5.2.1", - "dev": true, "funding": [ { "type": "github", @@ -28887,14 +28681,12 @@ }, "node_modules/npm/node_modules/safer-buffer": { "version": "2.1.2", - "dev": true, "inBundle": true, "license": "MIT", "optional": true }, "node_modules/npm/node_modules/semver": { "version": "7.3.8", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28909,7 +28701,6 @@ }, "node_modules/npm/node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -28921,19 +28712,16 @@ }, "node_modules/npm/node_modules/set-blocking": { "version": "2.0.0", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/signal-exit": { "version": "3.0.7", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/smart-buffer": { "version": "4.2.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -28943,7 +28731,6 @@ }, "node_modules/npm/node_modules/socks": { "version": "2.7.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28957,7 +28744,6 @@ }, "node_modules/npm/node_modules/socks-proxy-agent": { "version": "7.0.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28971,7 +28757,6 @@ }, "node_modules/npm/node_modules/spdx-correct": { "version": "3.1.1", - "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { @@ -28981,13 +28766,11 @@ }, "node_modules/npm/node_modules/spdx-exceptions": { "version": "2.3.0", - "dev": true, "inBundle": true, "license": "CC-BY-3.0" }, "node_modules/npm/node_modules/spdx-expression-parse": { "version": "3.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -28997,13 +28780,11 @@ }, "node_modules/npm/node_modules/spdx-license-ids": { "version": "3.0.11", - "dev": true, "inBundle": true, "license": "CC0-1.0" }, "node_modules/npm/node_modules/ssri": { "version": "10.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -29015,7 +28796,6 @@ }, "node_modules/npm/node_modules/string_decoder": { "version": "1.3.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -29024,7 +28804,6 @@ }, "node_modules/npm/node_modules/string-width": { "version": "4.2.3", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -29038,7 +28817,6 @@ }, "node_modules/npm/node_modules/strip-ansi": { "version": "6.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -29050,7 +28828,6 @@ }, "node_modules/npm/node_modules/supports-color": { "version": "7.2.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -29062,7 +28839,6 @@ }, "node_modules/npm/node_modules/tar": { "version": "6.1.13", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -29079,19 +28855,16 @@ }, "node_modules/npm/node_modules/text-table": { "version": "0.2.0", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/tiny-relative-date": { "version": "1.3.0", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/treeverse": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -29100,7 +28873,6 @@ }, "node_modules/npm/node_modules/unique-filename": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -29112,7 +28884,6 @@ }, "node_modules/npm/node_modules/unique-slug": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -29124,13 +28895,11 @@ }, "node_modules/npm/node_modules/util-deprecate": { "version": "1.0.2", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/validate-npm-package-license": { "version": "3.0.4", - "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { @@ -29140,7 +28909,6 @@ }, "node_modules/npm/node_modules/validate-npm-package-name": { "version": "5.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -29152,13 +28920,11 @@ }, "node_modules/npm/node_modules/walk-up-path": { "version": "1.0.0", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/wcwidth": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -29167,7 +28933,6 @@ }, "node_modules/npm/node_modules/which": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -29182,7 +28947,6 @@ }, "node_modules/npm/node_modules/wide-align": { "version": "1.1.5", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -29191,13 +28955,11 @@ }, "node_modules/npm/node_modules/wrappy": { "version": "1.0.2", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/write-file-atomic": { "version": "5.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -29210,7 +28972,6 @@ }, "node_modules/npm/node_modules/yallist": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "ISC" }, @@ -31812,6 +31573,15 @@ "node": ">=0.10.0" } }, + "node_modules/react-chartjs-2": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-5.2.0.tgz", + "integrity": "sha512-98iN5aguJyVSxp5U3CblRLH67J8gkfyGNbiK3c+l1QI/G4irHMPQw44aEPmjVag+YKTyQ260NcF82GTQ3bdscA==", + "peerDependencies": { + "chart.js": "^4.1.1", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/react-chartkick": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/react-chartkick/-/react-chartkick-0.5.3.tgz", diff --git a/web/package.json b/web/package.json index c47403e89..663e3a40f 100644 --- a/web/package.json +++ b/web/package.json @@ -25,10 +25,9 @@ "@xstate/react": "3.0.2", "antd": "4.24.7", "autoprefixer": "10.4.13", - "chart.js": "4.2.0", - "chartkick": "5.0.1", + "chart.js": "^4.2.0", "classnames": "2.3.2", - "date-fns": "2.29.3", + "date-fns": "^2.29.3", "entities": "^4.4.0", "linkify-html": "^4.1.0", "linkifyjs": "^4.1.0", @@ -39,7 +38,8 @@ "postcss-flexbugs-fixes": "5.0.2", "prop-types": "15.8.1", "react": "18.2.0", - "react-chartkick": "0.5.3", + "react-chartjs-2": "^5.2.0", + "react-chartkick": "^0.5.3", "react-crossfade-img": "1.0.0", "react-dom": "18.2.0", "react-highlighter-ts": "18.0.1", diff --git a/web/pages/admin/hardware-info.tsx b/web/pages/admin/hardware-info.tsx index 2d236083e..94680e4c7 100644 --- a/web/pages/admin/hardware-info.tsx +++ b/web/pages/admin/hardware-info.tsx @@ -69,16 +69,19 @@ export default function HardwareInfo() { name: 'CPU', color: '#B63FFF', data: hardwareStatus.cpu, + pointStyle: 'rect', }, { name: 'Memory', color: '#2087E2', data: hardwareStatus.memory, + pointStyle: 'circle', }, { name: 'Disk', color: '#FF7700', data: hardwareStatus.disk, + pointStyle: 'rectRounded', }, ]; diff --git a/web/pages/admin/stream-health.tsx b/web/pages/admin/stream-health.tsx index 1685a7501..e406e9491 100644 --- a/web/pages/admin/stream-health.tsx +++ b/web/pages/admin/stream-health.tsx @@ -130,13 +130,13 @@ const StreamHealth = () => { { name: 'Errors', color: '#B63FFF', - options: { radius: 3 }, data: errors, + pointStyle: 'crossRot', + pointRadius: 7, }, { name: 'Quality changes', color: '#2087E2', - options: { radius: 2 }, data: qualityVariantChanges, }, ]; @@ -145,19 +145,16 @@ const StreamHealth = () => { { name: 'Median stream latency', color: '#00FFFF', - options: { radius: 2 }, data: medianLatency, }, { name: 'Lowest stream latency', color: '#02FD0D', - options: { radius: 2 }, data: lowestLatency, }, { name: 'Highest stream latency', color: '#B63FFF', - options: { radius: 2 }, data: highestLatency, }, ]; @@ -188,6 +185,7 @@ const StreamHealth = () => { time: item.time, value: segmentLength, })), + pointStyle: 'dash' as const, options: { radius: 0 }, }, ]; @@ -358,7 +356,7 @@ const StreamHealth = () => { title="Seconds" dataCollections={segmentDownloadDurationChart} color="#FF7700" - unit="s" + unit="seconds" yLogarithmic /> @@ -420,7 +418,7 @@ const StreamHealth = () => { title="Viewer Latency" description="An approximate number of seconds that your viewers are behind your live video. The largest cause of latency spikes is buffering. High latency itself is not a problem, and optimizing for low latency can result in buffering, resulting in even higher latency." /> - + diff --git a/web/pages/admin/viewer-info.tsx b/web/pages/admin/viewer-info.tsx index ada719b05..9724af168 100644 --- a/web/pages/admin/viewer-info.tsx +++ b/web/pages/admin/viewer-info.tsx @@ -151,7 +151,7 @@ export default function ViewersOverTime() { {viewerInfo.length > 0 && ( - + )}