From a144b9efcd44bc471132d2d4141328f5d5d7c1b0 Mon Sep 17 00:00:00 2001 From: PxlLoewe <72106766+PxlLoewe@users.noreply.github.com> Date: Sun, 13 Jul 2025 01:04:51 -0700 Subject: [PATCH] Admin formulare --- .../app/(app)/settings/_components/forms.tsx | 12 ++++++------ .../(auth)/register/_components/Register.tsx | 8 ++++---- apps/hub/types/oldUser.ts | 17 ++++++++++++----- 3 files changed, 22 insertions(+), 15 deletions(-) diff --git a/apps/hub/app/(app)/settings/_components/forms.tsx b/apps/hub/app/(app)/settings/_components/forms.tsx index 13d90ada..0938ad25 100644 --- a/apps/hub/app/(app)/settings/_components/forms.tsx +++ b/apps/hub/app/(app)/settings/_components/forms.tsx @@ -54,23 +54,23 @@ export const ProfileForm = ({ firstname: z .string() .min(2, { - message: "Der Vorname muss mindestens 2 Zeichen lang sein", + message: "Gib einen gültigen Vornamen ein", }) .max(30, { - message: "Der Vorname darf maximal 30 Zeichen lang sein", + message: "Gib einen gültigen Vornamen ein", }) - .refine((val) => /^[A-ZÄÖÜ]/.test(val), { + .refine((val) => val.length === 0 || /^[A-ZÄÖÜ]/.test(val), { message: "Der Vorname muss mit einem Großbuchstaben beginnen", }), lastname: z .string() .min(2, { - message: "Der Nachname muss mindestens 2 Zeichen lang sein", + message: "Gib einen gültigen Nachnamen ein", }) .max(30, { - message: "Der Nachname darf maximal 30 Zeichen lang sein", + message: "Gib einen gültigen Nachnamen ein", }) - .refine((val) => val.includes(" ") || /^[A-ZÄÖÜ]/.test(val), { + .refine((val) => val.length === 0 || val.includes(" ") || /^[A-ZÄÖÜ]/.test(val), { message: "Der Nachname muss mit einem Großbuchstaben beginnen", }), settingsHideLastname: z.boolean(), diff --git a/apps/hub/app/(auth)/register/_components/Register.tsx b/apps/hub/app/(auth)/register/_components/Register.tsx index 29d9d854..c9aed3e5 100644 --- a/apps/hub/app/(auth)/register/_components/Register.tsx +++ b/apps/hub/app/(auth)/register/_components/Register.tsx @@ -29,10 +29,10 @@ export const Register = () => { firstname: z .string() .min(2, { - message: "Der Vorname muss mindestens 2 Zeichen lang sein", + message: "Gib einen gültigen Vornamen ein", }) .max(30, { - message: "Der Vorname darf maximal 30 Zeichen lang sein", + message: "Gib einen gültigen Vornamen ein", }) .refine((val) => val.length === 0 || /^[A-ZÄÖÜ]/.test(val), { message: "Der Vorname muss mit einem Großbuchstaben beginnen", @@ -40,10 +40,10 @@ export const Register = () => { lastname: z .string() .min(2, { - message: "Der Nachname muss mindestens 2 Zeichen lang sein", + message: "Gib einen gültigen Nachnamen ein", }) .max(30, { - message: "Der Nachname darf maximal 30 Zeichen lang sein", + message: "Gib einen gültigen Nachnamen ein", }) .refine((val) => val.length === 0 || val.includes(" ") || /^[A-ZÄÖÜ]/.test(val), { message: "Der Nachname muss mit einem Großbuchstaben beginnen", diff --git a/apps/hub/types/oldUser.ts b/apps/hub/types/oldUser.ts index 1031edc0..5993d6a4 100644 --- a/apps/hub/types/oldUser.ts +++ b/apps/hub/types/oldUser.ts @@ -1,4 +1,4 @@ -import { prisma } from "@repo/db"; +import { prisma, BADGES } from "@repo/db"; export interface OldUser { firstname: string; @@ -7,6 +7,9 @@ export interface OldUser { lastname: string; email: string; password: string; + permissions: { + permissionList: string[]; + }; settings: { privacyHideLastnameInNickname?: boolean; notifyRoomID?: string; @@ -41,17 +44,21 @@ export const createNewUserFromOld = async (oldUser: OldUser) => { .map((badge) => { switch (badge) { case "day-1-member": - return "DAY1"; + return BADGES.DAY1; case "d-1": - return "D1"; + return BADGES.D1; case "p-1": - return "P1"; + return BADGES.P1; default: return null; } }) .filter((badge) => badge !== null), - "V1Veteran", + BADGES.V1Veteran, + ...(oldUser.permissions.permissionList.includes("connect-dispatch") && + !oldUser.badges.includes("d-1") + ? [BADGES.D1] + : []), ], }, });