Fix: Legal links in settings are optional

This commit is contained in:
Karl Ludwig Weise
2026-01-16 16:45:25 +01:00
parent fd7cfe00df
commit 76838eba29
@@ -1,6 +1,9 @@
import { m } from "$i18n/messages";
import { z } from "zod";
const optionalUrl = (errorMessage: string) =>
z.union([z.literal(""), z.url({ message: errorMessage })]).optional();
export const formSchema = z
.object({
id: z.string(),
@@ -18,9 +21,9 @@ export const formSchema = z
city: z.string().min(1, { message: m["form.errors.city"]() }),
}),
links: z.object({
website: z.string().url({ message: m["form.errors.url"]() }).optional().default(""),
imprint: z.string().url({ message: m["form.errors.url"]() }).optional().default(""),
privacyStatement: z.string().url({ message: m["form.errors.url"]() }).optional().default(""),
website: optionalUrl(m["form.errors.url"]()),
imprint: optionalUrl(m["form.errors.url"]()),
privacyStatement: optionalUrl(m["form.errors.url"]()),
}),
settings: z.object({
autoDeleteDays: z.number().min(30, { message: m["form.errors.deleteAfterDays"]() }),