Add functions to commission form

This commit is contained in:
2026-01-01 09:46:43 +01:00
parent 21faef78ee
commit 84470aa2e2
8 changed files with 141 additions and 5 deletions

View File

@ -12,6 +12,7 @@ type ArtworkGalleryItem = {
file: { fileKey: string };
metadata: { width: number; height: number } | null;
tags: { id: string; name: string }[];
colors: { color: { hex: string | null } }[];
};
type FitMode =
@ -87,6 +88,7 @@ export default function ArtworkThumbGallery({
aspectRatio={`${w} / ${h}`}
className="h-full w-full rounded-md"
imageClassName="object-cover"
style={{ ["--dom" as any]: a.colors[0]?.color?.hex ?? "#999999", }}
sizes="(min-width: 1280px) 20vw, (min-width: 1024px) 25vw, (min-width: 768px) 33vw, (min-width: 640px) 50vw, 100vw"
/>

View File

@ -1,5 +1,6 @@
"use client"
import { submitCommissionRequest } from "@/actions/commissions/submitCommissionRequest"
import { Button } from "@/components/ui/button"
import {
Form,
@ -15,6 +16,7 @@ import { CommissionCustomInput, CommissionExtra, CommissionOption, CommissionTyp
import { commissionOrderSchema } from "@/schemas/commissionOrder"
import { calculatePriceRange } from "@/utils/calculatePrice"
import { zodResolver } from "@hookform/resolvers/zod"
import "dotenv/config"
import Link from "next/link"
import { useMemo, useState } from "react"
import { useForm, useWatch } from "react-hook-form"
@ -71,8 +73,22 @@ export function CommissionOrderForm({ types }: Props) {
}, [selectedOption, selectedExtras])
async function onSubmit(values: z.infer<typeof commissionOrderSchema>) {
const { customFields, ...rest } = values
console.log("Submit:", { ...rest, customFields, files })
const payload = {
typeId: values.typeId || null,
optionId: values.optionId || null,
customerName: values.customerName,
customerEmail: values.customerEmail,
customerSocials: values.customerSocials ?? null,
message: values.message,
extraIds: values.extraIds ?? [], // <-- normalize
};
const res = await submitCommissionRequest({
payload,
files,
});
console.log("Created request:", res);
}
return (