40 lines
989 B
TypeScript
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>
|
|
);
|
|
} |