Add custom YCH typs for commission page

This commit is contained in:
2026-02-01 16:08:08 +01:00
parent 1940867519
commit aa95635e3e
6 changed files with 364 additions and 14 deletions

View File

@ -1,4 +1,5 @@
import { CommissionCard } from "@/components/commissions/CommissionCard";
import { CommissionCustomCard } from "@/components/commissions/CommissionCustomCard";
import CommissionGuidelines from "@/components/commissions/CommissionGuidelines";
import { CommissionOrderForm } from "@/components/commissions/CommissionOrderForm";
import { Button } from "@/components/ui/button";
@ -13,7 +14,7 @@ import { prisma } from "@/lib/prisma";
import Image from "next/image";
export default async function CommissionsPage() {
const [commissions, guidelines] = await Promise.all([
const [commissions, customCards, guidelines] = await Promise.all([
prisma.commissionType.findMany({
include: {
options: { include: { option: true }, orderBy: { sortIndex: "asc" } },
@ -22,6 +23,14 @@ export default async function CommissionsPage() {
},
orderBy: [{ sortIndex: "asc" }, { name: "asc" }],
}),
prisma.commissionCustomCard.findMany({
where: { isVisible: true },
include: {
options: { include: { option: true }, orderBy: { sortIndex: "asc" } },
extras: { include: { extra: true }, orderBy: { sortIndex: "asc" } },
},
orderBy: [{ sortIndex: "asc" }, { name: "asc" }],
}),
prisma.commissionGuidelines.findFirst({
where: { isActive: true },
orderBy: { createdAt: "desc" },
@ -60,11 +69,14 @@ export default async function CommissionsPage() {
{commissions.map((commission) => (
<CommissionCard key={commission.id} commission={commission} />
))}
{customCards.map((card) => (
<CommissionCustomCard key={card.id} card={card} />
))}
<CommissionGuidelines />
</div>
<hr />
<h2 className="text-2xl font-semibold">Request a Commission</h2>
<CommissionOrderForm types={commissions} />
<CommissionOrderForm types={commissions} customCards={customCards} />
</div>
);
}