import Link from "next/link"; import {PageParams} from "@/types/next"; import {CardsWithPagination} from "@/components/wrappers/common/cards-with-pagination"; import {Button} from "@/components/ui/button"; import {Page, PageActions, PageContent, PageHeader, PageTitle} from "@/features/layout/page"; import {ProjectCard} from "@/components/wrappers/dashboard/projects/project-card/project-card"; import {db} from "@/db"; import {notFound} from "next/navigation"; import {getActiveMember, getOrganization} from "@/lib/auth/auth"; import {EmptyStatePlaceholder} from "@/components/wrappers/common/empty-state-placeholder"; import {Metadata} from "next"; export const metadata: Metadata = { title: "Projects", }; export default async function RoutePage(props: PageParams<{}>) { const organization = await getOrganization({}); const activeMember = await getActiveMember() if (!organization) { notFound(); } const projects = await db.query.project.findMany({ where: (project, { eq, and, not }) => and(eq(project.organizationId, organization.id), not(eq(project.isArchived, true))), with: { databases: true, }, }); const isMember = activeMember?.role === "member"; return ( Projects {(projects.length > 0 && !isMember) && ( )} {projects.length > 0 ? ( ) : isMember ? ( ) : ( )} ); }