From ad5f95fcbf2cb7beb1cad0d95a91dfd48b18ef14 Mon Sep 17 00:00:00 2001 From: Christian Beutel <> Date: Mon, 20 Jan 2025 18:26:04 +0100 Subject: [PATCH] fixes default language after signup --- web/src/lib/models/api/settings_schema.ts | 4 +-- web/src/lib/models/settings.ts | 17 +++++++-- web/src/routes/register/+page.svelte | 35 ++++++++++++++----- web/src/routes/settings/language/+page.svelte | 3 +- 4 files changed, 45 insertions(+), 14 deletions(-) diff --git a/web/src/lib/models/api/settings_schema.ts b/web/src/lib/models/api/settings_schema.ts index f37d51a9..cf6eb2b6 100644 --- a/web/src/lib/models/api/settings_schema.ts +++ b/web/src/lib/models/api/settings_schema.ts @@ -1,10 +1,10 @@ import { z, ZodType } from "zod"; import { NotificationType } from "../notification"; -import type { Settings } from "../settings"; +import { Language, type Settings } from "../settings"; const SettingsCreateSchema = z.object({ unit: z.enum(["metric", "imperial"]).optional(), - language: z.enum(["en", "de", "es", "fr", "hu", "it", "nl", "pl", "pt", "zh"]).optional(), + language: z.enum(Object.values(Language) as [Language, ...Language[]]).optional(), bio: z.string().optional(), mapFocus: z.enum(["trails", "location"]).optional(), location: z.object({ diff --git a/web/src/lib/models/settings.ts b/web/src/lib/models/settings.ts index d0061a12..e334c82b 100644 --- a/web/src/lib/models/settings.ts +++ b/web/src/lib/models/settings.ts @@ -1,9 +1,22 @@ import type { NotificationType } from "./notification"; +export enum Language { + en = "en", + de = "de", + es = "es", + fr = "fr", + hu = "hu", + it = "it", + nl = "nl", + pl = "pl", + pt = "pt", + zh = "zh" +} + class Settings { id?: string; unit?: "metric" | "imperial"; - language?: "en" | "de" | "es" | "fr" | "hu" | "it" | "nl" | "pl" | "pt" | "zh"; + language?: Language; bio?: string; mapFocus?: "trails" | "location"; location?: { name: string, lat: number, lon: number }; @@ -16,7 +29,7 @@ class Settings { constructor( unit: "metric" | "imperial", - language: "en" | "de" | "es" | "fr" | "hu" | "it" | "nl" | "pl" | "pt" | "zh", + language: Language, mapFocus: "trails" | "location", user: string, params?: { diff --git a/web/src/routes/register/+page.svelte b/web/src/routes/register/+page.svelte index bf9ea942..a2cdd13e 100644 --- a/web/src/routes/register/+page.svelte +++ b/web/src/routes/register/+page.svelte @@ -1,17 +1,20 @@