Compare commits
5 Commits
main
...
building-f
| Author | SHA1 | Date | |
|---|---|---|---|
| 178a3e656f | |||
| cfb6afcdce | |||
| 58abe588aa | |||
| 46325ee801 | |||
| c65235f377 |
3
.playwright-mcp/console-2026-05-13T08-06-15-907Z.log
Normal file
3
.playwright-mcp/console-2026-05-13T08-06-15-907Z.log
Normal file
@ -0,0 +1,3 @@
|
||||
[ 6918ms] [INFO] %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold @ http://127.0.0.1:5173/node_modules/.vite/deps/react-dom_client.js?v=ae174d51:20102
|
||||
[ 7315ms] [ERROR] Failed to load resource: the server responded with a status of 404 (Not Found) @ http://127.0.0.1:5173/favicon.ico:0
|
||||
[ 331036ms] [INFO] %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold @ http://127.0.0.1:5173/node_modules/.vite/deps/react-dom_client.js?v=ae174d51:20102
|
||||
6
.playwright-mcp/console-2026-05-13T08-22-17-883Z.log
Normal file
6
.playwright-mcp/console-2026-05-13T08-22-17-883Z.log
Normal file
@ -0,0 +1,6 @@
|
||||
[ 300ms] [INFO] %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold @ http://127.0.0.1:5173/node_modules/.vite/deps/react-dom_client.js?v=ae174d51:20102
|
||||
[ 1230ms] [ERROR] Failed to load resource: the server responded with a status of 404 (Not Found) @ http://127.0.0.1:5173/favicon.ico:0
|
||||
[ 40506ms] [ERROR] Failed to load resource: the server responded with a status of 401 () @ https://nest.zwgczx.com/api/v1/zw/getBuildingFunctionCostFilterTree?key=templateLibrary¤ttime=1778660578349&__random__=1778660578349:0
|
||||
[ 40812ms] [ERROR] Failed to load resource: the server responded with a status of 401 () @ https://nest.zwgczx.com/api/v1/zw/getBuildingFunctionCostFilterTree?key=indicatorTree&templateId=3¤ttime=1778660578682&__random__=1778660578682:0
|
||||
[ 52231ms] [ERROR] Failed to load resource: the server responded with a status of 401 () @ https://nest.zwgczx.com/api/v1/zw/getBuildingFunctionCostFilterTree?key=templateLibrary¤ttime=1778660590101&__random__=1778660590101:0
|
||||
[ 53824ms] [ERROR] Failed to load resource: the server responded with a status of 401 () @ https://nest.zwgczx.com/api/v1/zw/getBuildingFunctionCostFilterTree?key=indicatorTree&templateId=3¤ttime=1778660591693&__random__=1778660591693:0
|
||||
84
.playwright-mcp/page-2026-05-13T08-06-23-224Z.yml
Normal file
84
.playwright-mcp/page-2026-05-13T08-06-23-224Z.yml
Normal file
@ -0,0 +1,84 @@
|
||||
- main [ref=e3]:
|
||||
- generic:
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- region "年度费用模板" [ref=e4]:
|
||||
- generic "筛选条件" [ref=e5]:
|
||||
- button "省市区" [ref=e6] [cursor=pointer]:
|
||||
- img [ref=e7]
|
||||
- generic [ref=e11]: 省市区
|
||||
- button "自然地理区位" [ref=e12] [cursor=pointer]:
|
||||
- img [ref=e13]
|
||||
- generic [ref=e16]: 自然地理区位
|
||||
- button "设施类别" [ref=e17] [cursor=pointer]:
|
||||
- img [ref=e18]
|
||||
- generic [ref=e22]: 设施类别
|
||||
- button "建筑功能" [ref=e23] [cursor=pointer]:
|
||||
- img [ref=e24]
|
||||
- generic [ref=e27]: 建筑功能
|
||||
- button "建设阶段" [ref=e28] [cursor=pointer]:
|
||||
- img [ref=e29]
|
||||
- generic [ref=e34]: 建设阶段
|
||||
- button "规划形式" [ref=e35] [cursor=pointer]:
|
||||
- img [ref=e36]
|
||||
- generic [ref=e41]: 规划形式
|
||||
- region "年度总费用图表" [ref=e42]:
|
||||
- generic [ref=e43]:
|
||||
- button "纵坐标:造价(元)" [ref=e45] [cursor=pointer]: 造价(元)
|
||||
- generic [ref=e46]:
|
||||
- figure "图表,共有0个系列":
|
||||
- generic [ref=e47]:
|
||||
- img "interactive chart":
|
||||
- generic:
|
||||
- img
|
||||
- img
|
||||
- region [ref=e48]
|
||||
- toolbar "标注" [ref=e49]:
|
||||
- button "库" [ref=e50] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: 库
|
||||
- button "树" [ref=e51] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: 树
|
||||
- button "均" [ref=e52] [cursor=pointer]:
|
||||
- generic: 均
|
||||
- button "Line Tool" [disabled] [ref=e53]
|
||||
- button "Text Tool" [disabled] [ref=e54]
|
||||
- button "Shape Tool" [disabled] [ref=e55]
|
||||
- button "Fibonacci Tool" [disabled] [ref=e56]
|
||||
- button "全屏(F11)" [ref=e57] [cursor=pointer]
|
||||
- button "Clear annotations" [disabled] [ref=e58]
|
||||
- status:
|
||||
- generic: 请选择右侧分类项
|
||||
- toolbar "缩放" [ref=e59]:
|
||||
- button "缩小" [disabled] [ref=e60]
|
||||
- button "放大" [ref=e61] [cursor=pointer]
|
||||
- button "左移" [disabled] [ref=e62]
|
||||
- button "右移" [disabled] [ref=e63]
|
||||
- button "重置" [disabled] [ref=e64]
|
||||
- complementary "选择内容" [ref=e65]:
|
||||
- tablist "选择内容切换项" [ref=e66]:
|
||||
- tab "自然地理区位" [selected] [ref=e67] [cursor=pointer]
|
||||
- tab "设施类别" [ref=e68] [cursor=pointer]
|
||||
- tab "建筑功能" [ref=e69] [cursor=pointer]
|
||||
- tab "建设阶段" [ref=e70] [cursor=pointer]
|
||||
- tab "规划形式" [ref=e71] [cursor=pointer]
|
||||
- generic [ref=e72]:
|
||||
- generic [ref=e73]: 自然地理区位
|
||||
- generic [ref=e74]: 加载中
|
||||
84
.playwright-mcp/page-2026-05-13T08-22-19-114Z.yml
Normal file
84
.playwright-mcp/page-2026-05-13T08-22-19-114Z.yml
Normal file
@ -0,0 +1,84 @@
|
||||
- main [ref=e3]:
|
||||
- generic:
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- generic: 众为数字化管理平台
|
||||
- region "年度费用模板" [ref=e4]:
|
||||
- generic "筛选条件" [ref=e5]:
|
||||
- button "省市区" [ref=e6] [cursor=pointer]:
|
||||
- img [ref=e7]
|
||||
- generic [ref=e11]: 省市区
|
||||
- button "自然地理区位" [ref=e12] [cursor=pointer]:
|
||||
- img [ref=e13]
|
||||
- generic [ref=e16]: 自然地理区位
|
||||
- button "设施类别" [ref=e17] [cursor=pointer]:
|
||||
- img [ref=e18]
|
||||
- generic [ref=e22]: 设施类别
|
||||
- button "建筑功能" [ref=e23] [cursor=pointer]:
|
||||
- img [ref=e24]
|
||||
- generic [ref=e27]: 建筑功能
|
||||
- button "建设阶段" [ref=e28] [cursor=pointer]:
|
||||
- img [ref=e29]
|
||||
- generic [ref=e34]: 建设阶段
|
||||
- button "规划形式" [ref=e35] [cursor=pointer]:
|
||||
- img [ref=e36]
|
||||
- generic [ref=e41]: 规划形式
|
||||
- region "年度总费用图表" [ref=e42]:
|
||||
- generic [ref=e43]:
|
||||
- button "纵坐标:造价(元)" [ref=e45] [cursor=pointer]: 造价(元)
|
||||
- generic [ref=e46]:
|
||||
- figure "图表,共有0个系列":
|
||||
- generic [ref=e47]:
|
||||
- img "interactive chart":
|
||||
- generic:
|
||||
- img
|
||||
- img
|
||||
- region [ref=e48]
|
||||
- toolbar "标注" [ref=e49]:
|
||||
- button "库" [ref=e50] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: 库
|
||||
- button "树" [ref=e51] [cursor=pointer]:
|
||||
- generic:
|
||||
- generic: 树
|
||||
- button "均" [ref=e52] [cursor=pointer]:
|
||||
- generic: 均
|
||||
- button "Line Tool" [disabled] [ref=e53]
|
||||
- button "Text Tool" [disabled] [ref=e54]
|
||||
- button "Shape Tool" [disabled] [ref=e55]
|
||||
- button "Fibonacci Tool" [disabled] [ref=e56]
|
||||
- button "全屏(F11)" [ref=e57] [cursor=pointer]
|
||||
- button "Clear annotations" [disabled] [ref=e58]
|
||||
- status:
|
||||
- generic: 请选择右侧分类项
|
||||
- toolbar "缩放" [ref=e59]:
|
||||
- button "缩小" [disabled] [ref=e60]
|
||||
- button "放大" [ref=e61] [cursor=pointer]
|
||||
- button "左移" [disabled] [ref=e62]
|
||||
- button "右移" [disabled] [ref=e63]
|
||||
- button "重置" [disabled] [ref=e64]
|
||||
- complementary "选择内容" [ref=e65]:
|
||||
- tablist "选择内容切换项" [ref=e66]:
|
||||
- tab "自然地理区位" [selected] [ref=e67] [cursor=pointer]
|
||||
- tab "设施类别" [ref=e68] [cursor=pointer]
|
||||
- tab "建筑功能" [ref=e69] [cursor=pointer]
|
||||
- tab "建设阶段" [ref=e70] [cursor=pointer]
|
||||
- tab "规划形式" [ref=e71] [cursor=pointer]
|
||||
- generic [ref=e72]:
|
||||
- generic [ref=e73]: 自然地理区位
|
||||
- generic [ref=e74]: 加载中
|
||||
@ -1,10 +1,10 @@
|
||||
# 组团趋势图
|
||||
# 建筑设施对象趋势图
|
||||
|
||||
这是一个基于 `React + AG Charts` 的组团趋势图页面,用来查看不同分类维度下的年度统计趋势,并通过右侧筛选条件联动图表结果。
|
||||
这是一个基于 `React + AG Charts` 的建筑设施对象趋势图页面,用来查看不同分类维度下的年度统计趋势,并通过右侧筛选条件联动图表结果。
|
||||
|
||||
## 功能
|
||||
|
||||
- 左侧展示组团趋势图,支持最低值、最高值、平均值、中位数和数据量切换
|
||||
- 左侧展示建筑设施对象趋势图,支持最低值、最高值、平均值、中位数和数据量切换
|
||||
- 右侧展示分类树,支持按 `自然地理区位 / 设施类别 / 建设阶段 / 规划形式` 选择节点
|
||||
- 筛选条件支持 `省市区`,后端会根据 `uf_xzqy` 展开到区级 `id` 后再过滤
|
||||
- 支持搜索筛选树节点,支持多条件叠加
|
||||
|
||||
16
bun.lock
16
bun.lock
@ -8,6 +8,8 @@
|
||||
"ag-charts-community": "^13.2.1",
|
||||
"ag-charts-enterprise": "13.2.1",
|
||||
"ag-charts-react": "^13.2.1",
|
||||
"ag-grid-community": "^35.3.0",
|
||||
"ag-grid-react": "^35.3.0",
|
||||
"lucide-react": "^1.14.0",
|
||||
"react": "^19.1.0",
|
||||
"react-dom": "^19.1.0",
|
||||
@ -202,6 +204,10 @@
|
||||
|
||||
"ag-charts-types": ["ag-charts-types@13.2.1", "", {}, "sha512-r7veb3QqJtIKlXmeUsLR4/oDPwmHxFI2tmbZra/203mdaz3uwQUrrgYNg628nrK+7L2YxXnwGc6L05tWjLLjNQ=="],
|
||||
|
||||
"ag-grid-community": ["ag-grid-community@35.3.0", "", { "dependencies": { "ag-charts-types": "13.3.0" } }, "sha512-c9WQWB88J965IjBC/GPUX30aAZix10o6oYT86DWipcxgLZTIQlLSilJJEr1bno/245rPEAIMjhoU1gp9VIfURg=="],
|
||||
|
||||
"ag-grid-react": ["ag-grid-react@35.3.0", "", { "dependencies": { "ag-grid-community": "35.3.0", "prop-types": "^15.8.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-3c6YEFGQGNZxEi1PdK0b+WhKkKRJ7KxuYzsG4UmISyax5/J7N93f8B1TZK1pq+AgzPhdk/++vjZe3KhFdF3tog=="],
|
||||
|
||||
"baseline-browser-mapping": ["baseline-browser-mapping@2.10.27", "", { "bin": { "baseline-browser-mapping": "dist/cli.cjs" } }, "sha512-zEs/ufmZoUd7WftKpKyXaT6RFxpQ5Qm9xytKRHvJfxFV9DFJkZph9RvJ1LcOUi0Z1ZVijMte65JbILeV+8QQEA=="],
|
||||
|
||||
"browserslist": ["browserslist@4.28.2", "", { "dependencies": { "baseline-browser-mapping": "^2.10.12", "caniuse-lite": "^1.0.30001782", "electron-to-chromium": "^1.5.328", "node-releases": "^2.0.36", "update-browserslist-db": "^1.2.3" }, "bin": { "browserslist": "cli.js" } }, "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg=="],
|
||||
@ -232,6 +238,8 @@
|
||||
|
||||
"json5": ["json5@2.2.3", "", { "bin": { "json5": "lib/cli.js" } }, "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="],
|
||||
|
||||
"loose-envify": ["loose-envify@1.4.0", "", { "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, "bin": { "loose-envify": "cli.js" } }, "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q=="],
|
||||
|
||||
"lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="],
|
||||
|
||||
"lucide-react": ["lucide-react@1.14.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-+1mdWcfSJVUsaTIjN9zoezmUhfXo5l0vP7ekBMPo3jcS/aIkxHnXqAPsByszMZx/Y8oQBRJxJx5xg+RH3urzxA=="],
|
||||
@ -242,16 +250,22 @@
|
||||
|
||||
"node-releases": ["node-releases@2.0.38", "", {}, "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw=="],
|
||||
|
||||
"object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="],
|
||||
|
||||
"picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="],
|
||||
|
||||
"picomatch": ["picomatch@4.0.4", "", {}, "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A=="],
|
||||
|
||||
"postcss": ["postcss@8.5.14", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg=="],
|
||||
|
||||
"prop-types": ["prop-types@15.8.1", "", { "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", "react-is": "^16.13.1" } }, "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg=="],
|
||||
|
||||
"react": ["react@19.2.5", "", {}, "sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA=="],
|
||||
|
||||
"react-dom": ["react-dom@19.2.5", "", { "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { "react": "^19.2.5" } }, "sha512-J5bAZz+DXMMwW/wV3xzKke59Af6CHY7G4uYLN1OvBcKEsWOs4pQExj86BBKamxl/Ik5bx9whOrvBlSDfWzgSag=="],
|
||||
|
||||
"react-is": ["react-is@16.13.1", "", {}, "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="],
|
||||
|
||||
"react-refresh": ["react-refresh@0.18.0", "", {}, "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw=="],
|
||||
|
||||
"rollup": ["rollup@4.60.3", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.60.3", "@rollup/rollup-android-arm64": "4.60.3", "@rollup/rollup-darwin-arm64": "4.60.3", "@rollup/rollup-darwin-x64": "4.60.3", "@rollup/rollup-freebsd-arm64": "4.60.3", "@rollup/rollup-freebsd-x64": "4.60.3", "@rollup/rollup-linux-arm-gnueabihf": "4.60.3", "@rollup/rollup-linux-arm-musleabihf": "4.60.3", "@rollup/rollup-linux-arm64-gnu": "4.60.3", "@rollup/rollup-linux-arm64-musl": "4.60.3", "@rollup/rollup-linux-loong64-gnu": "4.60.3", "@rollup/rollup-linux-loong64-musl": "4.60.3", "@rollup/rollup-linux-ppc64-gnu": "4.60.3", "@rollup/rollup-linux-ppc64-musl": "4.60.3", "@rollup/rollup-linux-riscv64-gnu": "4.60.3", "@rollup/rollup-linux-riscv64-musl": "4.60.3", "@rollup/rollup-linux-s390x-gnu": "4.60.3", "@rollup/rollup-linux-x64-gnu": "4.60.3", "@rollup/rollup-linux-x64-musl": "4.60.3", "@rollup/rollup-openbsd-x64": "4.60.3", "@rollup/rollup-openharmony-arm64": "4.60.3", "@rollup/rollup-win32-arm64-msvc": "4.60.3", "@rollup/rollup-win32-ia32-msvc": "4.60.3", "@rollup/rollup-win32-x64-gnu": "4.60.3", "@rollup/rollup-win32-x64-msvc": "4.60.3", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A=="],
|
||||
@ -271,5 +285,7 @@
|
||||
"vite": ["vite@7.3.2", "", { "dependencies": { "esbuild": "^0.27.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-Bby3NOsna2jsjfLVOHKes8sGwgl4TT0E6vvpYgnAYDIF/tie7MRaFthmKuHx1NSXjiTueXH3do80FMQgvEktRg=="],
|
||||
|
||||
"yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="],
|
||||
|
||||
"ag-grid-community/ag-charts-types": ["ag-charts-types@13.3.0", "", {}, "sha512-UMoAn908LC4ZIJSNfUckSBEFa79Mi1vFRA8qIRx+NusEuuFgXDioCZx4MxM7O3rDXlxTWH9DvQmcDjh7vyd89w=="],
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
<title>AG Chart Service</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="zbChart"></div>
|
||||
<div id="sbChart"></div>
|
||||
<script type="module" src="/src/main.tsx"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -13,6 +13,8 @@
|
||||
"ag-charts-community": "^13.2.1",
|
||||
"ag-charts-enterprise": "13.2.1",
|
||||
"ag-charts-react": "^13.2.1",
|
||||
"ag-grid-community": "^35.3.0",
|
||||
"ag-grid-react": "^35.3.0",
|
||||
"lucide-react": "^1.14.0",
|
||||
"react": "^19.1.0",
|
||||
"react-dom": "^19.1.0"
|
||||
|
||||
834
src/App.tsx
834
src/App.tsx
File diff suppressed because it is too large
Load Diff
23
src/main.tsx
23
src/main.tsx
@ -8,16 +8,29 @@ ModuleRegistry.registerModules([AllCommunityModule]);
|
||||
|
||||
declare global {
|
||||
interface Window {
|
||||
__zbChartRoot?: ReturnType<typeof createRoot>;
|
||||
__chartReactRoots?: WeakMap<Element, ReturnType<typeof createRoot>>;
|
||||
}
|
||||
}
|
||||
|
||||
const chartContainerId = 'sbChart';
|
||||
|
||||
const getRootRegistry = () => {
|
||||
window.__chartReactRoots ??= new WeakMap<Element, ReturnType<typeof createRoot>>();
|
||||
return window.__chartReactRoots;
|
||||
};
|
||||
|
||||
const mount = () => {
|
||||
const container = document.getElementById('zbChart');
|
||||
const container = document.getElementById(chartContainerId);
|
||||
if (!container) return false;
|
||||
|
||||
window.__zbChartRoot ??= createRoot(container);
|
||||
window.__zbChartRoot.render(
|
||||
const roots = getRootRegistry();
|
||||
let root = roots.get(container);
|
||||
if (!root) {
|
||||
root = createRoot(container);
|
||||
roots.set(container, root);
|
||||
}
|
||||
|
||||
root.render(
|
||||
<StrictMode>
|
||||
<App />
|
||||
</StrictMode>,
|
||||
@ -32,7 +45,7 @@ if (!mount()) {
|
||||
if (mount() || retryCount >= 40) {
|
||||
window.clearInterval(timer);
|
||||
if (retryCount >= 40) {
|
||||
console.warn('zbChart container was not found.');
|
||||
console.warn(`${chartContainerId} container was not found.`);
|
||||
}
|
||||
}
|
||||
}, 50);
|
||||
|
||||
253
src/styles.css
253
src/styles.css
@ -69,10 +69,18 @@ button {
|
||||
gap: 12px 28px;
|
||||
height: 100vh;
|
||||
padding: 30px 28px 18px 64px;
|
||||
transition: grid-template-columns 160ms ease, gap 160ms ease;
|
||||
}
|
||||
|
||||
.workspace.is-right-panel-collapsed {
|
||||
grid-template-columns: minmax(0, 1fr) 34px;
|
||||
gap: 12px 12px;
|
||||
}
|
||||
|
||||
.chart-area {
|
||||
display: grid;
|
||||
grid-column: 1;
|
||||
grid-row: 2;
|
||||
grid-template-rows: minmax(0, 1fr);
|
||||
min-width: 0;
|
||||
}
|
||||
@ -251,6 +259,11 @@ button {
|
||||
background: #f5e8d8;
|
||||
}
|
||||
|
||||
.workspace:fullscreen.is-right-panel-collapsed {
|
||||
grid-template-columns: minmax(0, 1fr) 34px;
|
||||
gap: 12px 12px;
|
||||
}
|
||||
|
||||
.workspace:fullscreen .chart-area {
|
||||
min-height: 0;
|
||||
}
|
||||
@ -361,12 +374,20 @@ button {
|
||||
|
||||
.chart-frame .chart-template-button,
|
||||
.chart-frame .chart-indicator-button,
|
||||
.chart-frame .chart-statistic-button {
|
||||
.chart-frame .chart-statistic-button,
|
||||
.chart-frame .chart-pivot-button,
|
||||
.chart-frame .chart-fullscreen-button {
|
||||
color: #46413b;
|
||||
cursor: pointer !important;
|
||||
opacity: 1 !important;
|
||||
overflow: visible !important;
|
||||
pointer-events: auto !important;
|
||||
}
|
||||
|
||||
.chart-frame .ag-charts-myButton-template,
|
||||
.chart-frame .ag-charts-myButton-indicator {
|
||||
.chart-frame .ag-charts-myButton-indicator,
|
||||
.chart-frame .ag-charts-myButton-pivot {
|
||||
position: relative;
|
||||
display: block;
|
||||
min-width: 16px;
|
||||
height: 16px;
|
||||
@ -376,20 +397,146 @@ button {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.chart-indicator-selection-label {
|
||||
position: absolute;
|
||||
left: 28px;
|
||||
top: 6px;
|
||||
z-index: 3;
|
||||
max-width: min(560px, calc(100vw - 56px));
|
||||
padding: 0;
|
||||
border: 0;
|
||||
border-radius: 0;
|
||||
color: #0078a8;
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
line-height: 20px;
|
||||
overflow: hidden;
|
||||
pointer-events: none;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.workspace:fullscreen .chart-indicator-selection-label {
|
||||
left: 28px;
|
||||
top: 6px;
|
||||
}
|
||||
|
||||
.chart-frame .chart-template-button[aria-expanded="true"],
|
||||
.chart-frame .chart-indicator-button[aria-expanded="true"],
|
||||
.chart-frame .chart-statistic-button[aria-expanded="true"] {
|
||||
.chart-frame .chart-statistic-button[aria-expanded="true"],
|
||||
.chart-frame .chart-pivot-button.ag-charts-toolbar__button--active,
|
||||
.chart-frame .chart-fullscreen-button.ag-charts-toolbar__button--active {
|
||||
color: #0078a8;
|
||||
border-color: rgba(0, 120, 168, 0.36);
|
||||
background: rgba(255, 252, 248, 0.94);
|
||||
box-shadow: 0 1px 5px rgba(69, 54, 36, 0.12);
|
||||
}
|
||||
|
||||
.chart-pivot-grid-panel {
|
||||
position: absolute;
|
||||
inset: 16px 0 0;
|
||||
z-index: 10;
|
||||
min-width: 0;
|
||||
min-height: 0;
|
||||
padding: 12px 16px 16px 74px;
|
||||
border: 1px solid rgba(90, 82, 72, 0.22);
|
||||
border-radius: 3px;
|
||||
background: rgba(255, 249, 241, 0.96);
|
||||
box-shadow: 0 6px 18px rgba(69, 54, 36, 0.08);
|
||||
}
|
||||
|
||||
.chart-pivot-grid-panel .ag-root-wrapper {
|
||||
border-color: rgba(90, 82, 72, 0.18);
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.chart-grid-tool-button {
|
||||
position: absolute;
|
||||
left: 24px;
|
||||
z-index: 12;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
min-width: 26px;
|
||||
min-height: 26px;
|
||||
padding: 0;
|
||||
border: 1px solid rgba(90, 82, 72, 0.22);
|
||||
border-radius: 3px;
|
||||
color: #46413b;
|
||||
background: rgba(255, 249, 241, 0.72);
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
line-height: 24px;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.chart-grid-tool-button--template {
|
||||
top: 12px;
|
||||
}
|
||||
|
||||
.chart-grid-tool-button--indicator {
|
||||
top: 46px;
|
||||
}
|
||||
|
||||
.chart-grid-tool-button--trend {
|
||||
top: 80px;
|
||||
}
|
||||
|
||||
.chart-grid-tool-button--fullscreen {
|
||||
top: 114px;
|
||||
}
|
||||
|
||||
.chart-grid-tool-button:hover {
|
||||
color: #0078a8;
|
||||
border-color: rgba(0, 120, 168, 0.36);
|
||||
background: rgba(255, 252, 248, 0.94);
|
||||
box-shadow: 0 1px 5px rgba(69, 54, 36, 0.12);
|
||||
}
|
||||
|
||||
.chart-pivot-grid-panel.ag-theme-quartz {
|
||||
--ag-active-color: #0078a8;
|
||||
--ag-background-color: #fffaf4;
|
||||
--ag-border-color: rgba(90, 82, 72, 0.18);
|
||||
--ag-cell-horizontal-padding: 6px;
|
||||
--ag-font-family: "Microsoft YaHei", "PingFang SC", "Segoe UI", Arial, sans-serif;
|
||||
--ag-font-size: 12px;
|
||||
--ag-foreground-color: #262a33;
|
||||
--ag-header-cell-horizontal-padding: 6px;
|
||||
--ag-header-background-color: #f6eadc;
|
||||
--ag-row-hover-color: rgba(0, 120, 168, 0.08);
|
||||
}
|
||||
|
||||
.chart-pivot-grid-panel .ag-header-cell,
|
||||
.chart-pivot-grid-panel .ag-header-group-cell {
|
||||
padding-left: 6px;
|
||||
padding-right: 6px;
|
||||
}
|
||||
|
||||
.chart-pivot-grid-panel .ag-cell {
|
||||
padding-left: 6px;
|
||||
padding-right: 6px;
|
||||
}
|
||||
|
||||
.chart-pivot-grid-panel .ag-header-cell-label,
|
||||
.chart-pivot-grid-panel .ag-header-group-cell-label {
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.metric-switcher {
|
||||
position: absolute;
|
||||
z-index: 12;
|
||||
}
|
||||
|
||||
.metric-switcher--chart {
|
||||
left: 74px;
|
||||
top: 272px;
|
||||
z-index: 12;
|
||||
}
|
||||
|
||||
.metric-switcher--grid {
|
||||
left: 24px;
|
||||
top: 148px;
|
||||
}
|
||||
|
||||
.metric-switcher-button {
|
||||
@ -415,6 +562,23 @@ button {
|
||||
text-orientation: upright;
|
||||
}
|
||||
|
||||
.metric-switcher-button--grid {
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
min-width: 26px;
|
||||
min-height: 26px;
|
||||
padding: 0;
|
||||
border-color: rgba(90, 82, 72, 0.22);
|
||||
color: #46413b;
|
||||
background: rgba(255, 249, 241, 0.72);
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0;
|
||||
line-height: 24px;
|
||||
writing-mode: horizontal-tb;
|
||||
text-orientation: mixed;
|
||||
}
|
||||
|
||||
.metric-switcher-button:hover,
|
||||
.metric-switcher-button[aria-expanded="true"] {
|
||||
color: #0078a8;
|
||||
@ -532,15 +696,19 @@ button {
|
||||
box-shadow: 0 1px 5px rgba(69, 54, 36, 0.12);
|
||||
}
|
||||
|
||||
.chart-frame .ag-charts-myButton-fullScreen {
|
||||
.chart-frame .ag-charts-myButton-fullScreen,
|
||||
.chart-grid-tool-button .ag-charts-myButton-fullScreen {
|
||||
position: relative;
|
||||
display: block;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin: 4px auto;
|
||||
}
|
||||
|
||||
.chart-frame .ag-charts-myButton-fullScreen::before,
|
||||
.chart-frame .ag-charts-myButton-fullScreen::after {
|
||||
.chart-frame .ag-charts-myButton-fullScreen::after,
|
||||
.chart-grid-tool-button .ag-charts-myButton-fullScreen::before,
|
||||
.chart-grid-tool-button .ag-charts-myButton-fullScreen::after {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
display: block;
|
||||
@ -549,19 +717,22 @@ button {
|
||||
content: "";
|
||||
}
|
||||
|
||||
.chart-frame .anticon-arrow-salt::before {
|
||||
.chart-frame .anticon-arrow-salt::before,
|
||||
.chart-grid-tool-button .anticon-arrow-salt::before {
|
||||
border-top: 1px solid currentColor;
|
||||
border-right: 1px solid currentColor;
|
||||
clip-path: polygon(54% 0, 100% 0, 100% 46%, 86% 46%, 86% 14%, 54% 14%);
|
||||
}
|
||||
|
||||
.chart-frame .anticon-arrow-salt::after {
|
||||
.chart-frame .anticon-arrow-salt::after,
|
||||
.chart-grid-tool-button .anticon-arrow-salt::after {
|
||||
border-bottom: 1px solid currentColor;
|
||||
border-left: 1px solid currentColor;
|
||||
clip-path: polygon(0 54%, 14% 54%, 14% 86%, 46% 86%, 46% 100%, 0 100%);
|
||||
}
|
||||
|
||||
.chart-frame .anticon-shrink::before {
|
||||
.chart-frame .anticon-shrink::before,
|
||||
.chart-grid-tool-button .anticon-shrink::before {
|
||||
top: 2px;
|
||||
left: 2px;
|
||||
width: 6px;
|
||||
@ -570,7 +741,8 @@ button {
|
||||
border-bottom: 1px solid currentColor;
|
||||
}
|
||||
|
||||
.chart-frame .anticon-shrink::after {
|
||||
.chart-frame .anticon-shrink::after,
|
||||
.chart-grid-tool-button .anticon-shrink::after {
|
||||
right: 2px;
|
||||
bottom: 2px;
|
||||
left: auto;
|
||||
@ -593,6 +765,8 @@ button {
|
||||
|
||||
.right-panel {
|
||||
display: grid;
|
||||
grid-column: 2;
|
||||
grid-row: 2;
|
||||
grid-template-rows: auto minmax(0, 1fr);
|
||||
min-width: 0;
|
||||
height: 100%;
|
||||
@ -601,6 +775,52 @@ button {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.right-panel-toggle {
|
||||
display: inline-grid;
|
||||
grid-column: 2;
|
||||
grid-row: 2;
|
||||
justify-self: end;
|
||||
align-self: start;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
place-items: center;
|
||||
padding: 0;
|
||||
border: 1px solid rgba(90, 82, 72, 0.18);
|
||||
border-radius: 3px;
|
||||
color: #46413b;
|
||||
background: rgba(255, 249, 241, 0.82);
|
||||
cursor: pointer;
|
||||
z-index: 4;
|
||||
}
|
||||
|
||||
.right-panel-toggle:hover,
|
||||
.right-panel-toggle:focus-visible {
|
||||
color: #0078a8;
|
||||
border-color: rgba(0, 120, 168, 0.36);
|
||||
background: rgba(255, 252, 248, 0.96);
|
||||
box-shadow: 0 1px 5px rgba(69, 54, 36, 0.12);
|
||||
}
|
||||
|
||||
.right-panel-toggle:focus-visible {
|
||||
outline: 2px solid rgba(0, 120, 168, 0.28);
|
||||
outline-offset: 2px;
|
||||
}
|
||||
|
||||
.right-panel-toggle-icon {
|
||||
display: block;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
.workspace.is-right-panel-collapsed .right-panel {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.workspace.is-right-panel-collapsed .right-panel-toggle {
|
||||
position: sticky;
|
||||
top: 24px;
|
||||
}
|
||||
|
||||
.content-tabs {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@ -971,14 +1191,27 @@ button {
|
||||
padding: 8px 18px 18px 56px;
|
||||
}
|
||||
|
||||
.workspace.is-right-panel-collapsed {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.chart-area {
|
||||
grid-row: 2;
|
||||
min-height: 520px;
|
||||
}
|
||||
|
||||
.right-panel {
|
||||
grid-column: 1;
|
||||
grid-row: 3;
|
||||
min-height: 280px;
|
||||
}
|
||||
|
||||
.right-panel-toggle {
|
||||
grid-column: 1;
|
||||
grid-row: 3;
|
||||
justify-self: end;
|
||||
}
|
||||
|
||||
.content-tabs {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
@ -1 +1 @@
|
||||
$ vite --host 0.0.0.0 --port "5173"
|
||||
$ vite --host 0.0.0.0 --port "5174"
|
||||
|
||||
233
vite-dev.log
233
vite-dev.log
@ -1,237 +1,8 @@
|
||||
Port 5173 is in use, trying another one...
|
||||
|
||||
[32m[1mVITE[22m v7.3.2[39m [2mready in [0m[1m271[22m[2m[0m ms[22m
|
||||
[32m[1mVITE[22m v7.3.2[39m [2mready in [0m[1m306[22m[2m[0m ms[22m
|
||||
|
||||
[32m➜[39m [1mLocal[22m: [36mhttp://localhost:[1m5174[22m/[39m
|
||||
[32m➜[39m [1mNetwork[22m: [36mhttp://198.18.0.1:[1m5174[22m/[39m
|
||||
[32m➜[39m [1mNetwork[22m: [36mhttp://100.106.162.120:[1m5174[22m/[39m
|
||||
[32m➜[39m [1mNetwork[22m: [36mhttp://192.168.1.155:[1m5174[22m/[39m
|
||||
[32m➜[39m [1mNetwork[22m: [36mhttp://172.31.112.1:[1m5174[22m/[39m
|
||||
[2m[32m ➜[39m[22m[2m press [22m[1mh + enter[22m[2m to show help[22m
|
||||
[2m15:45:13[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m15:45:39[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m15:59:24[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m15:59:52[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m16:00:28[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m16:00:58[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m16:06:48[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m16:07:28[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m16:07:28[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32m✨ new dependencies optimized: [33mag-charts-enterprise, ag-charts-locale[32m[39m
|
||||
[2m16:07:28[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32m✨ optimized dependencies changed. reloading[39m
|
||||
[2m16:07:47[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m16:08:26[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m16:09:28[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m16:11:07[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m16:11:48[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m16:13:15[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m16:17:34[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m16:18:10[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m16:22:30[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m16:23:11[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m16:24:37[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m16:25:42[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mpage reload [39m[2mdemo.html[22m
|
||||
[2m16:25:42[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mpage reload [39m[2mdemo.html[22m
|
||||
[2m16:27:28[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m16:28:39[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m16:32:10[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m16:33:55[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m16:38:49[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m16:39:34[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m16:46:57[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m16:47:20[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m16:53:41[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m16:54:18[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m16:59:35[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m17:01:23[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m17:03:24[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m17:06:50[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m17:29:44[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m17:29:52[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m17:32:17[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m17:32:43[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m17:34:33[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m17:40:09[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m17:40:37[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m17:41:32[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m17:42:39[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m17:44:42[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m09:11:33[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m09:11:59[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m09:14:42[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m09:15:32[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m09:18:16[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m09:18:28[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m09:35:28[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m09:35:53[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m09:35:53[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m09:36:43[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m09:40:50[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m09:41:06[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m09:42:18[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m09:55:02[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m09:55:36[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m09:55:49[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m10:07:23[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m10:26:33[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m10:27:25[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m10:27:56[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m11:14:09[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m11:16:09[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mpage reload [39m[2mzbChart/index.html[22m
|
||||
[2m11:17:29[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mpage reload [39m[2mindex.html[22m
|
||||
[2m11:17:43[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mpage reload [39m[2msrc/main.tsx[22m
|
||||
[2m11:32:17[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mpage reload [39m[2msrc/main.tsx[22m
|
||||
[2m11:35:33[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m11:35:45[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m11:49:29[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m11:52:03[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m11:53:37[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m11:57:22[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m11:59:02[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m15:00:25[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m15:14:46[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m15:14:56[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m15:15:05[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m15:15:18[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m15:15:29[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m15:15:39[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m15:15:49[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m15:54:06[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m15:54:29[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m16:29:28[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m16:29:37[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m17:53:09[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m17:53:24[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m17:54:53[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m17:55:03[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m18:10:22[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m09:43:29[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mpage reload [39m[2mzbChart/index.html[22m
|
||||
[2m09:43:43[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mpage reload [39m[2mdemo.html[22m
|
||||
[2m09:44:24[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m09:47:32[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m09:56:50[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m10:03:05[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m10:04:28[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m10:04:35[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m10:06:06[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m10:06:25[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m14:21:06[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m14:26:18[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m14:26:51[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m14:28:15[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m14:28:24[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m15:07:03[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m15:07:31[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m15:08:11[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m15:13:59[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m16:47:31[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m16:48:22[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m16:48:32[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m17:00:07[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m17:15:44[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m18:06:45[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m18:07:01[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m18:07:22[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m18:07:43[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m18:08:03[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m18:08:20[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m18:08:55[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m18:09:09[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m18:09:41[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m18:10:20[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m18:11:00[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m09:08:22[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m09:09:58[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m09:10:10[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m09:12:48[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m09:24:09[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m09:24:54[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m09:25:33[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m09:25:55[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m09:31:55[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m09:32:05[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m09:32:12[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m09:32:32[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m09:45:56[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m10:00:51[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m10:01:08[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m10:01:23[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m10:01:36[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m10:01:46[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m10:01:56[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m10:02:58[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m10:08:33[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m10:08:56[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m10:09:20[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m10:09:29[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m10:12:15[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/styles.css[22m
|
||||
[2m10:17:02[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m10:54:20[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m10:54:44[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m10:59:54[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m11:00:16[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m11:00:32[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m11:00:55[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m11:12:15[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m11:16:52[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m11:20:34[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m11:22:39[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m11:30:32[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m11:42:14[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m11:48:40[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m12:07:11[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m12:07:25[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m12:07:50[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m14:44:40[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m14:47:46[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m14:48:15[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m14:51:05[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m15:13:54[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m15:14:22[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m15:17:54[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m15:18:05[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m15:18:58[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m15:37:07[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m15:37:17[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m15:44:06[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m16:32:19[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
[2m17:15:32[22m [36m[1m[vite][22m[39m [90m[2m(client)[22m[39m [32mhmr update [39m[2m/src/App.tsx[22m
|
||||
| ||||