| import ListFilterBar from '@/components/list-filter-bar'; | |
| import { Button } from '@/components/ui/button'; | |
| import { Card, CardContent } from '@/components/ui/card'; | |
| import { ChevronRight, MoreHorizontal, Plus } from 'lucide-react'; | |
| const datasets = [ | |
| { | |
| id: 1, | |
| title: 'Legal knowledge base', | |
| files: '1,242 files', | |
| size: '152 MB', | |
| created: '12.02.2024', | |
| image: 'https://github.com/shadcn.png', | |
| }, | |
| { | |
| id: 2, | |
| title: 'HR knowledge base', | |
| files: '1,242 files', | |
| size: '152 MB', | |
| created: '12.02.2024', | |
| image: 'https://github.com/shadcn.png', | |
| }, | |
| { | |
| id: 3, | |
| title: 'IT knowledge base', | |
| files: '1,242 files', | |
| size: '152 MB', | |
| created: '12.02.2024', | |
| image: 'https://github.com/shadcn.png', | |
| }, | |
| { | |
| id: 4, | |
| title: 'Legal knowledge base', | |
| files: '1,242 files', | |
| size: '152 MB', | |
| created: '12.02.2024', | |
| image: 'https://github.com/shadcn.png', | |
| }, | |
| { | |
| id: 5, | |
| title: 'Legal knowledge base', | |
| files: '1,242 files', | |
| size: '152 MB', | |
| created: '12.02.2024', | |
| image: 'https://github.com/shadcn.png', | |
| }, | |
| { | |
| id: 6, | |
| title: 'Legal knowledge base', | |
| files: '1,242 files', | |
| size: '152 MB', | |
| created: '12.02.2024', | |
| image: 'https://github.com/shadcn.png', | |
| }, | |
| { | |
| id: 7, | |
| title: 'Legal knowledge base', | |
| files: '1,242 files', | |
| size: '152 MB', | |
| created: '12.02.2024', | |
| image: 'https://github.com/shadcn.png', | |
| }, | |
| { | |
| id: 8, | |
| title: 'Legal knowledge base', | |
| files: '1,242 files', | |
| size: '152 MB', | |
| created: '12.02.2024', | |
| image: 'https://github.com/shadcn.png', | |
| }, | |
| { | |
| id: 9, | |
| title: 'Legal knowledge base', | |
| files: '1,242 files', | |
| size: '152 MB', | |
| created: '12.02.2024', | |
| image: 'https://github.com/shadcn.png', | |
| }, | |
| ]; | |
| export default function Datasets() { | |
| return ( | |
| <section className="p-8 text-foreground"> | |
| <ListFilterBar title="Datasets"> | |
| <Plus className="mr-2 h-4 w-4" /> | |
| Create dataset | |
| </ListFilterBar> | |
| <div className="grid gap-6 sm:grid-cols-1 md:grid-cols-2 lg:grid-cols-4 xl:grid-cols-6 2xl:grid-cols-8"> | |
| {datasets.map((dataset) => ( | |
| <Card | |
| key={dataset.id} | |
| className="bg-colors-background-inverse-weak flex-1" | |
| > | |
| <CardContent className="p-4"> | |
| <div className="flex justify-between mb-4"> | |
| <div | |
| className="w-[70px] h-[70px] rounded-xl bg-cover" | |
| style={{ backgroundImage: `url(${dataset.image})` }} | |
| /> | |
| <Button variant="ghost" size="icon"> | |
| <MoreHorizontal className="h-6 w-6" /> | |
| </Button> | |
| </div> | |
| <div className="flex justify-between items-end"> | |
| <div> | |
| <h3 className="text-lg font-semibold mb-2"> | |
| {dataset.title} | |
| </h3> | |
| <p className="text-sm opacity-80"> | |
| {dataset.files} | {dataset.size} | |
| </p> | |
| <p className="text-sm opacity-80"> | |
| Created {dataset.created} | |
| </p> | |
| </div> | |
| <Button variant="secondary" size="icon"> | |
| <ChevronRight className="h-6 w-6" /> | |
| </Button> | |
| </div> | |
| </CardContent> | |
| </Card> | |
| ))} | |
| </div> | |
| </section> | |
| ); | |
| } | |