From 76838eba29eb95375d5cc4893a8dab9f059bd7f7 Mon Sep 17 00:00:00 2001 From: Karl Ludwig Weise Date: Fri, 16 Jan 2026 16:45:25 +0100 Subject: [PATCH] Fix: Legal links in settings are optional --- .../settings/(components)/edit-settings-form/schema.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/routes/(pages)/dashboard/settings/(components)/edit-settings-form/schema.ts b/src/routes/(pages)/dashboard/settings/(components)/edit-settings-form/schema.ts index d324e13..10419de 100644 --- a/src/routes/(pages)/dashboard/settings/(components)/edit-settings-form/schema.ts +++ b/src/routes/(pages)/dashboard/settings/(components)/edit-settings-form/schema.ts @@ -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"]() }),