diff --git a/web/bun.lock b/web/bun.lock index 3e51d4f8082..0fe078b30a1 100644 --- a/web/bun.lock +++ b/web/bun.lock @@ -17,6 +17,7 @@ "@visactor/vchart-semi-theme": "~1.8.8", "axios": "catalog:", "clsx": "catalog:", + "date-fns-v2": "npm:date-fns@^2.30.0", "dayjs": "catalog:", "highlight.js": "^11.11.1", "history": "^5.3.0", @@ -1598,6 +1599,8 @@ "date-fns-tz": ["date-fns-tz@1.3.8", "", { "peerDependencies": { "date-fns": ">=2.0.0" } }, "sha512-qwNXUFtMHTTU6CFSFjoJ80W8Fzzp24LntbjFFBgL/faqds4e5mo9mftoRLgr3Vi1trISsg4awSpYVsOQCRnapQ=="], + "date-fns-v2": ["date-fns@2.30.0", "", { "dependencies": { "@babel/runtime": "^7.21.0" } }, "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw=="], + "dayjs": ["dayjs@1.11.21", "", {}, "sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA=="], "debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], diff --git a/web/classic/package.json b/web/classic/package.json index 8a840d67e7c..90ef94d212c 100644 --- a/web/classic/package.json +++ b/web/classic/package.json @@ -13,6 +13,7 @@ "@visactor/vchart-semi-theme": "~1.8.8", "axios": "catalog:", "clsx": "catalog:", + "date-fns-v2": "npm:date-fns@^2.30.0", "dayjs": "catalog:", "history": "^5.3.0", "highlight.js": "^11.11.1", diff --git a/web/classic/postcss.config.js b/web/classic/postcss.config.js index 5731ce76eb1..00c633a7fde 100644 --- a/web/classic/postcss.config.js +++ b/web/classic/postcss.config.js @@ -17,9 +17,9 @@ along with this program. If not, see . For commercial licensing, please contact support@quantumnous.com */ +import autoprefixer from 'autoprefixer'; +import tailwindcss from 'tailwindcss'; + export default { - plugins: { - tailwindcss: {}, - autoprefixer: {}, - }, + plugins: [tailwindcss(), autoprefixer()], }; diff --git a/web/classic/rsbuild.config.ts b/web/classic/rsbuild.config.ts index 0a37a0bb7b8..3cbe5fd1ce6 100644 --- a/web/classic/rsbuild.config.ts +++ b/web/classic/rsbuild.config.ts @@ -10,6 +10,20 @@ const semiUiDir = path.resolve( path.dirname(require.resolve('@douyinfe/semi-ui')), '../..', ) +const dateFnsV2Dir = path.dirname(require.resolve('date-fns-v2/package.json')) +const vchartDir = path.dirname(require.resolve('@visactor/vchart/package.json')) +const vchartVisactorDir = path.join(vchartDir, 'node_modules/@visactor') +const vchartDependencyAliases = Object.fromEntries( + [ + 'vdataset', + 'vrender-components', + 'vrender-core', + 'vrender-kits', + 'vscale', + 'vutils', + 'vutils-extension', + ].map((name) => [`@visactor/${name}`, path.join(vchartVisactorDir, name)]), +) export default defineConfig(({ envMode }) => { const env = loadEnv({ mode: envMode, prefixes: ['VITE_'] }) @@ -43,6 +57,8 @@ export default defineConfig(({ envMode }) => { resolve: { alias: { '@': path.resolve(__dirname, './src'), + 'date-fns': dateFnsV2Dir, + ...vchartDependencyAliases, '@douyinfe/semi-ui/dist/css/semi.css': path.resolve( semiUiDir, 'dist/css/semi.css', diff --git a/web/classic/src/components/dashboard/ChartsPanel.jsx b/web/classic/src/components/dashboard/ChartsPanel.jsx index 0034ffd9006..265520f7352 100644 --- a/web/classic/src/components/dashboard/ChartsPanel.jsx +++ b/web/classic/src/components/dashboard/ChartsPanel.jsx @@ -70,22 +70,22 @@ const ChartsPanel = ({ >
{activeChartTab === '1' && ( - + )} {activeChartTab === '2' && ( - + )} {activeChartTab === '3' && ( - + )} {activeChartTab === '4' && ( - + )} {activeChartTab === '5' && isAdminUser && ( - + )} {activeChartTab === '6' && isAdminUser && ( - + )}
diff --git a/web/classic/src/components/dashboard/StatsCards.jsx b/web/classic/src/components/dashboard/StatsCards.jsx index ce72568354c..2ac0bf63fb4 100644 --- a/web/classic/src/components/dashboard/StatsCards.jsx +++ b/web/classic/src/components/dashboard/StatsCards.jsx @@ -98,7 +98,7 @@ const StatsCards = ({
) diff --git a/web/classic/src/index.jsx b/web/classic/src/index.jsx index f24f0ec0898..be6de5ba67e 100644 --- a/web/classic/src/index.jsx +++ b/web/classic/src/index.jsx @@ -1,4 +1,5 @@ import '@douyinfe/semi-ui/react19-adapter'; +import './lib/visactor-env'; /* Copyright (C) 2025 QuantumNous diff --git a/web/classic/src/lib/visactor-env.js b/web/classic/src/lib/visactor-env.js new file mode 100644 index 00000000000..2fbef7e06c5 --- /dev/null +++ b/web/classic/src/lib/visactor-env.js @@ -0,0 +1,24 @@ +/* +Copyright (C) 2025 QuantumNous + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see . + +For commercial licensing, please contact support@quantumnous.com +*/ + +import { registerBrowserEnv } from '@visactor/vchart'; + +if (typeof window !== 'undefined') { + registerBrowserEnv(); +} diff --git a/web/default/src/lib/visactor-env.ts b/web/default/src/lib/visactor-env.ts new file mode 100644 index 00000000000..5b9a3fbcea2 --- /dev/null +++ b/web/default/src/lib/visactor-env.ts @@ -0,0 +1,24 @@ +/* +Copyright (C) 2023-2026 QuantumNous + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see . + +For commercial licensing, please contact support@quantumnous.com +*/ + +import { registerBrowserEnv } from '@visactor/vchart' + +if (typeof window !== 'undefined') { + registerBrowserEnv() +} diff --git a/web/default/src/main.tsx b/web/default/src/main.tsx index cd420d83256..3816a1ec371 100644 --- a/web/default/src/main.tsx +++ b/web/default/src/main.tsx @@ -34,6 +34,7 @@ import '@/lib/dayjs' import { applyFaviconToDom } from '@/lib/dom-utils' import { initializeFrontendCache } from '@/lib/frontend-cache' import { handleServerError } from '@/lib/handle-server-error' +import '@/lib/visactor-env' import { DirectionProvider } from './context/direction-provider' import { FontProvider } from './context/font-provider' import { ThemeProvider } from './context/theme-provider'