diff --git a/app/app/(admin)/admin/page.tsx b/app/app/(admin)/admin/page.tsx index c32d89fa9..bc8f813d6 100644 --- a/app/app/(admin)/admin/page.tsx +++ b/app/app/(admin)/admin/page.tsx @@ -1,18 +1,16 @@ // "use client"; import { Grid, Col, Card, Text, AreaChart, Metric } from "@tremor/react"; import UsageAnalysis from "./usage-analysis"; +import EchartsComponent from "./testchart"; export default function AdminPage() { return ( - + - - - Title - KPI 2 - + + ); diff --git a/app/app/(admin)/admin/testchart.tsx b/app/app/(admin)/admin/testchart.tsx new file mode 100644 index 000000000..dedcb1c24 --- /dev/null +++ b/app/app/(admin)/admin/testchart.tsx @@ -0,0 +1,53 @@ +"use client"; +import React, { useEffect } from "react"; +import * as echarts from "echarts"; // 导入 echarts + +const EchartsComponent: React.FC = () => { + useEffect(() => { + var chartDom = document.getElementById("charts"); + var myChart = echarts.init(chartDom); + var option; + + option = { + title: { + text: "Referer of a Website", + subtext: "Fake Data", + left: "center", + }, + tooltip: { + trigger: "item", + }, + legend: { + orient: "vertical", + left: "left", + }, + series: [ + { + name: "Access From", + type: "pie", + radius: "50%", + data: [ + { value: 1048, name: "Search Engine" }, + { value: 735, name: "Direct" }, + { value: 580, name: "Email" }, + { value: 484, name: "Union Ads" }, + { value: 300, name: "Video Ads" }, + ], + emphasis: { + itemStyle: { + shadowBlur: 10, + shadowOffsetX: 0, + shadowColor: "rgba(0, 0, 0, 0.5)", + }, + }, + }, + ], + }; + + option && myChart.setOption(option); + }, []); // 空数组作为第二个参数,表示仅在组件挂载和卸载时执行 + + return
; +}; + +export default EchartsComponent; diff --git a/app/app/(admin)/layout.tsx b/app/app/(admin)/layout.tsx index 8b7376bc6..7f0708649 100644 --- a/app/app/(admin)/layout.tsx +++ b/app/app/(admin)/layout.tsx @@ -12,13 +12,14 @@ export default async function AdminLayout({ children: ReactNode; }) { return ( -
-
-

+
+
+
+

Admin Page

- {children}
+ {children}
); } diff --git a/package.json b/package.json index e03b839e4..b344344db 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "@svgr/webpack": "^8.1.0", "@tremor/react": "^3.12.1", "@vercel/analytics": "^1.1.1", + "echarts": "^5.4.3", "emoji-picker-react": "^4.5.15", "fuse.js": "^7.0.0", "html-to-image": "^1.11.11",