perf: admin

This commit is contained in:
archer
2023-06-30 10:56:34 +08:00
parent c411ca4bd4
commit a4e2c6510f
4 changed files with 107 additions and 13 deletions

View File

@@ -16,13 +16,20 @@ import dayjs from 'dayjs';
const authStorageKey = 'tushan:auth';
const PRICE_SCALE = 100000;
type fetchChatData = { count: number; date: string; increase?: number; increaseRate?: string };
type fetchChatData = {
count: number;
total?: number;
date: string;
increase?: number;
increaseRate?: string;
};
type chatDataType = {
date: string;
userCount: number;
userIncrease?: number;
userIncreaseRate?: string;
payTotal: number;
payCount: number;
};
@@ -84,7 +91,8 @@ export const Dashboard: React.FC = React.memo(() => {
userCount: item.count,
userIncrease: item.increase,
userIncreaseRate: item.increaseRate,
payCount: pay ? pay.count / PRICE_SCALE : 0
payCount: pay ? pay.count / PRICE_SCALE : 0,
payTotal: pay?.total ? pay.total / PRICE_SCALE : 0
};
});
setChatData(data);
@@ -208,10 +216,13 @@ const CustomTooltip = ({ active, payload }: any) => {
: <strong>{data.userCount}</strong>
</p>
<p className="label">
: <strong>{data.userIncrease}</strong>
: <strong>{data.userIncrease}</strong>
</p>
<p className="label">
60: <strong>{data.payCount}</strong>
: <strong>{data.payCount}</strong>
</p>
<p className="label">
60: <strong>{data.payTotal}</strong>
</p>
</div>
);
@@ -233,7 +244,7 @@ const UserChart = ({ data }: { data: chatDataType[] }) => {
<stop offset="5%" stopColor="#82ca9d" stopOpacity={0.8} />
<stop offset="95%" stopColor="#82ca9d" stopOpacity={0} />
</linearGradient>
<linearGradient id="payCount" x1="0" y1="0" x2="0" y2="1">
<linearGradient id="payTotal" x1="0" y1="0" x2="0" y2="1">
<stop offset="5%" stopColor="#8884d8" stopOpacity={0.8} />
<stop offset="95%" stopColor="#8884d8" stopOpacity={0} />
</linearGradient>
@@ -251,10 +262,10 @@ const UserChart = ({ data }: { data: chatDataType[] }) => {
/>
<Area
type="monotone"
dataKey="payCount"
dataKey="payTotal"
stroke="#8884d8"
fillOpacity={1}
fill="url(#payCount)"
fill="url(#payTotal)"
/>
</AreaChart>
</ResponsiveContainer>