|
|
@@ -1,4 +1,5 @@
|
|
|
import React from 'react';
|
|
|
+import { useNavigate } from 'react-router';
|
|
|
import { Users, Bell, Eye, TrendingUp, TrendingDown, Activity } from 'lucide-react';
|
|
|
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/client/components/ui/card';
|
|
|
import { Badge } from '@/client/components/ui/badge';
|
|
|
@@ -6,6 +7,7 @@ import { Progress } from '@/client/components/ui/progress';
|
|
|
|
|
|
// 仪表盘页面
|
|
|
export const DashboardPage = () => {
|
|
|
+ const navigate = useNavigate();
|
|
|
const stats = [
|
|
|
{
|
|
|
title: '活跃用户',
|
|
|
@@ -93,6 +95,25 @@ export const DashboardPage = () => {
|
|
|
},
|
|
|
];
|
|
|
|
|
|
+ const handleQuickActionClick = (action: string) => {
|
|
|
+ switch (action) {
|
|
|
+ case 'users':
|
|
|
+ navigate('/admin/users');
|
|
|
+ break;
|
|
|
+ case 'settings':
|
|
|
+ navigate('/admin/settings');
|
|
|
+ break;
|
|
|
+ case 'backup':
|
|
|
+ navigate('/admin/backup');
|
|
|
+ break;
|
|
|
+ case 'logs':
|
|
|
+ navigate('/admin/logs');
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
return (
|
|
|
<div className="space-y-6">
|
|
|
<div>
|
|
|
@@ -205,25 +226,37 @@ export const DashboardPage = () => {
|
|
|
</CardHeader>
|
|
|
<CardContent>
|
|
|
<div className="grid gap-4 md:grid-cols-2 lg:grid-cols-4">
|
|
|
- <Card className="hover:shadow-md transition-all cursor-pointer">
|
|
|
+ <Card
|
|
|
+ className="hover:shadow-md transition-all cursor-pointer"
|
|
|
+ onClick={() => handleQuickActionClick('users')}
|
|
|
+ >
|
|
|
<CardHeader className="pb-3">
|
|
|
<CardTitle className="text-base">用户管理</CardTitle>
|
|
|
<CardDescription>查看和管理所有用户</CardDescription>
|
|
|
</CardHeader>
|
|
|
</Card>
|
|
|
- <Card className="hover:shadow-md transition-all cursor-pointer">
|
|
|
+ <Card
|
|
|
+ className="hover:shadow-md transition-all cursor-pointer"
|
|
|
+ onClick={() => handleQuickActionClick('settings')}
|
|
|
+ >
|
|
|
<CardHeader className="pb-3">
|
|
|
<CardTitle className="text-base">系统设置</CardTitle>
|
|
|
<CardDescription>配置系统参数</CardDescription>
|
|
|
</CardHeader>
|
|
|
</Card>
|
|
|
- <Card className="hover:shadow-md transition-all cursor-pointer">
|
|
|
+ <Card
|
|
|
+ className="hover:shadow-md transition-all cursor-pointer"
|
|
|
+ onClick={() => handleQuickActionClick('backup')}
|
|
|
+ >
|
|
|
<CardHeader className="pb-3">
|
|
|
<CardTitle className="text-base">数据备份</CardTitle>
|
|
|
<CardDescription>执行数据备份操作</CardDescription>
|
|
|
</CardHeader>
|
|
|
</Card>
|
|
|
- <Card className="hover:shadow-md transition-all cursor-pointer">
|
|
|
+ <Card
|
|
|
+ className="hover:shadow-md transition-all cursor-pointer"
|
|
|
+ onClick={() => handleQuickActionClick('logs')}
|
|
|
+ >
|
|
|
<CardHeader className="pb-3">
|
|
|
<CardTitle className="text-base">日志查看</CardTitle>
|
|
|
<CardDescription>查看系统日志</CardDescription>
|