46 lines
993 B
TypeScript
46 lines
993 B
TypeScript
"use client";
|
|
|
|
import {
|
|
AdminItemForm,
|
|
type AdminItemFormProps,
|
|
type ItemFormPayload,
|
|
} from "./AdminItemForm";
|
|
|
|
interface ItemCreationModalProps {
|
|
open: boolean;
|
|
onOpenChange: (open: boolean) => void;
|
|
mode: "create" | "edit";
|
|
item?: AdminItemFormProps["item"];
|
|
categories: string[];
|
|
serverOptions: string[];
|
|
onSubmit: (payload: ItemFormPayload) => Promise<void>;
|
|
submitting?: boolean;
|
|
}
|
|
|
|
export function ItemCreationModal({
|
|
open,
|
|
onOpenChange,
|
|
mode,
|
|
item,
|
|
categories,
|
|
serverOptions,
|
|
onSubmit,
|
|
submitting,
|
|
}: ItemCreationModalProps) {
|
|
return (
|
|
<AdminItemForm
|
|
mode={mode}
|
|
item={item}
|
|
categories={categories}
|
|
serverOptions={serverOptions}
|
|
onSubmit={onSubmit}
|
|
submitting={submitting}
|
|
onCancel={() => onOpenChange(false)}
|
|
isActive={open}
|
|
/>
|
|
);
|
|
}
|
|
|
|
// Reexporta o tipo para permitir importação de ItemFormPayload a partir de ItemCreationModal
|
|
export type { ItemFormPayload } from "./AdminItemForm";
|