diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 57a7609..2c79f4d 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -399,6 +399,7 @@ model CommissionGuidelines { updatedAt DateTime @updatedAt markdown String + exampleImageUrl String? isActive Boolean @default(true) @@index([isActive]) diff --git a/src/app/(normal)/commissions/page.tsx b/src/app/(normal)/commissions/page.tsx index 8e60a91..510aed2 100644 --- a/src/app/(normal)/commissions/page.tsx +++ b/src/app/(normal)/commissions/page.tsx @@ -1,21 +1,60 @@ import { CommissionCard } from "@/components/commissions/CommissionCard"; import CommissionGuidelines from "@/components/commissions/CommissionGuidelines"; import { CommissionOrderForm } from "@/components/commissions/CommissionOrderForm"; +import { Button } from "@/components/ui/button"; +import { + Dialog, + DialogContent, + DialogHeader, + DialogTitle, + DialogTrigger, +} from "@/components/ui/dialog"; import { prisma } from "@/lib/prisma"; +import Image from "next/image"; export default async function CommissionsPage() { - const commissions = await prisma.commissionType.findMany({ - include: { - options: { include: { option: true }, orderBy: { sortIndex: "asc" } }, - extras: { include: { extra: true }, orderBy: { sortIndex: "asc" } }, - customInputs: { include: { customInput: true }, orderBy: { sortIndex: "asc" } }, - }, - orderBy: [{ sortIndex: "asc" }, { name: "asc" }], - }) + const [commissions, guidelines] = await Promise.all([ + prisma.commissionType.findMany({ + include: { + options: { include: { option: true }, orderBy: { sortIndex: "asc" } }, + extras: { include: { extra: true }, orderBy: { sortIndex: "asc" } }, + customInputs: { include: { customInput: true }, orderBy: { sortIndex: "asc" } }, + }, + orderBy: [{ sortIndex: "asc" }, { name: "asc" }], + }), + prisma.commissionGuidelines.findFirst({ + where: { isActive: true }, + orderBy: { createdAt: "desc" }, + select: { exampleImageUrl: true }, + }), + ]); return (