feat(categories): add branch visibility selection
All checks were successful
Staging Build / build (push) Successful in 2m43s

This commit is contained in:
DanielS
2026-07-09 14:26:56 +02:00
parent 07c7d8c656
commit 071e669b71
4 changed files with 76 additions and 8 deletions

View File

@@ -46,6 +46,8 @@ const categorySchema = z.object({
allow_multiselect: z.boolean().default(false),
free_items_limit: z.coerce.number().int().min(0).default(0),
preselect: z.boolean().default(true),
show_in_kauf: z.boolean().default(true),
show_in_abo: z.boolean().default(true),
})
type CategoryFormValues = z.infer<typeof categorySchema>
@@ -71,6 +73,8 @@ export function CategoryDialog({
allow_multiselect: category?.allow_multiselect ?? false,
free_items_limit: category?.free_items_limit ?? 0,
preselect: category?.preselect ?? true,
show_in_kauf: category?.show_in_kauf ?? true,
show_in_abo: category?.show_in_abo ?? true,
},
})
@@ -264,6 +268,54 @@ export function CategoryDialog({
)}
/>
)}
<div className="grid grid-cols-2 gap-4">
<FormField
control={form.control}
name="show_in_kauf"
render={({ field }) => (
<FormItem className="flex flex-row items-start space-x-3 space-y-0 rounded-lg border border-slate-200 dark:border-white/10 bg-slate-50 dark:bg-white/5 p-4">
<FormControl>
<Checkbox
checked={field.value}
onCheckedChange={field.onChange}
/>
</FormControl>
<div className="space-y-1 leading-none">
<FormLabel className="text-slate-900 dark:text-white font-semibold cursor-pointer">
In Kauf anzeigen
</FormLabel>
<p className="text-xs text-slate-500 dark:text-slate-400">
Im Kauf-Zweig des Wizards anzeigen.
</p>
</div>
</FormItem>
)}
/>
<FormField
control={form.control}
name="show_in_abo"
render={({ field }) => (
<FormItem className="flex flex-row items-start space-x-3 space-y-0 rounded-lg border border-slate-200 dark:border-white/10 bg-slate-50 dark:bg-white/5 p-4">
<FormControl>
<Checkbox
checked={field.value}
onCheckedChange={field.onChange}
/>
</FormControl>
<div className="space-y-1 leading-none">
<FormLabel className="text-slate-900 dark:text-white font-semibold cursor-pointer">
In Abo anzeigen
</FormLabel>
<p className="text-xs text-slate-500 dark:text-slate-400">
Im Abo-Zweig des Wizards anzeigen.
</p>
</div>
</FormItem>
)}
/>
</div>
{form.watch('allow_multiselect') && (
<FormField
control={form.control}