QuickAccess.tsx 1.6 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import React from 'react';
  2. import { useNavigate } from 'react-router-dom';
  3. import { Box, Settings, Layout, User, Home } from 'lucide-react';
  4. const features = [
  5. { label: '模型广场', desc: '浏览和选择云端大模型', icon: Box, color: 'bg-blue-50 text-blue-600', path: '/models' },
  6. { label: '开放平台', desc: '获取 API 密钥和文档', icon: Settings, color: 'bg-indigo-50 text-indigo-600', path: '/platform' },
  7. { label: '私有模型', desc: '部署您的专属私有化模型', icon: Layout, color: 'bg-emerald-50 text-emerald-600', path: '/models' },
  8. { label: '个人中心', desc: '管理账户和偏好设置', icon: User, color: 'bg-purple-50 text-purple-600', path: '/profile' },
  9. { label: '返回首页', desc: '回到平台首页', icon: Home, color: 'bg-amber-50 text-amber-600', path: '/' },
  10. ];
  11. const QuickAccess: React.FC = () => {
  12. const navigate = useNavigate();
  13. return (
  14. <div className="grid grid-cols-2 md:grid-cols-5 gap-4">
  15. {features.map((f, i) => (
  16. <div
  17. key={i}
  18. onClick={() => navigate(f.path)}
  19. className="bg-white p-5 rounded-2xl border border-gray-100 flex flex-col items-center text-center hover:shadow-md transition-all cursor-pointer group"
  20. >
  21. <div className={`w-12 h-12 ${f.color} rounded-2xl flex items-center justify-center mb-4 group-hover:scale-110 transition-transform`}>
  22. <f.icon className="w-6 h-6" />
  23. </div>
  24. <h3 className="text-sm font-bold text-gray-900 mb-1">{f.label}</h3>
  25. <p className="text-[10px] text-gray-400 leading-tight">{f.desc}</p>
  26. </div>
  27. ))}
  28. </div>
  29. );
  30. };
  31. export default QuickAccess;