mirror of
https://github.com/SrIzan10/echospace.git
synced 2026-06-06 00:56:54 +00:00
44 lines
1.2 KiB
TypeScript
44 lines
1.2 KiB
TypeScript
import ProjectCard from '@/components/app/ProjectCard/ProjectCard';
|
|
import { Button } from '@/components/ui/button';
|
|
import { validateRequest } from '@/lib/auth';
|
|
import prisma from '@/lib/db';
|
|
import Link from 'next/link';
|
|
|
|
export default async function Page() {
|
|
const { user } = await validateRequest();
|
|
const db = await prisma.project.findMany({
|
|
where: {
|
|
UserProject: {
|
|
some: {
|
|
userId: user!.id,
|
|
},
|
|
},
|
|
},
|
|
});
|
|
if (db.length === 0) {
|
|
return (
|
|
<div className="text-center flex flex-col gap-4 pt-4">
|
|
<h2>No projects found</h2>
|
|
<p className="text-muted-foreground">Create a project to get started</p>
|
|
<div className="flex justify-center gap-5">
|
|
<Link href="/create">
|
|
<Button size={'sm'}>Create</Button>
|
|
</Link>
|
|
<Link href="/join">
|
|
<Button size={'sm'} variant={'secondary'}>
|
|
Join
|
|
</Button>
|
|
</Link>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|
|
return (
|
|
<div className="grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 p-4">
|
|
{db.map((d) => (
|
|
<ProjectCard key={d.id} {...d} />
|
|
))}
|
|
</div>
|
|
);
|
|
}
|