From 832dc1676b7a79ed74759be3cb4f35ff522ac9b4 Mon Sep 17 00:00:00 2001 From: Fine0830 Date: Tue, 14 Nov 2023 20:37:15 +0800 Subject: [PATCH] feat: implement the Dark Theme (#334) --- package-lock.json | 192 ++++++++++++------ package.json | 2 +- src/App.vue | 5 +- src/assets/img/tools/EXIT.png | Bin 269 -> 259 bytes src/components/SelectSingle.vue | 6 +- src/constants/data.ts | 5 + src/hooks/useEcharts.ts | 7 +- src/layout/components/AppMain.vue | 2 +- src/layout/components/NavBar.vue | 37 +++- src/store/modules/app.ts | 6 + src/store/modules/profile.ts | 2 +- src/styles/light.scss | 25 --- src/styles/reset.scss | 25 +-- src/styles/theme.scss | 152 ++++++++++++++ src/views/Marketplace.vue | 2 +- src/views/Settings.vue | 4 +- src/views/alarm/Content.vue | 2 +- src/views/alarm/Header.vue | 11 +- src/views/dashboard/Widget.vue | 2 +- .../configuration/ContinuousProfiling.vue | 2 +- src/views/dashboard/configuration/Event.vue | 2 +- src/views/dashboard/configuration/Text.vue | 3 +- .../dashboard/configuration/ThirdPartyApp.vue | 2 +- .../dashboard/configuration/TimeRange.vue | 2 +- .../dashboard/configuration/Topology.vue | 2 +- src/views/dashboard/configuration/Widget.vue | 6 +- .../configuration/widget/metric/Index.vue | 3 +- .../controls/ContinuousProfiling.vue | 6 +- src/views/dashboard/controls/DemandLog.vue | 4 +- src/views/dashboard/controls/Ebpf.vue | 4 +- src/views/dashboard/controls/Event.vue | 4 +- src/views/dashboard/controls/Log.vue | 4 +- .../dashboard/controls/NetworkProfiling.vue | 6 +- src/views/dashboard/controls/Profile.vue | 4 +- src/views/dashboard/controls/Tab.vue | 11 +- src/views/dashboard/controls/TaskTimeline.vue | 6 +- src/views/dashboard/controls/Text.vue | 16 +- .../dashboard/controls/ThirdPartyApp.vue | 2 +- src/views/dashboard/controls/TimeRange.vue | 2 +- src/views/dashboard/controls/Topology.vue | 3 +- src/views/dashboard/controls/Trace.vue | 4 +- src/views/dashboard/controls/Widget.vue | 4 +- src/views/dashboard/data.ts | 4 +- src/views/dashboard/graphs/Bar.vue | 8 +- src/views/dashboard/graphs/Card.vue | 2 +- src/views/dashboard/graphs/Line.vue | 14 +- src/views/dashboard/graphs/Table.vue | 4 +- src/views/dashboard/graphs/TopList.vue | 10 +- src/views/dashboard/panel/Layout.vue | 4 +- src/views/dashboard/panel/Tool.vue | 30 ++- .../components/InstanceList.vue | 4 +- .../components/Policy.vue | 4 +- .../components/PolicyList.vue | 8 +- src/views/dashboard/related/ebpf/Header.vue | 2 +- .../related/ebpf/components/TaskList.vue | 12 +- .../dashboard/related/log/LogTable/Index.vue | 6 +- .../components/ProcessTopology.vue | 4 +- .../network-profiling/components/Tasks.vue | 8 +- .../network-profiling/components/TimeLine.vue | 2 +- .../dashboard/related/profile/Header.vue | 2 +- .../profile/components/SegmentList.vue | 17 +- .../profile/components/Stack/Container.vue | 4 +- .../related/profile/components/Stack/Item.vue | 30 +-- .../related/profile/components/TaskList.vue | 16 +- .../related/topology/components/Graph.vue | 41 ++-- .../topology/components/PodTopology.vue | 12 +- .../related/topology/components/Sankey.vue | 5 +- .../related/topology/components/Settings.vue | 4 +- .../topology/components/utils/layout.ts | 1 - src/views/dashboard/related/trace/Detail.vue | 6 +- src/views/dashboard/related/trace/Header.vue | 4 +- src/views/dashboard/related/trace/Index.vue | 2 +- .../dashboard/related/trace/TraceList.vue | 10 +- .../trace/components/D3Graph/Index.vue | 17 +- .../trace/components/D3Graph/SpanDetail.vue | 3 +- .../related/trace/components/Table/Index.vue | 8 +- .../trace/components/Table/TableContainer.vue | 6 +- .../trace/components/Table/TableItem.vue | 40 ++-- .../related/trace/utils/d3-trace-list.ts | 33 +-- .../related/trace/utils/d3-trace-tree.ts | 11 +- vite.config.ts | 2 +- 81 files changed, 638 insertions(+), 351 deletions(-) delete mode 100644 src/styles/light.scss create mode 100644 src/styles/theme.scss diff --git a/package-lock.json b/package-lock.json index eb5864d0..fbf93d83 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "d3-flame-graph": "^4.1.3", "d3-tip": "^0.9.1", "echarts": "^5.2.2", - "element-plus": "^2.1.0", + "element-plus": "^2.2.5", "lodash": "^4.17.21", "monaco-editor": "^0.34.1", "pinia": "^2.0.28", @@ -1307,9 +1307,9 @@ } }, "node_modules/@ctrl/tinycolor": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.5.0.tgz", - "integrity": "sha512-tlJpwF40DEQcfR/QF+wNMVyGMaO9FQp6Z1Wahj4Gk3CJQYHwA2xVG7iKDFdW6zuxZY9XWOpGcfNCTsX4McOsOg==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", "engines": { "node": ">=10" } @@ -1375,9 +1375,9 @@ } }, "node_modules/@element-plus/icons-vue": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-1.1.4.tgz", - "integrity": "sha512-Iz/nHqdp1sFPmdzRwHkEQQA3lKvoObk8azgABZ81QUOpW9s/lUyQVUSh0tNtEPZXQlKwlSh7SPgoVxzrE0uuVQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.1.0.tgz", + "integrity": "sha512-PSBn3elNoanENc1vnCfh+3WA9fimRC7n+fWkf3rE5jvv+aBohNHABC/KAR5KWPecxWxDTVT1ERpRbOMRcOV/vA==", "peerDependencies": { "vue": "^3.2.0" } @@ -1784,6 +1784,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@floating-ui/core": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-0.7.3.tgz", + "integrity": "sha512-buc8BXHmG9l82+OQXOFU3Kr2XQx9ys01U/Q9HMIrZ300iLc8HLMgh7dcCqgYzAzf4BkoQvDcXf5Y+CuEZ5JBYg==" + }, + "node_modules/@floating-ui/dom": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-0.5.4.tgz", + "integrity": "sha512-419BMceRLq0RrmTSDxn8hf9R3VCJv2K9PUfugh5JyEFmdjzDo+e8U5EdR8nzKq8Yj1htzLm3b6eQEEam3/rrtg==", + "dependencies": { + "@floating-ui/core": "^0.7.3" + } + }, "node_modules/@hapi/hoek": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", @@ -2144,9 +2157,10 @@ } }, "node_modules/@popperjs/core": { - "version": "2.11.6", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", - "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==", + "name": "@sxzz/popperjs-es", + "version": "2.11.7", + "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==", "funding": { "type": "opencollective", "url": "https://opencollective.com/popperjs" @@ -2561,10 +2575,9 @@ "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==" }, "node_modules/@types/lodash-es": { - "version": "4.17.6", - "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.6.tgz", - "integrity": "sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==", - "peer": true, + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.11.tgz", + "integrity": "sha512-eCw8FYAWHt2DDl77s+AMLLzPn310LKohruumpucZI4oOFJkIgnlaJcy23OKMJxx4r9PeTF13Gv6w+jqjWQaYUg==", "dependencies": { "@types/lodash": "*" } @@ -5666,33 +5679,43 @@ "dev": true }, "node_modules/element-plus": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.1.0.tgz", - "integrity": "sha512-PQM3LMv5qKf0sS/k+PXuBcmKl1Eb3b7fxKPyFHZ6eodZcNykbEMcpLZefQkvmDr6calVnuQ7TUnTm7Tm9LJXvg==", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.2.5.tgz", + "integrity": "sha512-Kl0yn/PQca5YQo3M3NPBP4Xl71NQuMtDx5zNXZGVyl5FjdMujXiFB9SXKYGDUCgFU3d/Rl14vB4Fpmcl2Iz+Hw==", "dependencies": { - "@ctrl/tinycolor": "^3.4.0", - "@element-plus/icons-vue": "^1.0.1", - "@popperjs/core": "^2.11.2", - "@vueuse/core": "^7.7.1", - "async-validator": "^4.0.7", - "dayjs": "^1.10.8", + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.0.5", + "@floating-ui/dom": "^0.5.2", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^8.6.0", + "async-validator": "^4.1.1", + "dayjs": "^1.11.3", "escape-html": "^1.0.3", "lodash": "^4.17.21", "lodash-es": "^4.17.21", "lodash-unified": "^1.0.2", "memoize-one": "^6.0.0", - "normalize-wheel-es": "^1.1.1" + "normalize-wheel-es": "^1.1.2" }, "peerDependencies": { "vue": "^3.2.0" } }, + "node_modules/element-plus/node_modules/@types/web-bluetooth": { + "version": "0.0.14", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.14.tgz", + "integrity": "sha512-5d2RhCard1nQUC3aHcq/gHzWYO6K0WJmAbjO7mQJgCQKtZpgXxv1rOM6O/dBDhDYYVutk1sciOgNSe+5YyfM8A==" + }, "node_modules/element-plus/node_modules/@vueuse/core": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-7.7.1.tgz", - "integrity": "sha512-PRRgbATMpoeUmkCEBtUeJgOwtew8s+4UsEd+Pm7MhkjL2ihCNrSqxNVtM6NFE4uP2sWnkGcZpCjPuNSxowJ1Ow==", + "version": "8.9.4", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-8.9.4.tgz", + "integrity": "sha512-B/Mdj9TK1peFyWaPof+Zf/mP9XuGAngaJZBwPaXBvU3aCTZlx3ltlrFFFyMV4iGBwsjSCeUCgZrtkEj9dS2Y3Q==", "dependencies": { - "@vueuse/shared": "7.7.1", + "@types/web-bluetooth": "^0.0.14", + "@vueuse/metadata": "8.9.4", + "@vueuse/shared": "8.9.4", "vue-demi": "*" }, "funding": { @@ -5712,9 +5735,9 @@ } }, "node_modules/element-plus/node_modules/@vueuse/core/node_modules/@vueuse/shared": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-7.7.1.tgz", - "integrity": "sha512-rN2qd22AUl7VdBxihagWyhUNHCyVk9IpvBTTfHoLH9G7rGE552X1f+zeCfehuno0zXif13jPw+icW/wn2a0rnQ==", + "version": "8.9.4", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-8.9.4.tgz", + "integrity": "sha512-wt+T30c4K6dGRMVqPddexEVLa28YwxW5OFIPmzUHICjphfAuBFTTdDoyqREZNDOFJZ44ARH1WWQNCUK8koJ+Ag==", "dependencies": { "vue-demi": "*" }, @@ -5735,9 +5758,9 @@ } }, "node_modules/element-plus/node_modules/@vueuse/core/node_modules/vue-demi": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", - "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", "hasInstallScript": true, "bin": { "vue-demi-fix": "bin/vue-demi-fix.js", @@ -5759,6 +5782,14 @@ } } }, + "node_modules/element-plus/node_modules/@vueuse/metadata": { + "version": "8.9.4", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-8.9.4.tgz", + "integrity": "sha512-IwSfzH80bnJMzqhaapqJl9JRIiyQU0zsRGEgnxN6jhq7992cPUJIRfV+JHRIZXjYqbwt07E1gTEp0R0zPJ1aqw==", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/element-resize-detector": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/element-resize-detector/-/element-resize-detector-1.2.4.tgz", @@ -16121,9 +16152,9 @@ "requires": {} }, "@ctrl/tinycolor": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.5.0.tgz", - "integrity": "sha512-tlJpwF40DEQcfR/QF+wNMVyGMaO9FQp6Z1Wahj4Gk3CJQYHwA2xVG7iKDFdW6zuxZY9XWOpGcfNCTsX4McOsOg==" + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==" }, "@cypress/request": { "version": "3.0.1", @@ -16182,9 +16213,9 @@ } }, "@element-plus/icons-vue": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-1.1.4.tgz", - "integrity": "sha512-Iz/nHqdp1sFPmdzRwHkEQQA3lKvoObk8azgABZ81QUOpW9s/lUyQVUSh0tNtEPZXQlKwlSh7SPgoVxzrE0uuVQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.1.0.tgz", + "integrity": "sha512-PSBn3elNoanENc1vnCfh+3WA9fimRC7n+fWkf3rE5jvv+aBohNHABC/KAR5KWPecxWxDTVT1ERpRbOMRcOV/vA==", "requires": {} }, "@esbuild/android-arm": { @@ -16375,6 +16406,19 @@ } } }, + "@floating-ui/core": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-0.7.3.tgz", + "integrity": "sha512-buc8BXHmG9l82+OQXOFU3Kr2XQx9ys01U/Q9HMIrZ300iLc8HLMgh7dcCqgYzAzf4BkoQvDcXf5Y+CuEZ5JBYg==" + }, + "@floating-ui/dom": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-0.5.4.tgz", + "integrity": "sha512-419BMceRLq0RrmTSDxn8hf9R3VCJv2K9PUfugh5JyEFmdjzDo+e8U5EdR8nzKq8Yj1htzLm3b6eQEEam3/rrtg==", + "requires": { + "@floating-ui/core": "^0.7.3" + } + }, "@hapi/hoek": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", @@ -16647,9 +16691,9 @@ } }, "@popperjs/core": { - "version": "2.11.6", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", - "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==" + "version": "npm:@sxzz/popperjs-es@2.11.7", + "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==" }, "@rollup/pluginutils": { "version": "4.2.1", @@ -17053,10 +17097,9 @@ "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==" }, "@types/lodash-es": { - "version": "4.17.6", - "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.6.tgz", - "integrity": "sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==", - "peer": true, + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.11.tgz", + "integrity": "sha512-eCw8FYAWHt2DDl77s+AMLLzPn310LKohruumpucZI4oOFJkIgnlaJcy23OKMJxx4r9PeTF13Gv6w+jqjWQaYUg==", "requires": { "@types/lodash": "*" } @@ -19361,48 +19404,63 @@ "dev": true }, "element-plus": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.1.0.tgz", - "integrity": "sha512-PQM3LMv5qKf0sS/k+PXuBcmKl1Eb3b7fxKPyFHZ6eodZcNykbEMcpLZefQkvmDr6calVnuQ7TUnTm7Tm9LJXvg==", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.2.5.tgz", + "integrity": "sha512-Kl0yn/PQca5YQo3M3NPBP4Xl71NQuMtDx5zNXZGVyl5FjdMujXiFB9SXKYGDUCgFU3d/Rl14vB4Fpmcl2Iz+Hw==", "requires": { - "@ctrl/tinycolor": "^3.4.0", - "@element-plus/icons-vue": "^1.0.1", - "@popperjs/core": "^2.11.2", - "@vueuse/core": "^7.7.1", - "async-validator": "^4.0.7", - "dayjs": "^1.10.8", + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.0.5", + "@floating-ui/dom": "^0.5.2", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^8.6.0", + "async-validator": "^4.1.1", + "dayjs": "^1.11.3", "escape-html": "^1.0.3", "lodash": "^4.17.21", "lodash-es": "^4.17.21", "lodash-unified": "^1.0.2", "memoize-one": "^6.0.0", - "normalize-wheel-es": "^1.1.1" + "normalize-wheel-es": "^1.1.2" }, "dependencies": { + "@types/web-bluetooth": { + "version": "0.0.14", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.14.tgz", + "integrity": "sha512-5d2RhCard1nQUC3aHcq/gHzWYO6K0WJmAbjO7mQJgCQKtZpgXxv1rOM6O/dBDhDYYVutk1sciOgNSe+5YyfM8A==" + }, "@vueuse/core": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-7.7.1.tgz", - "integrity": "sha512-PRRgbATMpoeUmkCEBtUeJgOwtew8s+4UsEd+Pm7MhkjL2ihCNrSqxNVtM6NFE4uP2sWnkGcZpCjPuNSxowJ1Ow==", + "version": "8.9.4", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-8.9.4.tgz", + "integrity": "sha512-B/Mdj9TK1peFyWaPof+Zf/mP9XuGAngaJZBwPaXBvU3aCTZlx3ltlrFFFyMV4iGBwsjSCeUCgZrtkEj9dS2Y3Q==", "requires": { - "@vueuse/shared": "7.7.1", + "@types/web-bluetooth": "^0.0.14", + "@vueuse/metadata": "8.9.4", + "@vueuse/shared": "8.9.4", "vue-demi": "*" }, "dependencies": { "@vueuse/shared": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-7.7.1.tgz", - "integrity": "sha512-rN2qd22AUl7VdBxihagWyhUNHCyVk9IpvBTTfHoLH9G7rGE552X1f+zeCfehuno0zXif13jPw+icW/wn2a0rnQ==", + "version": "8.9.4", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-8.9.4.tgz", + "integrity": "sha512-wt+T30c4K6dGRMVqPddexEVLa28YwxW5OFIPmzUHICjphfAuBFTTdDoyqREZNDOFJZ44ARH1WWQNCUK8koJ+Ag==", "requires": { "vue-demi": "*" } }, "vue-demi": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", - "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", "requires": {} } } + }, + "@vueuse/metadata": { + "version": "8.9.4", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-8.9.4.tgz", + "integrity": "sha512-IwSfzH80bnJMzqhaapqJl9JRIiyQU0zsRGEgnxN6jhq7992cPUJIRfV+JHRIZXjYqbwt07E1gTEp0R0zPJ1aqw==" } } }, diff --git a/package.json b/package.json index 737a83ef..6265b22f 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "d3-flame-graph": "^4.1.3", "d3-tip": "^0.9.1", "echarts": "^5.2.2", - "element-plus": "^2.1.0", + "element-plus": "^2.2.5", "lodash": "^4.17.21", "monaco-editor": "^0.34.1", "pinia": "^2.0.28", diff --git a/src/App.vue b/src/App.vue index 93c3bce8..19b8887f 100644 --- a/src/App.vue +++ b/src/App.vue @@ -27,10 +27,11 @@ limitations under the License. --> } }, 500); - diff --git a/src/assets/img/tools/EXIT.png b/src/assets/img/tools/EXIT.png index 88aca4957b26997803afc985b0821b694dd25e2e..977493de3aa35fb88c7c90e0a64f5464ffd296a2 100644 GIT binary patch delta 218 zcmV<0044v80)qmOF@L>DL_t(IPpy+Z4gw(%g_${ywMWstfTfnehR&9sljs3#Of<1F zu{3)dz+hyfL>F+EmU-X2d6@w+^1-`aO1aJP5b?kmyT-a6ptZgbLXJ6r_kL-u-3TGh zp|%Gor99{S!_hZbblJA;(`_}t7&8k(N@-UOP)eN;aUI3gfK$-jIk!W^rpQ4MSZkX! z3jkO|$Y2Je0cq#g2scEW7mbhtCJ8Y@|8fw-LyL3=fPKj-1HdZY!*s`#>-_8g0n1E* U5pbBZ0ssI207*qoM6N<$g4JST2mk;8 delta 228 zcmV_P}dF9*>sfZ{z1 z08@dqX3zpyD5WOOxjHGt2-I4iNX`e1F@{KTE8^r3WrTyr7=>+%RFmBIS!J#DQtsh@ e$JF)nxB4Atx`Yvg)+`wS0000 border: 1px solid #ddd; background: $theme-background; border-radius: 3px; - color: #000; + color: $font-color; font-size: $font-size-smaller; height: 24px; @@ -112,7 +112,7 @@ limitations under the License. --> width: 100%; padding: 2px 10px; overflow: auto; - color: #606266; + color: var(--sw-setting-color); position: relative; &:hover { @@ -133,7 +133,7 @@ limitations under the License. --> } .opt-wrapper { - color: #606266; + color: var(--sw-setting-color); position: absolute; top: 26px; left: 0; diff --git a/src/constants/data.ts b/src/constants/data.ts index 77238da5..9cbc1e17 100644 --- a/src/constants/data.ts +++ b/src/constants/data.ts @@ -26,3 +26,8 @@ export const Languages = [ { label: "Chinese", value: "zh" }, { label: "Spanish", value: "es" }, ]; + +export enum Themes { + Dark = "dark", + Light = "light", +} diff --git a/src/hooks/useEcharts.ts b/src/hooks/useEcharts.ts index cc28c467..2aacc49d 100644 --- a/src/hooks/useEcharts.ts +++ b/src/hooks/useEcharts.ts @@ -30,6 +30,8 @@ import { useDebounceFn } from "@vueuse/core"; import { useEventListener } from "./useEventListener"; import { useBreakpoint } from "./useBreakpoint"; import echarts from "@/utils/echarts"; +import { useAppStoreWithOut } from "@/store/modules/app"; +import { Themes } from "@/constants/data"; export type ECOption = echarts.ComposeOption< | BarSeriesOption @@ -44,8 +46,9 @@ export type ECOption = echarts.ComposeOption< >; export function useECharts(elRef: Ref, theme: "light" | "dark" | "default" = "default"): Indexable { + const appStore = useAppStoreWithOut(); const getDarkMode = computed(() => { - return theme === "default" ? "light" : theme; + return appStore.theme === "default" ? Themes.Light : theme; }); let chartInstance: Nullable = null; let resizeFn: Fn = resize; @@ -55,7 +58,7 @@ export function useECharts(elRef: Ref, theme: "light" | "dark" | resizeFn = useDebounceFn(resize, 200); const getOptions = computed(() => { - if (getDarkMode.value !== "dark") { + if (getDarkMode.value !== Themes.Dark) { return cacheOptions.value as ECOption; } return { diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue index cce7d11c..6b5d403b 100644 --- a/src/layout/components/AppMain.vue +++ b/src/layout/components/AppMain.vue @@ -24,7 +24,7 @@ limitations under the License. --> diff --git a/src/layout/components/NavBar.vue b/src/layout/components/NavBar.vue index 43202ed5..b7cc0f41 100644 --- a/src/layout/components/NavBar.vue +++ b/src/layout/components/NavBar.vue @@ -48,11 +48,14 @@ limitations under the License. --> @input="changeTimeRange" /> UTC{{ appStore.utcHour >= 0 ? "+" : "" }}{{ `${appStore.utcHour}:${appStore.utcMin}` }} + + + - +