trello_fake/components/dashboard/project-grid.tsx

40 lines
989 B
TypeScript

"use client";
import ProjectCard from './project-card';
import ProjectListItem from './project-list-item';
import { Project } from '@/types/project';
interface ProjectGridProps {
projects: Project[];
viewMode: 'grid' | 'list';
}
export default function ProjectGrid({ projects, viewMode }: ProjectGridProps) {
if (projects.length === 0) {
return (
<div className="text-center py-12">
<p className="text-muted-foreground">No se encontraron proyectos</p>
</div>
);
}
// Vista de lista
if (viewMode === 'list') {
return (
<div className="flex flex-col gap-3">
{projects.map((project) => (
<ProjectListItem key={project.id} project={project} />
))}
</div>
);
}
// Vista de grid (por defecto)
return (
<div className="grid gap-6 grid-cols-1 md:grid-cols-2 lg:grid-cols-3">
{projects.map((project) => (
<ProjectCard key={project.id} project={project} />
))}
</div>
);
}