This is an automated email from the ASF dual-hosted git repository. wuzhiguo pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/bigtop-manager.git
The following commit(s) were added to refs/heads/main by this push: new 4a50fc5a BIGTOP-4483: Add CLI and Vite plugin for auto-generating image map (#255) 4a50fc5a is described below commit 4a50fc5a0f36f2fa739e6dfff466a77a638ae062 Author: Fdefined <55788435+fu-des...@users.noreply.github.com> AuthorDate: Thu Aug 14 18:59:37 2025 +0800 BIGTOP-4483: Add CLI and Vite plugin for auto-generating image map (#255) --- bigtop-manager-ui/.env.development | 4 +- bigtop-manager-ui/.env.production | 2 - bigtop-manager-ui/README.md | 2 + bigtop-manager-ui/README.zh.md | 2 + bigtop-manager-ui/cli/generate-img-map.ts | 25 ++ bigtop-manager-ui/package.json | 11 +- .../plugins/unplugin-image-manifest/generate.ts | 62 ++++ .../plugins/unplugin-image-manifest/index.ts | 71 +++++ bigtop-manager-ui/pnpm-lock.yaml | 311 +++++++++++++++++++++ bigtop-manager-ui/src/assets/images/logo.png | Bin 0 -> 993 bytes .../src/assets/images/svg/bottom-activated.svg | 25 -- bigtop-manager-ui/src/assets/images/svg/bottom.svg | 5 +- .../src/assets/images/svg/clusters-activated.svg | 44 --- .../src/assets/images/svg/clusters.svg | 12 +- .../src/assets/images/svg/components-activated.svg | 26 -- .../src/assets/images/svg/components.svg | 2 +- .../src/assets/images/svg/filter-activated.svg | 25 -- bigtop-manager-ui/src/assets/images/svg/filter.svg | 2 +- .../src/assets/images/svg/hosts-activated.svg | 31 -- bigtop-manager-ui/src/assets/images/svg/hosts.svg | 6 +- .../images/svg/infrastructures-activated.svg | 38 --- .../src/assets/images/svg/infrastructures.svg | 8 +- .../src/assets/images/svg/llm-config-activated.svg | 44 --- .../src/assets/images/svg/llm-config.svg | 14 +- .../src/assets/images/svg/plus-dark.svg | 28 -- .../src/assets/images/svg/plus-gray.svg | 28 -- bigtop-manager-ui/src/assets/images/svg/plus.svg | 4 +- .../src/assets/images/svg/search-activated.svg | 37 --- bigtop-manager-ui/src/assets/images/svg/search.svg | 10 +- .../src/components/base/svg-icon/index.vue | 33 ++- .../src/components/common/form-filter/index.vue | 3 +- .../src/features/ai-assistant/index.vue | 9 +- .../create-cluster/components/host-manage.vue | 2 +- .../features/create-host/install-dependencies.vue | 4 +- .../components/service-configurator.vue | 2 +- .../src/features/service-management/components.vue | 4 +- .../src/features/service-management/configs.vue | 2 +- bigtop-manager-ui/src/layouts/header.vue | 4 +- bigtop-manager-ui/src/layouts/sider.vue | 16 +- .../src/pages/cluster-manage/cluster/host.vue | 4 +- .../src/pages/cluster-manage/hosts/index.vue | 7 +- .../llm-config/components/llm-item.vue | 2 +- bigtop-manager-ui/src/utils/img-map.ts | 49 ++++ bigtop-manager-ui/src/utils/tools.ts | 4 +- bigtop-manager-ui/tsconfig.node.json | 2 +- bigtop-manager-ui/vite.config.ts | 4 +- 46 files changed, 618 insertions(+), 412 deletions(-) diff --git a/bigtop-manager-ui/.env.development b/bigtop-manager-ui/.env.development index c968a936..abcc75b9 100644 --- a/bigtop-manager-ui/.env.development +++ b/bigtop-manager-ui/.env.development @@ -18,5 +18,5 @@ NODE_ENV=development VITE_APP_BASE='/' VITE_APP_BASE_URL='http://localhost:8080' VITE_APP_BASE_API='/api' -VITE_GITHUB_URL='https://github.com/apache/bigtop-manager' -VITE_BIGTOP_MANAGER_DOC_URL='https://github.com/apache/bigtop-manager/tree/main/docs' + + diff --git a/bigtop-manager-ui/.env.production b/bigtop-manager-ui/.env.production index e96d4d88..7fba695f 100644 --- a/bigtop-manager-ui/.env.production +++ b/bigtop-manager-ui/.env.production @@ -18,5 +18,3 @@ NODE_ENV=production VITE_APP_BASE='/ui/' VITE_APP_BASE_URL='' VITE_APP_BASE_API='/api' -VITE_GITHUB_URL='https://github.com/apache/bigtop-manager' -VITE_BIGTOP_MANAGER_DOC_URL='https://github.com/apache/bigtop-manager/tree/main/docs' diff --git a/bigtop-manager-ui/README.md b/bigtop-manager-ui/README.md index 70f775d2..cdbc0b3f 100644 --- a/bigtop-manager-ui/README.md +++ b/bigtop-manager-ui/README.md @@ -57,6 +57,8 @@ Bigtop Manager UI is the front-end UI of the Manager platform, which stores code │ ├── utils/ # Utility functions │ ├── App.vue # Root component │ └── main.ts # Project entry point +├── plugins/ # Vite plugins +├── cli/ # CLI scripts ├── tests/ # Unit and integration tests ├── index.html # HTML template ├── package.json # Project metadata and dependencies diff --git a/bigtop-manager-ui/README.zh.md b/bigtop-manager-ui/README.zh.md index cac95149..3f7f252d 100644 --- a/bigtop-manager-ui/README.zh.md +++ b/bigtop-manager-ui/README.zh.md @@ -57,6 +57,8 @@ Bigtop Manager UI 是 Manager 平台的前端 UI,存放有关平台与用户 │ ├── utils/ # 工具函数 │ ├── App.vue # 根组件 │ └── main.ts # 项目入口文件 +├── plugins/ # Vite 插件 +├── cli/ # 手动执行的命令行脚本 ├── tests/ # 单元测试或集成测试用例 ├── index.html # HTML 模板文件 ├── package.json # 包管理与脚本配置文件 diff --git a/bigtop-manager-ui/cli/generate-img-map.ts b/bigtop-manager-ui/cli/generate-img-map.ts new file mode 100644 index 00000000..ae342f7b --- /dev/null +++ b/bigtop-manager-ui/cli/generate-img-map.ts @@ -0,0 +1,25 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { generateMetaMap } from '../plugins/unplugin-image-manifest/generate' + +generateMetaMap().catch((err) => { + console.error(err) + process.exit(1) +}) diff --git a/bigtop-manager-ui/package.json b/bigtop-manager-ui/package.json index 58b99865..3f81c13c 100644 --- a/bigtop-manager-ui/package.json +++ b/bigtop-manager-ui/package.json @@ -3,13 +3,14 @@ "version": "0.0.0", "type": "module", "scripts": { - "dev": "vite --open --mode development", - "build": "vite build && vue-tsc --noEmit", + "dev": "pnpm img-map && vite --open --mode development", + "build": "pnpm img-map && vite build && vue-tsc --noEmit", "preview": "vite preview", "lint": "eslint src --ext .ts,.tsx,.vue", "prettier": "prettier --write \"src/**/*.{vue,ts,tsx}\"", "test": "vitest", - "test:run": "vitest run" + "test:run": "vitest run", + "img-map": "tsx cli/generate-img-map.ts" }, "dependencies": { "@ant-design/icons-vue": "^6.1.0", @@ -36,6 +37,7 @@ "devDependencies": { "@testing-library/vue": "^8.1.0", "@types/lodash-es": "^4.17.12", + "@types/micromatch": "^4.0.9", "@types/node": "^20.5.3", "@types/node-forge": "^1.3.11", "@typescript-eslint/eslint-plugin": "^6.4.1", @@ -48,11 +50,14 @@ "eslint-config-prettier": "^9.0.0", "eslint-plugin-prettier": "^5.0.0", "eslint-plugin-vue": "^9.17.0", + "fast-glob": "^3.3.3", "happy-dom": "^18.0.1", + "micromatch": "^4.0.8", "postcss": "^8.4.41", "prettier": "^3.0.2", "sass": "^1.66.1", "sass-loader": "^13.3.2", + "tsx": "^4.20.3", "typescript": "^5.8.3", "unplugin-auto-import": "^19.3.0", "unplugin-icons": "^22.1.0", diff --git a/bigtop-manager-ui/plugins/unplugin-image-manifest/generate.ts b/bigtop-manager-ui/plugins/unplugin-image-manifest/generate.ts new file mode 100644 index 00000000..4c3059b2 --- /dev/null +++ b/bigtop-manager-ui/plugins/unplugin-image-manifest/generate.ts @@ -0,0 +1,62 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import fs from 'node:fs/promises' +import path from 'node:path' +import process from 'node:process' +import fg from 'fast-glob' +import prettier from 'prettier' + +async function formatCode(code: string) { + const options = await prettier.resolveConfig(process.cwd()) + return prettier.format(code, { ...options, parser: 'typescript' }) +} + +export async function generateMetaMap() { + const entries = await fg('src/assets/images/**/*.png') + + const lines = entries.map((filePath) => { + const relativePath = path.relative('src', filePath).replace(/\\/g, '') + const fileName = path.basename(filePath, '.png') + return ` '${fileName}': new URL('../${relativePath}', import.meta.url).href,` + }) + + const rawContent = `/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */\n +const imgMap = {\n${lines.join('\n')}\n}\n\nexport default imgMap\n` + + const formatted = formatCode(rawContent) + await fs.writeFile('src/utils/img-map.ts', await formatted, 'utf-8') +} diff --git a/bigtop-manager-ui/plugins/unplugin-image-manifest/index.ts b/bigtop-manager-ui/plugins/unplugin-image-manifest/index.ts new file mode 100644 index 00000000..20640b3c --- /dev/null +++ b/bigtop-manager-ui/plugins/unplugin-image-manifest/index.ts @@ -0,0 +1,71 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import type { Plugin } from 'vite' +import path from 'node:path' +import micromatch from 'micromatch' +import { generateMetaMap } from './generate' + +interface PluginPayload { + matchPath: string // watch target path +} + +export default function imageManifestPlugin(pluginPayload: PluginPayload): Plugin { + return { + name: 'image-manifest', + + configureServer(server) { + server.watcher.on('add', (filePath) => onAdd(filePath, pluginPayload)) + server.watcher.on('change', (filePath) => onChange(filePath, pluginPayload)) + server.watcher.on('unlink', (filePath) => onUnlink(filePath, pluginPayload)) + } + } +} + +export function isTargetMarkdown(filePath: string, matchPath: string): boolean { + const relative = path.relative(process.cwd(), filePath) + return micromatch.isMatch(relative, matchPath) +} + +// --------------- watcher actions ----------------- + +function onAdd(filePath: string, payload: PluginPayload) { + if (isTargetMarkdown(filePath, payload.matchPath)) { + updateNoteMeta() + } +} + +function onUnlink(filePath: string, payload: PluginPayload) { + if (isTargetMarkdown(filePath, payload.matchPath)) { + updateNoteMeta() + } +} + +async function onChange(filePath: string, payload: PluginPayload) { + if (isTargetMarkdown(filePath, payload.matchPath)) { + updateNoteMeta() + } +} + +function updateNoteMeta() { + generateMetaMap().catch((err: any) => { + console.error(err) + process.exit(1) + }) +} diff --git a/bigtop-manager-ui/pnpm-lock.yaml b/bigtop-manager-ui/pnpm-lock.yaml index 59c847aa..5605dcfd 100644 --- a/bigtop-manager-ui/pnpm-lock.yaml +++ b/bigtop-manager-ui/pnpm-lock.yaml @@ -76,6 +76,9 @@ devDependencies: '@types/lodash-es': specifier: ^4.17.12 version: 4.17.12 + '@types/micromatch': + specifier: ^4.0.9 + version: 4.0.9 '@types/node': specifier: ^20.5.3 version: 20.5.3 @@ -112,9 +115,15 @@ devDependencies: eslint-plugin-vue: specifier: ^9.17.0 version: 9.17.0(eslint@8.47.0) + fast-glob: + specifier: ^3.3.3 + version: 3.3.3 happy-dom: specifier: ^18.0.1 version: 18.0.1 + micromatch: + specifier: ^4.0.8 + version: 4.0.8 postcss: specifier: ^8.4.41 version: 8.4.41 @@ -127,6 +136,9 @@ devDependencies: sass-loader: specifier: ^13.3.2 version: 13.3.2(sass@1.66.1)(webpack@5.100.2) + tsx: + specifier: ^4.20.3 + version: 4.20.3 typescript: specifier: ^5.8.3 version: 5.8.3 @@ -265,6 +277,15 @@ packages: dev: true optional: true + /@esbuild/aix-ppc64@0.25.8: + resolution: {integrity: sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm64@0.21.5: resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} @@ -274,6 +295,15 @@ packages: dev: true optional: true + /@esbuild/android-arm64@0.25.8: + resolution: {integrity: sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm@0.21.5: resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} engines: {node: '>=12'} @@ -283,6 +313,15 @@ packages: dev: true optional: true + /@esbuild/android-arm@0.25.8: + resolution: {integrity: sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-x64@0.21.5: resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} engines: {node: '>=12'} @@ -292,6 +331,15 @@ packages: dev: true optional: true + /@esbuild/android-x64@0.25.8: + resolution: {integrity: sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-arm64@0.21.5: resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} engines: {node: '>=12'} @@ -301,6 +349,15 @@ packages: dev: true optional: true + /@esbuild/darwin-arm64@0.25.8: + resolution: {integrity: sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-x64@0.21.5: resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} engines: {node: '>=12'} @@ -310,6 +367,15 @@ packages: dev: true optional: true + /@esbuild/darwin-x64@0.25.8: + resolution: {integrity: sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-arm64@0.21.5: resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} engines: {node: '>=12'} @@ -319,6 +385,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-arm64@0.25.8: + resolution: {integrity: sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-x64@0.21.5: resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} engines: {node: '>=12'} @@ -328,6 +403,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-x64@0.25.8: + resolution: {integrity: sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm64@0.21.5: resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} engines: {node: '>=12'} @@ -337,6 +421,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm64@0.25.8: + resolution: {integrity: sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm@0.21.5: resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} @@ -346,6 +439,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm@0.25.8: + resolution: {integrity: sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ia32@0.21.5: resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} @@ -355,6 +457,15 @@ packages: dev: true optional: true + /@esbuild/linux-ia32@0.25.8: + resolution: {integrity: sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-loong64@0.21.5: resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} engines: {node: '>=12'} @@ -364,6 +475,15 @@ packages: dev: true optional: true + /@esbuild/linux-loong64@0.25.8: + resolution: {integrity: sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-mips64el@0.21.5: resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} engines: {node: '>=12'} @@ -373,6 +493,15 @@ packages: dev: true optional: true + /@esbuild/linux-mips64el@0.25.8: + resolution: {integrity: sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ppc64@0.21.5: resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} engines: {node: '>=12'} @@ -382,6 +511,15 @@ packages: dev: true optional: true + /@esbuild/linux-ppc64@0.25.8: + resolution: {integrity: sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-riscv64@0.21.5: resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} engines: {node: '>=12'} @@ -391,6 +529,15 @@ packages: dev: true optional: true + /@esbuild/linux-riscv64@0.25.8: + resolution: {integrity: sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-s390x@0.21.5: resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} engines: {node: '>=12'} @@ -400,6 +547,15 @@ packages: dev: true optional: true + /@esbuild/linux-s390x@0.25.8: + resolution: {integrity: sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-x64@0.21.5: resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} engines: {node: '>=12'} @@ -409,6 +565,24 @@ packages: dev: true optional: true + /@esbuild/linux-x64@0.25.8: + resolution: {integrity: sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-arm64@0.25.8: + resolution: {integrity: sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/netbsd-x64@0.21.5: resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} engines: {node: '>=12'} @@ -418,6 +592,24 @@ packages: dev: true optional: true + /@esbuild/netbsd-x64@0.25.8: + resolution: {integrity: sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-arm64@0.25.8: + resolution: {integrity: sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/openbsd-x64@0.21.5: resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} engines: {node: '>=12'} @@ -427,6 +619,24 @@ packages: dev: true optional: true + /@esbuild/openbsd-x64@0.25.8: + resolution: {integrity: sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openharmony-arm64@0.25.8: + resolution: {integrity: sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + requiresBuild: true + dev: true + optional: true + /@esbuild/sunos-x64@0.21.5: resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} engines: {node: '>=12'} @@ -436,6 +646,15 @@ packages: dev: true optional: true + /@esbuild/sunos-x64@0.25.8: + resolution: {integrity: sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-arm64@0.21.5: resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} engines: {node: '>=12'} @@ -445,6 +664,15 @@ packages: dev: true optional: true + /@esbuild/win32-arm64@0.25.8: + resolution: {integrity: sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-ia32@0.21.5: resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} engines: {node: '>=12'} @@ -454,6 +682,15 @@ packages: dev: true optional: true + /@esbuild/win32-ia32@0.25.8: + resolution: {integrity: sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-x64@0.21.5: resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} engines: {node: '>=12'} @@ -463,6 +700,15 @@ packages: dev: true optional: true + /@esbuild/win32-x64@0.25.8: + resolution: {integrity: sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@eslint-community/eslint-utils@4.7.0(eslint@8.47.0): resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -850,6 +1096,10 @@ packages: resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} dev: true + /@types/braces@3.0.5: + resolution: {integrity: sha512-SQFof9H+LXeWNz8wDe7oN5zu7ket0qwMu5vZubW4GCJ8Kkeh6nBWUz87+KTz/G3Kqsrp0j/W253XJb3KMEeg3w==} + dev: true + /@types/chai@5.2.2: resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} dependencies: @@ -896,6 +1146,12 @@ packages: resolution: {integrity: sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==} dev: true + /@types/micromatch@4.0.9: + resolution: {integrity: sha512-7V+8ncr22h4UoYRLnLXSpTxjQrNUXtWHGeMPRJt1nULXI57G9bIcpyrHlmrQ7QK24EyyuXvYcSSWAM8GA9nqCg==} + dependencies: + '@types/braces': 3.0.5 + dev: true + /@types/node-forge@1.3.11: resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} dependencies: @@ -2251,6 +2507,40 @@ packages: '@esbuild/win32-x64': 0.21.5 dev: true + /esbuild@0.25.8: + resolution: {integrity: sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==} + engines: {node: '>=18'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.8 + '@esbuild/android-arm': 0.25.8 + '@esbuild/android-arm64': 0.25.8 + '@esbuild/android-x64': 0.25.8 + '@esbuild/darwin-arm64': 0.25.8 + '@esbuild/darwin-x64': 0.25.8 + '@esbuild/freebsd-arm64': 0.25.8 + '@esbuild/freebsd-x64': 0.25.8 + '@esbuild/linux-arm': 0.25.8 + '@esbuild/linux-arm64': 0.25.8 + '@esbuild/linux-ia32': 0.25.8 + '@esbuild/linux-loong64': 0.25.8 + '@esbuild/linux-mips64el': 0.25.8 + '@esbuild/linux-ppc64': 0.25.8 + '@esbuild/linux-riscv64': 0.25.8 + '@esbuild/linux-s390x': 0.25.8 + '@esbuild/linux-x64': 0.25.8 + '@esbuild/netbsd-arm64': 0.25.8 + '@esbuild/netbsd-x64': 0.25.8 + '@esbuild/openbsd-arm64': 0.25.8 + '@esbuild/openbsd-x64': 0.25.8 + '@esbuild/openharmony-arm64': 0.25.8 + '@esbuild/sunos-x64': 0.25.8 + '@esbuild/win32-arm64': 0.25.8 + '@esbuild/win32-ia32': 0.25.8 + '@esbuild/win32-x64': 0.25.8 + dev: true + /escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -2606,6 +2896,12 @@ packages: dunder-proto: 1.0.1 es-object-atoms: 1.1.1 + /get-tsconfig@4.10.1: + resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==} + dependencies: + resolve-pkg-maps: 1.0.0 + dev: true + /github-markdown-css@5.6.1: resolution: {integrity: sha512-DItLFgHd+s7HQmk63YN4/TdvLeRqk1QP7pPKTTPrDTYoI5x7f/luJWSOZxesmuxBI2srHp8RDyoZd+9WF+WK8Q==} engines: {node: '>=10'} @@ -3840,6 +4136,10 @@ packages: engines: {node: '>=4'} dev: true + /resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + dev: true + /reusify@1.1.0: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -4301,6 +4601,17 @@ packages: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} dev: true + /tsx@4.20.3: + resolution: {integrity: sha512-qjbnuR9Tr+FJOMBqJCW5ehvIo/buZq7vH7qD7JziU98h6l3qGy0a/yPFjwO+y0/T7GFpNgNAvEcPPVfyT8rrPQ==} + engines: {node: '>=18.0.0'} + hasBin: true + dependencies: + esbuild: 0.25.8 + get-tsconfig: 4.10.1 + optionalDependencies: + fsevents: 2.3.3 + dev: true + /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} diff --git a/bigtop-manager-ui/src/assets/images/logo.png b/bigtop-manager-ui/src/assets/images/logo.png new file mode 100644 index 00000000..23402dc4 Binary files /dev/null and b/bigtop-manager-ui/src/assets/images/logo.png differ diff --git a/bigtop-manager-ui/src/assets/images/svg/bottom-activated.svg b/bigtop-manager-ui/src/assets/images/svg/bottom-activated.svg deleted file mode 100644 index 46a1a50d..00000000 --- a/bigtop-manager-ui/src/assets/images/svg/bottom-activated.svg +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ Licensed to the Apache Software Foundation (ASF) under one - ~ or more contributor license agreements. See the NOTICE file - ~ distributed with this work for additional information - ~ regarding copyright ownership. The ASF licenses this file - ~ to you under the Apache License, Version 2.0 (the - ~ "License"); you may not use this file except in compliance - ~ with the License. You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, - ~ software distributed under the License is distributed on an - ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - ~ KIND, either express or implied. See the License for the - ~ specific language governing permissions and limitations - ~ under the License. ---> -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="9.33349609375" - height="5.33331298828125" viewBox="0 0 9.33349609375 5.33331298828125" fill="none"> - <path stroke="rgba(22, 119, 255, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" - d="M8.66675 0.666656L4.66675 4.66666L0.666748 0.666656"> - </path> -</svg> \ No newline at end of file diff --git a/bigtop-manager-ui/src/assets/images/svg/bottom.svg b/bigtop-manager-ui/src/assets/images/svg/bottom.svg index edc1e747..6b36761e 100644 --- a/bigtop-manager-ui/src/assets/images/svg/bottom.svg +++ b/bigtop-manager-ui/src/assets/images/svg/bottom.svg @@ -17,9 +17,8 @@ ~ specific language governing permissions and limitations ~ under the License. --> -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="9.33349609375" - height="5.33331298828125" viewBox="0 0 9.33349609375 5.33331298828125" fill="none"> - <path stroke="rgba(51, 51, 51, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" +<svg xmlns="http://www.w3.org/2000/svg" width="9.333" height="5.333" viewBox="0 0 9.333 5.333" fill="none"> + <path stroke="currentColor" stroke-width="1.333" stroke-linejoin="round" stroke-linecap="round" d="M8.66675 0.666656L4.66675 4.66666L0.666748 0.666656"> </path> </svg> \ No newline at end of file diff --git a/bigtop-manager-ui/src/assets/images/svg/clusters-activated.svg b/bigtop-manager-ui/src/assets/images/svg/clusters-activated.svg deleted file mode 100644 index e554fc58..00000000 --- a/bigtop-manager-ui/src/assets/images/svg/clusters-activated.svg +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ Licensed to the Apache Software Foundation (ASF) under one - ~ or more contributor license agreements. See the NOTICE file - ~ distributed with this work for additional information - ~ regarding copyright ownership. The ASF licenses this file - ~ to you under the Apache License, Version 2.0 (the - ~ "License"); you may not use this file except in compliance - ~ with the License. You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, - ~ software distributed under the License is distributed on an - ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - ~ KIND, either express or implied. See the License for the - ~ specific language governing permissions and limitations - ~ under the License. ---> -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" - viewBox="0 0 16 16" fill="none"> - <path d="M14.6666 1.33334L1.33331 1.33334L1.33331 6.66668L14.6666 6.66668L14.6666 1.33334Z" - stroke="rgba(22, 119, 255, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round"> - </path> - <path d="M14.6666 9.33334L1.33331 9.33334L1.33331 14.6667L14.6666 14.6667L14.6666 9.33334Z" - stroke="rgba(22, 119, 255, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round"> - </path> - <path - d="M4.33331 3.33334L3.66665 3.33334C3.48255 3.33334 3.33331 3.48258 3.33331 3.66668L3.33331 4.33334C3.33331 4.51744 3.48255 4.66668 3.66665 4.66668L4.33331 4.66668C4.51741 4.66668 4.66665 4.51744 4.66665 4.33334L4.66665 3.66668C4.66665 3.48258 4.51741 3.33334 4.33331 3.33334Z" - fill="#1677FF"> - </path> - <path - d="M4.33331 11.3333L3.66665 11.3333C3.48255 11.3333 3.33331 11.4826 3.33331 11.6667L3.33331 12.3333C3.33331 12.5174 3.48255 12.6667 3.66665 12.6667L4.33331 12.6667C4.51741 12.6667 4.66665 12.5174 4.66665 12.3333L4.66665 11.6667C4.66665 11.4826 4.51741 11.3333 4.33331 11.3333Z" - fill="#1677FF"> - </path> - <path - d="M7 3.33334L6.33333 3.33334C6.14923 3.33334 6 3.48258 6 3.66668L6 4.33334C6 4.51744 6.14923 4.66668 6.33333 4.66668L7 4.66668C7.1841 4.66668 7.33333 4.51744 7.33333 4.33334L7.33333 3.66668C7.33333 3.48258 7.1841 3.33334 7 3.33334Z" - fill="#1677FF"> - </path> - <path - d="M7 11.3333L6.33333 11.3333C6.14923 11.3333 6 11.4826 6 11.6667L6 12.3333C6 12.5174 6.14923 12.6667 6.33333 12.6667L7 12.6667C7.1841 12.6667 7.33333 12.5174 7.33333 12.3333L7.33333 11.6667C7.33333 11.4826 7.1841 11.3333 7 11.3333Z" - fill="#1677FF"> - </path> -</svg> \ No newline at end of file diff --git a/bigtop-manager-ui/src/assets/images/svg/clusters.svg b/bigtop-manager-ui/src/assets/images/svg/clusters.svg index e2b98743..36984dde 100644 --- a/bigtop-manager-ui/src/assets/images/svg/clusters.svg +++ b/bigtop-manager-ui/src/assets/images/svg/clusters.svg @@ -20,25 +20,25 @@ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16" fill="none"> <path d="M14.6667 1.33334L1.33333 1.33334L1.33333 6.66668L14.6667 6.66668L14.6667 1.33334Z" - stroke="rgba(51, 51, 51, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round"> + stroke="currentColor" stroke-width="1.3333333333333333" stroke-linejoin="round"> </path> <path d="M14.6667 9.33334L1.33333 9.33334L1.33333 14.6667L14.6667 14.6667L14.6667 9.33334Z" - stroke="rgba(51, 51, 51, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round"> + stroke="currentColor" stroke-width="1.3333333333333333" stroke-linejoin="round"> </path> <path d="M4.33333 3.33334L3.66667 3.33334C3.48257 3.33334 3.33333 3.48258 3.33333 3.66668L3.33333 4.33334C3.33333 4.51744 3.48257 4.66668 3.66667 4.66668L4.33333 4.66668C4.51743 4.66668 4.66667 4.51744 4.66667 4.33334L4.66667 3.66668C4.66667 3.48258 4.51743 3.33334 4.33333 3.33334Z" - fill="#333333"> + fill="currentColor"> </path> <path d="M4.33333 11.3333L3.66667 11.3333C3.48257 11.3333 3.33333 11.4826 3.33333 11.6667L3.33333 12.3333C3.33333 12.5174 3.48257 12.6667 3.66667 12.6667L4.33333 12.6667C4.51743 12.6667 4.66667 12.5174 4.66667 12.3333L4.66667 11.6667C4.66667 11.4826 4.51743 11.3333 4.33333 11.3333Z" - fill="#333333"> + fill="currentColor"> </path> <path d="M7 3.33334L6.33333 3.33334C6.14923 3.33334 6 3.48258 6 3.66668L6 4.33334C6 4.51744 6.14923 4.66668 6.33333 4.66668L7 4.66668C7.1841 4.66668 7.33333 4.51744 7.33333 4.33334L7.33333 3.66668C7.33333 3.48258 7.1841 3.33334 7 3.33334Z" - fill="#333333"> + fill="currentColor"> </path> <path d="M7 11.3333L6.33333 11.3333C6.14923 11.3333 6 11.4826 6 11.6667L6 12.3333C6 12.5174 6.14923 12.6667 6.33333 12.6667L7 12.6667C7.1841 12.6667 7.33333 12.5174 7.33333 12.3333L7.33333 11.6667C7.33333 11.4826 7.1841 11.3333 7 11.3333Z" - fill="#333333"> + fill="currentColor"> </path> </svg> \ No newline at end of file diff --git a/bigtop-manager-ui/src/assets/images/svg/components-activated.svg b/bigtop-manager-ui/src/assets/images/svg/components-activated.svg deleted file mode 100644 index 9e5e54da..00000000 --- a/bigtop-manager-ui/src/assets/images/svg/components-activated.svg +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ Licensed to the Apache Software Foundation (ASF) under one - ~ or more contributor license agreements. See the NOTICE file - ~ distributed with this work for additional information - ~ regarding copyright ownership. The ASF licenses this file - ~ to you under the Apache License, Version 2.0 (the - ~ "License"); you may not use this file except in compliance - ~ with the License. You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, - ~ software distributed under the License is distributed on an - ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - ~ KIND, either express or implied. See the License for the - ~ specific language governing permissions and limitations - ~ under the License. ---> -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" - viewBox="0 0 16 16" fill="none"> - <path - d="M1.33334 8.00001L1.33334 4.00001L4.33334 4.00001L4.33334 3.33334C4.33334 2.22877 5.22878 1.33334 6.33334 1.33334C7.43791 1.33334 8.33334 2.22877 8.33334 3.33334L8.33334 4.00001L11.3333 4.00001L11.3333 8.00001L12.6667 8.00001C13.7712 8.00001 14.6667 8.89544 14.6667 10C14.6667 11.1046 13.7712 12 12.6667 12L11.3333 12L11.3333 14.6667L1.33334 14.6667L1.33334 12L2.66668 12C3.77124 12 4.66668 11.1046 4.66668 10C4.66668 8.89544 3.77124 8.00001 2.66668 8.00001L1.33334 8.00001Z" - stroke="rgba(22, 119, 255, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round"> - </path> -</svg> \ No newline at end of file diff --git a/bigtop-manager-ui/src/assets/images/svg/components.svg b/bigtop-manager-ui/src/assets/images/svg/components.svg index bb215143..323637d4 100644 --- a/bigtop-manager-ui/src/assets/images/svg/components.svg +++ b/bigtop-manager-ui/src/assets/images/svg/components.svg @@ -21,6 +21,6 @@ viewBox="0 0 16 16" fill="none"> <path d="M1.33333 8.00001L1.33333 4.00001L4.33333 4.00001L4.33333 3.33334C4.33333 2.22877 5.22877 1.33334 6.33333 1.33334C7.4379 1.33334 8.33333 2.22877 8.33333 3.33334L8.33333 4.00001L11.3333 4.00001L11.3333 8.00001L12.6667 8.00001C13.7712 8.00001 14.6667 8.89544 14.6667 10C14.6667 11.1046 13.7712 12 12.6667 12L11.3333 12L11.3333 14.6667L1.33333 14.6667L1.33333 12L2.66667 12C3.77123 12 4.66667 11.1046 4.66667 10C4.66667 8.89544 3.77123 8.00001 2.66667 8.00001L1.33333 8.00001Z" - stroke="rgba(51, 51, 51, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round"> + stroke="currentColor" stroke-width="1.3333333333333333" stroke-linejoin="round"> </path> </svg> \ No newline at end of file diff --git a/bigtop-manager-ui/src/assets/images/svg/filter-activated.svg b/bigtop-manager-ui/src/assets/images/svg/filter-activated.svg deleted file mode 100644 index af28467f..00000000 --- a/bigtop-manager-ui/src/assets/images/svg/filter-activated.svg +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ Licensed to the Apache Software Foundation (ASF) under one - ~ or more contributor license agreements. See the NOTICE file - ~ distributed with this work for additional information - ~ regarding copyright ownership. The ASF licenses this file - ~ to you under the Apache License, Version 2.0 (the - ~ "License"); you may not use this file except in compliance - ~ with the License. You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, - ~ software distributed under the License is distributed on an - ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - ~ KIND, either express or implied. See the License for the - ~ specific language governing permissions and limitations - ~ under the License. ---> -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" - viewBox="0 0 16 16" fill="none"> - <path d="M2 3L6.8 8.60593L6.8 12.8148L9.2 14L9.2 8.60593L14 3L2 3Z" stroke="rgba(22, 119, 255, 1)" - stroke-width="1.3333333333333333" stroke-linejoin="round"> - </path> -</svg> \ No newline at end of file diff --git a/bigtop-manager-ui/src/assets/images/svg/filter.svg b/bigtop-manager-ui/src/assets/images/svg/filter.svg index 22f0ccef..cdd4506e 100644 --- a/bigtop-manager-ui/src/assets/images/svg/filter.svg +++ b/bigtop-manager-ui/src/assets/images/svg/filter.svg @@ -19,7 +19,7 @@ --> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16" fill="none"> - <path d="M2 3L6.8 8.60593L6.8 12.8148L9.2 14L9.2 8.60593L14 3L2 3Z" stroke="rgba(51, 51, 51, 1)" + <path d="M2 3L6.8 8.60593L6.8 12.8148L9.2 14L9.2 8.60593L14 3L2 3Z" stroke="currentColor" stroke-width="1.3333333333333333" stroke-linejoin="round"> </path> </svg> \ No newline at end of file diff --git a/bigtop-manager-ui/src/assets/images/svg/hosts-activated.svg b/bigtop-manager-ui/src/assets/images/svg/hosts-activated.svg deleted file mode 100644 index 503b72c4..00000000 --- a/bigtop-manager-ui/src/assets/images/svg/hosts-activated.svg +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ Licensed to the Apache Software Foundation (ASF) under one - ~ or more contributor license agreements. See the NOTICE file - ~ distributed with this work for additional information - ~ regarding copyright ownership. The ASF licenses this file - ~ to you under the Apache License, Version 2.0 (the - ~ "License"); you may not use this file except in compliance - ~ with the License. You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, - ~ software distributed under the License is distributed on an - ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - ~ KIND, either express or implied. See the License for the - ~ specific language governing permissions and limitations - ~ under the License. ---> -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" - viewBox="0 0 16 16" fill="none"> - <path fill="rgba(22, 119, 255, 1)" - d="M3 1.33333L13 1.33333C13.9205 1.33333 14.6667 2.07953 14.6667 3L14.6667 10.3333C14.6667 11.2538 13.9205 12 13 12L3 12C2.07953 12 1.33333 11.2538 1.33333 10.3333L1.33333 3C1.33333 2.07953 2.07953 1.33333 3 1.33333ZM3 2.66667C2.81591 2.66667 2.66667 2.81591 2.66667 3L2.66667 10.3333C2.66667 10.5174 2.81591 10.6667 3 10.6667L13 10.6667C13.1841 10.6667 13.3333 10.5174 13.3333 10.3333L13.3333 3C13.3333 2.81591 13.1841 2.66667 13 2.66667L3 2.66667Z"> - </path> - <path stroke="rgba(22, 119, 255, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" - d="M4.66666 14L11.3333 14"> - </path> - <path stroke="rgba(22, 119, 255, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" - d="M8 11.3333L8 14"> - </path> -</svg> \ No newline at end of file diff --git a/bigtop-manager-ui/src/assets/images/svg/hosts.svg b/bigtop-manager-ui/src/assets/images/svg/hosts.svg index 3f0a9e83..ea2576a2 100644 --- a/bigtop-manager-ui/src/assets/images/svg/hosts.svg +++ b/bigtop-manager-ui/src/assets/images/svg/hosts.svg @@ -19,13 +19,13 @@ --> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16" fill="none"> - <path fill="rgba(51, 51, 51, 1)" + <path fill="currentColor" d="M3 1.33333L13 1.33333C13.9205 1.33333 14.6667 2.07953 14.6667 3L14.6667 10.3333C14.6667 11.2538 13.9205 12 13 12L3 12C2.07953 12 1.33333 11.2538 1.33333 10.3333L1.33333 3C1.33333 2.07953 2.07953 1.33333 3 1.33333ZM3 2.66667C2.81591 2.66667 2.66667 2.81591 2.66667 3L2.66667 10.3333C2.66667 10.5174 2.81591 10.6667 3 10.6667L13 10.6667C13.1841 10.6667 13.3333 10.5174 13.3333 10.3333L13.3333 3C13.3333 2.81591 13.1841 2.66667 13 2.66667L3 2.66667Z"> </path> - <path stroke="rgba(51, 51, 51, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" + <path stroke="currentColor" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" d="M4.66667 14L11.3333 14"> </path> - <path stroke="rgba(51, 51, 51, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" + <path stroke="currentColor" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" d="M8 11.3333L8 14"> </path> </svg> \ No newline at end of file diff --git a/bigtop-manager-ui/src/assets/images/svg/infrastructures-activated.svg b/bigtop-manager-ui/src/assets/images/svg/infrastructures-activated.svg deleted file mode 100644 index 040fb6a2..00000000 --- a/bigtop-manager-ui/src/assets/images/svg/infrastructures-activated.svg +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ Licensed to the Apache Software Foundation (ASF) under one - ~ or more contributor license agreements. See the NOTICE file - ~ distributed with this work for additional information - ~ regarding copyright ownership. The ASF licenses this file - ~ to you under the Apache License, Version 2.0 (the - ~ "License"); you may not use this file except in compliance - ~ with the License. You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, - ~ software distributed under the License is distributed on an - ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - ~ KIND, either express or implied. See the License for the - ~ specific language governing permissions and limitations - ~ under the License. ---> -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" - viewBox="0 0 16 16" fill="none"> - <path - d="M6 2L2.66667 2C2.29848 2 2 2.29848 2 2.66667L2 6C2 6.3682 2.29848 6.66667 2.66667 6.66667L6 6.66667C6.3682 6.66667 6.66667 6.3682 6.66667 6L6.66667 2.66667C6.66667 2.29848 6.3682 2 6 2Z" - stroke="rgba(22, 119, 255, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round"> - </path> - <path - d="M6 9.33334L2.66667 9.33334C2.29848 9.33334 2 9.63181 2 10L2 13.3333C2 13.7015 2.29848 14 2.66667 14L6 14C6.3682 14 6.66667 13.7015 6.66667 13.3333L6.66667 10C6.66667 9.63181 6.3682 9.33334 6 9.33334Z" - stroke="rgba(22, 119, 255, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round"> - </path> - <path - d="M13.3333 2L9.99998 2C9.63178 2 9.33331 2.29848 9.33331 2.66667L9.33331 6C9.33331 6.3682 9.63178 6.66667 9.99998 6.66667L13.3333 6.66667C13.7015 6.66667 14 6.3682 14 6L14 2.66667C14 2.29848 13.7015 2 13.3333 2Z" - stroke="rgba(22, 119, 255, 1)" stroke-width="1.3333333333333333"> - </path> - <path - d="M13.3333 9.33334L9.99998 9.33334C9.63178 9.33334 9.33331 9.63181 9.33331 10L9.33331 13.3333C9.33331 13.7015 9.63178 14 9.99998 14L13.3333 14C13.7015 14 14 13.7015 14 13.3333L14 10C14 9.63181 13.7015 9.33334 13.3333 9.33334Z" - stroke="rgba(22, 119, 255, 1)" stroke-width="1.3333333333333333"> - </path> -</svg> \ No newline at end of file diff --git a/bigtop-manager-ui/src/assets/images/svg/infrastructures.svg b/bigtop-manager-ui/src/assets/images/svg/infrastructures.svg index 78a64da5..65a8da4e 100644 --- a/bigtop-manager-ui/src/assets/images/svg/infrastructures.svg +++ b/bigtop-manager-ui/src/assets/images/svg/infrastructures.svg @@ -21,18 +21,18 @@ viewBox="0 0 16 16" fill="none"> <path d="M6 2L2.66667 2C2.29848 2 2 2.29848 2 2.66667L2 6C2 6.3682 2.29848 6.66667 2.66667 6.66667L6 6.66667C6.3682 6.66667 6.66667 6.3682 6.66667 6L6.66667 2.66667C6.66667 2.29848 6.3682 2 6 2Z" - stroke="rgba(51, 51, 51, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round"> + stroke="currentColor" stroke-width="1.3333333333333333" stroke-linejoin="round"> </path> <path d="M6 9.33334L2.66667 9.33334C2.29848 9.33334 2 9.63181 2 10L2 13.3333C2 13.7015 2.29848 14 2.66667 14L6 14C6.3682 14 6.66667 13.7015 6.66667 13.3333L6.66667 10C6.66667 9.63181 6.3682 9.33334 6 9.33334Z" - stroke="rgba(51, 51, 51, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round"> + stroke="currentColor" stroke-width="1.3333333333333333" stroke-linejoin="round"> </path> <path d="M13.3333 2L10 2C9.6318 2 9.33333 2.29848 9.33333 2.66667L9.33333 6C9.33333 6.3682 9.6318 6.66667 10 6.66667L13.3333 6.66667C13.7015 6.66667 14 6.3682 14 6L14 2.66667C14 2.29848 13.7015 2 13.3333 2Z" - stroke="rgba(51, 51, 51, 1)" stroke-width="1.3333333333333333"> + stroke="currentColor" stroke-width="1.3333333333333333"> </path> <path d="M13.3333 9.33334L10 9.33334C9.6318 9.33334 9.33333 9.63181 9.33333 10L9.33333 13.3333C9.33333 13.7015 9.6318 14 10 14L13.3333 14C13.7015 14 14 13.7015 14 13.3333L14 10C14 9.63181 13.7015 9.33334 13.3333 9.33334Z" - stroke="rgba(51, 51, 51, 1)" stroke-width="1.3333333333333333"> + stroke="currentColor" stroke-width="1.3333333333333333"> </path> </svg> \ No newline at end of file diff --git a/bigtop-manager-ui/src/assets/images/svg/llm-config-activated.svg b/bigtop-manager-ui/src/assets/images/svg/llm-config-activated.svg deleted file mode 100644 index fee86d73..00000000 --- a/bigtop-manager-ui/src/assets/images/svg/llm-config-activated.svg +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ Licensed to the Apache Software Foundation (ASF) under one - ~ or more contributor license agreements. See the NOTICE file - ~ distributed with this work for additional information - ~ regarding copyright ownership. The ASF licenses this file - ~ to you under the Apache License, Version 2.0 (the - ~ "License"); you may not use this file except in compliance - ~ with the License. You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, - ~ software distributed under the License is distributed on an - ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - ~ KIND, either express or implied. See the License for the - ~ specific language governing permissions and limitations - ~ under the License. ---> -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" - viewBox="0 0 16 16" fill="none"> - <path - d="M5.16668 3.00004L2.33334 4.66671L2.33334 8.00004L2.33334 11.3334L5.16668 13L8.00001 14.6667L10.8334 13L13.6667 11.3334L13.6667 8.00004L13.6667 4.66671L10.8334 3.00004L8.00001 1.33337L5.16668 3.00004Z" - stroke="rgba(22, 119, 255, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round"> - </path> - <path stroke="rgba(22, 119, 255, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" - d="M8 1.33337L8 8.00004"> - </path> - <path stroke="rgba(22, 119, 255, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" - d="M13.6667 11.3333L8 8"> - </path> - <path stroke="rgba(22, 119, 255, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" - d="M2.33334 11.3333L8.00001 8"> - </path> - <path stroke="rgba(22, 119, 255, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" - d="M8 14.6667L8 11.3334"> - </path> - <path stroke="rgba(22, 119, 255, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" - d="M13.6667 4.66663L11 6.33329"> - </path> - <path stroke="rgba(22, 119, 255, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" - d="M2.33334 4.66663L5.00001 6.33329"> - </path> -</svg> \ No newline at end of file diff --git a/bigtop-manager-ui/src/assets/images/svg/llm-config.svg b/bigtop-manager-ui/src/assets/images/svg/llm-config.svg index 85dc0a51..db89a2f3 100644 --- a/bigtop-manager-ui/src/assets/images/svg/llm-config.svg +++ b/bigtop-manager-ui/src/assets/images/svg/llm-config.svg @@ -21,24 +21,24 @@ viewBox="0 0 16 16" fill="none"> <path d="M5.16667 3.00004L2.33334 4.66671L2.33334 8.00004L2.33334 11.3334L5.16667 13L8 14.6667L10.8334 13L13.6667 11.3334L13.6667 8.00004L13.6667 4.66671L10.8334 3.00004L8 1.33337L5.16667 3.00004Z" - stroke="rgba(51, 51, 51, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round"> + stroke="currentColor" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round"> </path> - <path stroke="rgba(51, 51, 51, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" + <path stroke="currentColor" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" d="M8 1.33337L8 8.00004"> </path> - <path stroke="rgba(51, 51, 51, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" + <path stroke="currentColor" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" d="M13.6667 11.3333L8 8"> </path> - <path stroke="rgba(51, 51, 51, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" + <path stroke="currentColor" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" d="M2.33334 11.3333L8 8"> </path> - <path stroke="rgba(51, 51, 51, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" + <path stroke="currentColor" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" d="M8 14.6667L8 11.3334"> </path> - <path stroke="rgba(51, 51, 51, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" + <path stroke="currentColor" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" d="M13.6667 4.66663L11 6.33329"> </path> - <path stroke="rgba(51, 51, 51, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" + <path stroke="currentColor" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" d="M2.33334 4.66663L5 6.33329"> </path> </svg> \ No newline at end of file diff --git a/bigtop-manager-ui/src/assets/images/svg/plus-dark.svg b/bigtop-manager-ui/src/assets/images/svg/plus-dark.svg deleted file mode 100644 index abadafc7..00000000 --- a/bigtop-manager-ui/src/assets/images/svg/plus-dark.svg +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ Licensed to the Apache Software Foundation (ASF) under one - ~ or more contributor license agreements. See the NOTICE file - ~ distributed with this work for additional information - ~ regarding copyright ownership. The ASF licenses this file - ~ to you under the Apache License, Version 2.0 (the - ~ "License"); you may not use this file except in compliance - ~ with the License. You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, - ~ software distributed under the License is distributed on an - ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - ~ KIND, either express or implied. See the License for the - ~ specific language governing permissions and limitations - ~ under the License. ---> -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="36" height="36" - viewBox="0 0 36 36" fill="none"> - <path stroke="rgba(51, 51, 51, 1)" stroke-width="3" stroke-linejoin="round" stroke-linecap="round" - d="M18.0455 7.5L18.0181 28.5"> - </path> - <path stroke="rgba(51, 51, 51, 1)" stroke-width="3" stroke-linejoin="round" stroke-linecap="round" - d="M7.5 18L28.5 18"> - </path> -</svg> \ No newline at end of file diff --git a/bigtop-manager-ui/src/assets/images/svg/plus-gray.svg b/bigtop-manager-ui/src/assets/images/svg/plus-gray.svg deleted file mode 100644 index 29d96ac8..00000000 --- a/bigtop-manager-ui/src/assets/images/svg/plus-gray.svg +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ Licensed to the Apache Software Foundation (ASF) under one - ~ or more contributor license agreements. See the NOTICE file - ~ distributed with this work for additional information - ~ regarding copyright ownership. The ASF licenses this file - ~ to you under the Apache License, Version 2.0 (the - ~ "License"); you may not use this file except in compliance - ~ with the License. You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, - ~ software distributed under the License is distributed on an - ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - ~ KIND, either express or implied. See the License for the - ~ specific language governing permissions and limitations - ~ under the License. ---> -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" - viewBox="0 0 16 16" fill="none"> - <path stroke="rgba(51, 51, 51, 0.25)" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" - d="M8.02013 3.33337L8.00793 12.6667"> - </path> - <path stroke="rgba(51, 51, 51, 0.25)" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" - d="M3.33337 8L12.6667 8"> - </path> -</svg> \ No newline at end of file diff --git a/bigtop-manager-ui/src/assets/images/svg/plus.svg b/bigtop-manager-ui/src/assets/images/svg/plus.svg index 1b1561e4..5e610a0c 100644 --- a/bigtop-manager-ui/src/assets/images/svg/plus.svg +++ b/bigtop-manager-ui/src/assets/images/svg/plus.svg @@ -19,10 +19,10 @@ --> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16" fill="none"> - <path stroke="rgba(22, 119, 255, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" + <path stroke="currentColor" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" d="M8.02017 3.33334L8.00797 12.6667"> </path> - <path stroke="rgba(22, 119, 255, 1)" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" + <path stroke="currentColor" stroke-width="1.3333333333333333" stroke-linejoin="round" stroke-linecap="round" d="M3.33333 8L12.6667 8"> </path> </svg> \ No newline at end of file diff --git a/bigtop-manager-ui/src/assets/images/svg/search-activated.svg b/bigtop-manager-ui/src/assets/images/svg/search-activated.svg deleted file mode 100644 index 4f830254..00000000 --- a/bigtop-manager-ui/src/assets/images/svg/search-activated.svg +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ Licensed to the Apache Software Foundation (ASF) under one - ~ or more contributor license agreements. See the NOTICE file - ~ distributed with this work for additional information - ~ regarding copyright ownership. The ASF licenses this file - ~ to you under the Apache License, Version 2.0 (the - ~ "License"); you may not use this file except in compliance - ~ with the License. You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, - ~ software distributed under the License is distributed on an - ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - ~ KIND, either express or implied. See the License for the - ~ specific language governing permissions and limitations - ~ under the License. ---> -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" - viewBox="0 0 16 16" fill="none"> - <path stroke="rgba(22, 119, 255, 1)" stroke-width="1.3333333333333333" stroke-linecap="round" - d="M1.33301 2.33331L14.6663 2.33331"> - </path> - <path stroke="rgba(22, 119, 255, 1)" stroke-width="1.3333333333333333" stroke-linecap="round" - d="M1.33301 7.66669L4.99967 7.66669"> - </path> - <path stroke="rgba(22, 119, 255, 1)" stroke-width="1.3333333333333333" stroke-linecap="round" d="M1.33301 13L4.99967 13"> - </path> - <path - d="M10.5003 11.3334C12.0651 11.3334 13.3337 10.0648 13.3337 8.50002C13.3337 6.93522 12.0651 5.66669 10.5003 5.66669C8.93553 5.66669 7.66699 6.93522 7.66699 8.50002C7.66699 10.0648 8.93553 11.3334 10.5003 11.3334Z" - stroke="rgba(22, 119, 255, 1)" stroke-width="1.3333333333333333"> - </path> - <path stroke="rgba(22, 119, 255, 1)" stroke-width="1.3333333333333333" stroke-linecap="round" - d="M12.333 10.6667L14.6663 13.0169"> - </path> -</svg> \ No newline at end of file diff --git a/bigtop-manager-ui/src/assets/images/svg/search.svg b/bigtop-manager-ui/src/assets/images/svg/search.svg index cbaaf37f..108b910c 100644 --- a/bigtop-manager-ui/src/assets/images/svg/search.svg +++ b/bigtop-manager-ui/src/assets/images/svg/search.svg @@ -19,19 +19,19 @@ --> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16" fill="none"> - <path stroke="rgba(0, 0, 0, 1)" stroke-width="1.3333333333333333" stroke-linecap="round" + <path stroke="currentColor" stroke-width="1.3333333333333333" stroke-linecap="round" d="M1.33301 2.33331L14.6663 2.33331"> </path> - <path stroke="rgba(0, 0, 0, 1)" stroke-width="1.3333333333333333" stroke-linecap="round" + <path stroke="currentColor" stroke-width="1.3333333333333333" stroke-linecap="round" d="M1.33301 7.66669L4.99967 7.66669"> </path> - <path stroke="rgba(0, 0, 0, 1)" stroke-width="1.3333333333333333" stroke-linecap="round" d="M1.33301 13L4.99967 13"> + <path stroke="currentColor" stroke-width="1.3333333333333333" stroke-linecap="round" d="M1.33301 13L4.99967 13"> </path> <path d="M10.5003 11.3334C12.0651 11.3334 13.3337 10.0648 13.3337 8.50002C13.3337 6.93522 12.0651 5.66669 10.5003 5.66669C8.93553 5.66669 7.66699 6.93522 7.66699 8.50002C7.66699 10.0648 8.93553 11.3334 10.5003 11.3334Z" - stroke="rgba(0, 0, 0, 1)" stroke-width="1.3333333333333333"> + stroke="currentColor" stroke-width="1.3333333333333333"> </path> - <path stroke="rgba(0, 0, 0, 1)" stroke-width="1.3333333333333333" stroke-linecap="round" + <path stroke="currentColor" stroke-width="1.3333333333333333" stroke-linecap="round" d="M12.333 10.6667L14.6663 13.0169"> </path> </svg> \ No newline at end of file diff --git a/bigtop-manager-ui/src/components/base/svg-icon/index.vue b/bigtop-manager-ui/src/components/base/svg-icon/index.vue index 2bc6ab1f..faf232c4 100644 --- a/bigtop-manager-ui/src/components/base/svg-icon/index.vue +++ b/bigtop-manager-ui/src/components/base/svg-icon/index.vue @@ -22,46 +22,36 @@ avatar: IconSvgAvatar, 'bm-logo': IconSvgBmLogo, book: IconSvgBook, - 'bottom-activated': IconSvgBottomActivated, bottom: IconSvgBottom, canceled: IconSvgCanceled, 'chat-avatar': IconSvgChatAvatar, chatbot: IconSvgChatbot, close: IconSvgClose, - 'clusters-activated': IconSvgClustersActivated, clusters: IconSvgClusters, communication: IconSvgCommunication, - 'components-activated': IconSvgComponentsActivated, components: IconSvgComponents, copy: IconSvgCopy, download: IconSvgDownload, error: IconSvgError, 'exit-screen': IconSvgExitScreen, failed: IconSvgFailed, - 'filter-activated': IconSvgFilterActivated, filter: IconSvgFilter, 'full-screen': IconSvgFullScreen, github: IconSvgGithub, history: IconSvgHistory, - 'hosts-activated': IconSvgHostsActivated, hosts: IconSvgHosts, - 'infrastructures-activated': IconSvgInfrastructuresActivated, infrastructures: IconSvgInfrastructures, installing: IconSvgInstalling, language: IconSvgLanguage, - 'llm-config-activated': IconSvgLlmConfigActivated, 'llm-config': IconSvgLlmConfig, 'more-line': IconSvgMoreLine, more: IconSvgMore, - 'plus-dark': IconSvgPlusDark, - 'plus-gray': IconSvgPlusGray, plus: IconSvgPlus, processing: IconSvgProcessing, question: IconSvgQuestion, remove: IconSvgRemove, restart: IconSvgRestart, retry: IconSvgRetry, - 'search-activated': IconSvgSearchActivated, search: IconSvgSearch, send: IconSvgSend, start: IconSvgStart, @@ -70,12 +60,29 @@ unknown: IconSvgUnknown, 'carbon-language': IconSvgCarbonLanguage, warn: IconSvgWarn + } as const + + type SvgNameType = keyof typeof icons + + interface Props { + name: SvgNameType | undefined | string + color?: string + highlight?: boolean + highlightColor?: string } - const props = defineProps<{ name: string | undefined }>() - const isIcon = computed(() => props.name && icons[props.name]) + const props = withDefaults(defineProps<Props>(), { + name: 'bm-logo', + color: '#333', + highlight: false, + highlightColor: '#1677ff' + }) + + const svgComp = computed(() => props.name && icons[props.name]) </script> <template> - <component :is="isIcon" v-if="props.name" /> + <component :is="svgComp" v-if="props.name" :style="{ color: props.highlight ? props.highlightColor : props.color }" /> </template> + +<style scoped></style> diff --git a/bigtop-manager-ui/src/components/common/form-filter/index.vue b/bigtop-manager-ui/src/components/common/form-filter/index.vue index 59fa65be..761d5808 100644 --- a/bigtop-manager-ui/src/components/common/form-filter/index.vue +++ b/bigtop-manager-ui/src/components/common/form-filter/index.vue @@ -86,7 +86,8 @@ {{ item.label }} </span> <svg-icon - :name="filterParams[`${item.key}`] === undefined ? 'bottom' : 'bottom-activated'" + name="bottom" + :highlight="filterParams[`${item.key}`] !== undefined" style="padding: 6px 4px; margin-left: 8px" /> </div> diff --git a/bigtop-manager-ui/src/features/ai-assistant/index.vue b/bigtop-manager-ui/src/features/ai-assistant/index.vue index 7c1e414f..6a9561fe 100644 --- a/bigtop-manager-ui/src/features/ai-assistant/index.vue +++ b/bigtop-manager-ui/src/features/ai-assistant/index.vue @@ -68,12 +68,12 @@ ? filterActions(['EXITSCREEN', 'CLOSE']) : filterActions(['ADD', 'RECORDS', 'FULLSCREEN', 'CLOSE']) }) - const addIcon = computed(() => (threads.value.length >= 10 ? 'plus-gray' : 'plus')) + const addLimit = computed(() => threads.value.length >= 10) const addState = computed(() => threads.value.length >= 10 || loadingChatRecords.value || !hasActivePlatform.value) const actionGroup = computed((): GroupItem<ActionType>[] => [ { tip: 'new_chat', - icon: addIcon.value, + icon: 'plus', action: 'ADD', clickEvent: () => aiChatStore.createChatThread(), disabled: addState.value @@ -172,7 +172,10 @@ <template #extra> <button-group i18n="aiAssistant" :groups="checkActions" @on-click="onActions"> <template #icon="{ item }"> - <svg-icon v-if="item.icon" :name="item.icon" /> + <template v-if="item.icon"> + <svg-icon v-if="item.action === 'ADD'" :name="item.icon" color="#33333340" :highlight="!addLimit" /> + <svg-icon v-else :name="item.icon" /> + </template> </template> </button-group> </template> diff --git a/bigtop-manager-ui/src/features/create-cluster/components/host-manage.vue b/bigtop-manager-ui/src/features/create-cluster/components/host-manage.vue index f7cf51f2..5f0e4783 100644 --- a/bigtop-manager-ui/src/features/create-cluster/components/host-manage.vue +++ b/bigtop-manager-ui/src/features/create-cluster/components/host-manage.vue @@ -250,7 +250,7 @@ </div> </template> <template #customFilterIcon="{ filtered }"> - <svg-icon :name="filtered ? 'search-activated' : 'search'" /> + <svg-icon name="search" :highlight="filtered" /> </template> <template #bodyCell="{ record, column }"> <template v-if="column.key === 'status'"> diff --git a/bigtop-manager-ui/src/features/create-host/install-dependencies.vue b/bigtop-manager-ui/src/features/create-host/install-dependencies.vue index dcca0110..e33c0823 100644 --- a/bigtop-manager-ui/src/features/create-host/install-dependencies.vue +++ b/bigtop-manager-ui/src/features/create-host/install-dependencies.vue @@ -306,8 +306,8 @@ </div> </template> <template #customFilterIcon="{ filtered, column }"> - <svg-icon v-if="column.key === 'hostname'" :name="filtered ? 'search-activated' : 'search'" /> - <svg-icon v-else :name="filtered ? 'filter-activated' : 'filter'" /> + <svg-icon v-if="column.key === 'hostname'" name="search" :highlight="filtered" /> + <svg-icon v-else name="filter" :highlight="filtered" /> </template> <template #bodyCell="{ record, column }"> <template v-if="column.key === 'clusterId'"> diff --git a/bigtop-manager-ui/src/features/create-service/components/service-configurator.vue b/bigtop-manager-ui/src/features/create-service/components/service-configurator.vue index 58440d67..36f1cbdd 100644 --- a/bigtop-manager-ui/src/features/create-service/components/service-configurator.vue +++ b/bigtop-manager-ui/src/features/create-service/components/service-configurator.vue @@ -176,7 +176,7 @@ @click.stop="manualAddProperty(config)" > <template #icon> - <svg-icon name="plus-dark" /> + <svg-icon name="plus" /> </template> </a-button> </template> diff --git a/bigtop-manager-ui/src/features/service-management/components.vue b/bigtop-manager-ui/src/features/service-management/components.vue index 2f8bcfa7..cd9b859e 100644 --- a/bigtop-manager-ui/src/features/service-management/components.vue +++ b/bigtop-manager-ui/src/features/service-management/components.vue @@ -368,8 +368,8 @@ </div> </template> <template #customFilterIcon="{ filtered, column }"> - <svg-icon v-if="!['name', 'status'].includes(column.key)" :name="filtered ? 'search-activated' : 'search'" /> - <svg-icon v-else :name="filtered ? 'filter-activated' : 'filter'" /> + <svg-icon v-if="!['name', 'status'].includes(column.key)" name="search" :highlight="filtered" /> + <svg-icon v-else name="filter" :highlight="filtered" /> </template> <template #bodyCell="{ record, column }"> <template v-if="['status'].includes(column.key as string)"> diff --git a/bigtop-manager-ui/src/features/service-management/configs.vue b/bigtop-manager-ui/src/features/service-management/configs.vue index 82503042..7b24d148 100644 --- a/bigtop-manager-ui/src/features/service-management/configs.vue +++ b/bigtop-manager-ui/src/features/service-management/configs.vue @@ -171,7 +171,7 @@ <template #extra> <a-button type="text" shape="circle" @click.stop="manualAddPropertyForConfig(config)"> <template #icon> - <svg-icon name="plus-dark" /> + <svg-icon name="plus" /> </template> </a-button> </template> diff --git a/bigtop-manager-ui/src/layouts/header.vue b/bigtop-manager-ui/src/layouts/header.vue index aac8e11f..ba038f0a 100644 --- a/bigtop-manager-ui/src/layouts/header.vue +++ b/bigtop-manager-ui/src/layouts/header.vue @@ -21,8 +21,8 @@ import { useMenuStore } from '@/store/menu/index' import AiAssistant from '@/features/ai-assistant/index.vue' - const githubUrl = import.meta.env.VITE_GITHUB_URL - const bigtopMangerDocURL = import.meta.env.VITE_BIGTOP_MANAGER_DOC_URL + const githubUrl = 'https://github.com/apache/bigtop-manager' + const bigtopMangerDocURL = 'https://github.com/apache/bigtop-manager/tree/main/docs' const { t } = useI18n() const menuStore = useMenuStore() diff --git a/bigtop-manager-ui/src/layouts/sider.vue b/bigtop-manager-ui/src/layouts/sider.vue index 4a0d7f68..9e8b3c74 100644 --- a/bigtop-manager-ui/src/layouts/sider.vue +++ b/bigtop-manager-ui/src/layouts/sider.vue @@ -78,11 +78,9 @@ * Toggles the activated icon for menu items. */ const toggleActivatedIcon = (menuItem: { key: string; icon: string }) => { - const { key, icon } = menuItem + const { key } = menuItem const matchedRouteFromClusters = selectMenuKeyFromClusters.value && routeParamsLen.value > 0 return key === siderMenuSelectedKey.value || (matchedRouteFromClusters && key === 'clusters') - ? `${icon}-activated` - : icon } const addCluster = () => { @@ -116,13 +114,10 @@ <a-sub-menu v-if="menuItem.name === 'Clusters'" :key="menuItem.path"> <template #icon> <svg-icon + color="inherit" style="height: 16px; width: 16px" - :name=" - toggleActivatedIcon({ - key: (menuItem.redirect as string) || menuItem.path, - icon: menuItem.meta?.icon || '' - }) - " + :highlight="toggleActivatedIcon({ key: menuItem.path, icon: menuItem.meta?.icon || '' })" + :name="menuItem.meta?.icon || ''" /> </template> <template #title> @@ -148,7 +143,8 @@ <template #icon> <svg-icon style="height: 16px; width: 16px" - :name="toggleActivatedIcon({ key: menuItem.redirect as string, icon: menuItem.meta?.icon || '' })" + :highlight="toggleActivatedIcon({ key: menuItem.redirect as string, icon: menuItem.meta?.icon || '' })" + :name="menuItem.meta?.icon || ''" /> </template> <span>{{ t(menuItem.meta!.title!) }}</span> diff --git a/bigtop-manager-ui/src/pages/cluster-manage/cluster/host.vue b/bigtop-manager-ui/src/pages/cluster-manage/cluster/host.vue index f40a1cab..047cfda7 100644 --- a/bigtop-manager-ui/src/pages/cluster-manage/cluster/host.vue +++ b/bigtop-manager-ui/src/pages/cluster-manage/cluster/host.vue @@ -258,8 +258,8 @@ </div> </template> <template #customFilterIcon="{ filtered, column }"> - <svg-icon v-if="column.key != 'status'" :name="filtered ? 'search-activated' : 'search'" /> - <svg-icon v-else :name="filtered ? 'filter-activated' : 'filter'" /> + <svg-icon v-if="column.key != 'status'" name="search" :highlight="filtered" /> + <svg-icon v-else name="filter" :highlight="filtered" /> </template> <template #bodyCell="{ record, column }"> <template v-if="column.key === 'hostname'"> diff --git a/bigtop-manager-ui/src/pages/cluster-manage/hosts/index.vue b/bigtop-manager-ui/src/pages/cluster-manage/hosts/index.vue index a795c976..9df02869 100644 --- a/bigtop-manager-ui/src/pages/cluster-manage/hosts/index.vue +++ b/bigtop-manager-ui/src/pages/cluster-manage/hosts/index.vue @@ -319,11 +319,8 @@ </div> </template> <template #customFilterIcon="{ filtered, column }"> - <svg-icon - v-if="!['status', 'clusterDisplayName'].includes(column.key)" - :name="filtered ? 'search-activated' : 'search'" - /> - <svg-icon v-else :name="filtered ? 'filter-activated' : 'filter'" /> + <svg-icon v-if="!['status', 'clusterDisplayName'].includes(column.key)" name="search" :highlight="filtered" /> + <svg-icon v-else name="filter" :highlight="filtered" /> </template> <template #bodyCell="{ record, column }"> <template v-if="column.key === 'hostname'"> diff --git a/bigtop-manager-ui/src/pages/system-manage/llm-config/components/llm-item.vue b/bigtop-manager-ui/src/pages/system-manage/llm-config/components/llm-item.vue index c7f5a200..4fc6cb65 100644 --- a/bigtop-manager-ui/src/pages/system-manage/llm-config/components/llm-item.vue +++ b/bigtop-manager-ui/src/pages/system-manage/llm-config/components/llm-item.vue @@ -221,7 +221,7 @@ </template> <template v-else> <div class="llm-card-action" @click="handleCreateLlmConfig"> - <svg-icon name="plus-dark" /> + <svg-icon name="plus" /> <a-typography-text type="secondary" :content="t('llmConfig.add_authorization')" /> </div> </template> diff --git a/bigtop-manager-ui/src/utils/img-map.ts b/bigtop-manager-ui/src/utils/img-map.ts new file mode 100644 index 00000000..c5f0e3d4 --- /dev/null +++ b/bigtop-manager-ui/src/utils/img-map.ts @@ -0,0 +1,49 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +const imgMap = { + 'ai-disabled': new URL('../assets/images/ai-disabled.png', import.meta.url).href, + 'ai-helper': new URL('../assets/images/ai-helper.png', import.meta.url).href, + cluster: new URL('../assets/images/cluster.png', import.meta.url).href, + dashscope: new URL('../assets/images/dashscope.png', import.meta.url).href, + deepseek: new URL('../assets/images/deepseek.png', import.meta.url).href, + default: new URL('../assets/images/default.png', import.meta.url).href, + doris: new URL('../assets/images/doris.png', import.meta.url).href, + flink: new URL('../assets/images/flink.png', import.meta.url).href, + grafana: new URL('../assets/images/grafana.png', import.meta.url).href, + hadoop: new URL('../assets/images/hadoop.png', import.meta.url).href, + hbase: new URL('../assets/images/hbase.png', import.meta.url).href, + helper: new URL('../assets/images/helper.png', import.meta.url).href, + hive: new URL('../assets/images/hive.png', import.meta.url).href, + host: new URL('../assets/images/host.png', import.meta.url).href, + kafka: new URL('../assets/images/kafka.png', import.meta.url).href, + login: new URL('../assets/images/login.png', import.meta.url).href, + logo: new URL('../assets/images/logo.png', import.meta.url).href, + mysql: new URL('../assets/images/mysql.png', import.meta.url).href, + openai: new URL('../assets/images/openai.png', import.meta.url).href, + prometheus: new URL('../assets/images/prometheus.png', import.meta.url).href, + qianfan: new URL('../assets/images/qianfan.png', import.meta.url).href, + seatunnel: new URL('../assets/images/seatunnel.png', import.meta.url).href, + solr: new URL('../assets/images/solr.png', import.meta.url).href, + spark: new URL('../assets/images/spark.png', import.meta.url).href, + tez: new URL('../assets/images/tez.png', import.meta.url).href, + zookeeper: new URL('../assets/images/zookeeper.png', import.meta.url).href +} + +export default imgMap diff --git a/bigtop-manager-ui/src/utils/tools.ts b/bigtop-manager-ui/src/utils/tools.ts index 620c70fb..ec3562e1 100644 --- a/bigtop-manager-ui/src/utils/tools.ts +++ b/bigtop-manager-ui/src/utils/tools.ts @@ -17,6 +17,8 @@ * under the License. */ +import imgMap from '@/utils/img-map' + export function copyText(text: string): Promise<any> { if (navigator.clipboard) { return navigator.clipboard.writeText(text) @@ -49,7 +51,7 @@ export function copyText(text: string): Promise<any> { } export function usePngImage(imageName: string): string { - return new URL(`../assets/images/${imageName}.png`, import.meta.url).href + return imgMap[imageName] ?? imgMap['logo'] } export function scrollToBottom(container: HTMLElement | null) { diff --git a/bigtop-manager-ui/tsconfig.node.json b/bigtop-manager-ui/tsconfig.node.json index 7065ca9a..8cc10436 100644 --- a/bigtop-manager-ui/tsconfig.node.json +++ b/bigtop-manager-ui/tsconfig.node.json @@ -6,5 +6,5 @@ "moduleResolution": "Node", "allowSyntheticDefaultImports": true }, - "include": ["vite.config.ts"] + "include": ["vite.config.ts", "plugins"] } diff --git a/bigtop-manager-ui/vite.config.ts b/bigtop-manager-ui/vite.config.ts index a445724c..38123893 100644 --- a/bigtop-manager-ui/vite.config.ts +++ b/bigtop-manager-ui/vite.config.ts @@ -26,6 +26,7 @@ import Icons from 'unplugin-icons/vite' import IconsResolver from 'unplugin-icons/resolver' import { FileSystemIconLoader } from 'unplugin-icons/loaders' import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers' +import ImageManifest from './plugins/unplugin-image-manifest/index' // https://vitejs.dev/config/ export default defineConfig(({ mode }) => { @@ -38,6 +39,7 @@ export default defineConfig(({ mode }) => { defineModel: true } }), + ImageManifest({ matchPath: 'src/assets/images/*.png' }), Icons({ compiler: 'vue3', customCollections: { @@ -95,7 +97,7 @@ export default defineConfig(({ mode }) => { }, build: { outDir: 'dist', - sourcemap: true, + sourcemap: false, reportCompressedSize: true, chunkSizeWarningLimit: 1024, rollupOptions: {