Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

applications.tsx 2.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import { Button } from '@/components/ui/button';
  2. import { Card, CardContent } from '@/components/ui/card';
  3. import { ChevronRight, Cpu, MessageSquare, Search } from 'lucide-react';
  4. const applications = [
  5. {
  6. id: 1,
  7. title: 'Jarvis chatbot',
  8. type: 'Chat app',
  9. date: '11/24/2024',
  10. icon: <MessageSquare className="h-6 w-6" />,
  11. },
  12. {
  13. id: 2,
  14. title: 'Search app 01',
  15. type: 'Search app',
  16. date: '11/24/2024',
  17. icon: <Search className="h-6 w-6" />,
  18. },
  19. {
  20. id: 3,
  21. title: 'Chatbot 01',
  22. type: 'Chat app',
  23. date: '11/24/2024',
  24. icon: <MessageSquare className="h-6 w-6" />,
  25. },
  26. {
  27. id: 4,
  28. title: 'Workflow 01',
  29. type: 'Agent',
  30. date: '11/24/2024',
  31. icon: <Cpu className="h-6 w-6" />,
  32. },
  33. ];
  34. export function Applications() {
  35. return (
  36. <section className="mt-12">
  37. <div className="flex justify-between items-center mb-6">
  38. <h2 className="text-2xl font-bold">Applications</h2>
  39. <div className="flex bg-colors-background-inverse-standard rounded-lg p-1">
  40. <Button variant="default" size="sm">
  41. All
  42. </Button>
  43. <Button variant="ghost" size="sm">
  44. Chat
  45. </Button>
  46. <Button variant="ghost" size="sm">
  47. Search
  48. </Button>
  49. <Button variant="ghost" size="sm">
  50. Agents
  51. </Button>
  52. </div>
  53. </div>
  54. <div className="grid grid-cols-4 gap-6">
  55. {[...Array(12)].map((_, i) => {
  56. const app = applications[i % 4];
  57. return (
  58. <Card key={i} className="bg-colors-background-inverse-weak">
  59. <CardContent className="p-4 flex items-center gap-6">
  60. <div className="w-[70px] h-[70px] rounded-xl flex items-center justify-center bg-gradient-to-br from-[#45A7FA] via-[#AE63E3] to-[#4433FF]">
  61. {app.icon}
  62. </div>
  63. <div className="flex-1">
  64. <h3 className="text-lg font-semibold">{app.title}</h3>
  65. <p className="text-sm opacity-80">{app.type}</p>
  66. <p className="text-sm opacity-80">{app.date}</p>
  67. </div>
  68. <Button variant="secondary" size="icon">
  69. <ChevronRight className="h-6 w-6" />
  70. </Button>
  71. </CardContent>
  72. </Card>
  73. );
  74. })}
  75. </div>
  76. </section>
  77. );
  78. }