diff --git a/src/components/entityPageClientComponents.tsx b/src/components/entityPageClientComponents.tsx
index 22b55db..f3f3085 100644
--- a/src/components/entityPageClientComponents.tsx
+++ b/src/components/entityPageClientComponents.tsx
@@ -147,6 +147,7 @@ export default function EntityPageClientContent({entities, categories, onSubmit,
@@ -168,6 +169,7 @@ export default function EntityPageClientContent({entities, categories, onSubmit,
diff --git a/src/components/form/entityForm.tsx b/src/components/form/entityForm.tsx
index 274c290..953aca8 100644
--- a/src/components/form/entityForm.tsx
+++ b/src/components/form/entityForm.tsx
@@ -12,11 +12,13 @@ import { useRouter } from 'next/navigation';
import { toast } from 'sonner';
import { sonnerContent } from '@/components/ui/sonner';
import { entityFormSchema } from '@/lib/form-schemas/entityFormSchema';
-import { Entity, EntityType } from '@prisma/client';
+import { Category, Entity, EntityType } from '@prisma/client';
import { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select';
+import { AutoCompleteInput } from '@/components/ui/auto-complete-input';
-export default function EntityForm({value, onSubmit, className}: {
+export default function EntityForm({value, categories, onSubmit, className}: {
value: Entity | undefined,
+ categories: Category[],
onSubmit: (data: z.infer) => Promise
className?: string
}) {
@@ -29,6 +31,7 @@ export default function EntityForm({value, onSubmit, className}: {
id: value?.id ?? undefined,
name: value?.name ?? '',
type: value?.type ?? EntityType.Entity,
+ defaultCategoryId: value?.defaultCategoryId ?? undefined,
},
});
@@ -40,6 +43,13 @@ export default function EntityForm({value, onSubmit, className}: {
}
};
+ const categoriesMapped = categories?.map((category) => {
+ return {
+ label: category.name,
+ value: category.id,
+ };
+ }) ?? [];
+
return (
diff --git a/src/lib/actions/entityCreateUpdate.ts b/src/lib/actions/entityCreateUpdate.ts
index 3d3ca38..01eda35 100644
--- a/src/lib/actions/entityCreateUpdate.ts
+++ b/src/lib/actions/entityCreateUpdate.ts
@@ -9,6 +9,7 @@ export default async function entityCreateUpdate({
id,
name,
type,
+ defaultCategoryId,
}: z.infer): Promise {
'use server';
@@ -32,6 +33,7 @@ export default async function entityCreateUpdate({
data: {
name: name,
type: type,
+ defaultCategoryId: defaultCategoryId,
},
},
);
@@ -47,6 +49,7 @@ export default async function entityCreateUpdate({
userId: user.id,
name: name,
type: type,
+ defaultCategoryId: defaultCategoryId,
},
});
diff --git a/src/lib/form-schemas/entityFormSchema.ts b/src/lib/form-schemas/entityFormSchema.ts
index f3e4412..d7b80b6 100644
--- a/src/lib/form-schemas/entityFormSchema.ts
+++ b/src/lib/form-schemas/entityFormSchema.ts
@@ -5,4 +5,5 @@ export const entityFormSchema = z.object({
id: z.number().positive().optional(),
name: z.string().min(1).max(32),
type: z.nativeEnum(EntityType),
+ defaultCategoryId: z.number().positive().optional(),
});