From 17208eded9b6a003890d0e11b06abe9c721e6a79 Mon Sep 17 00:00:00 2001 From: PxlLoewe <72106766+PxlLoewe@users.noreply.github.com> Date: Fri, 26 Dec 2025 01:23:32 +0100 Subject: [PATCH] Added Account Dublicate fucntion, improved default sorts --- .vscode/extensions.json | 2 - .../event/_components/AppointmentModal.tsx | 2 +- .../(app)/admin/event/_components/Form.tsx | 171 +++++++++--------- .../admin/user/[id]/_components/forms.tsx | 82 ++++++++- .../duplicate/_components/DuplicateForm.tsx | 109 +++++++++++ .../(app)/admin/user/[id]/duplicate/page.tsx | 37 ++++ apps/hub/app/(app)/admin/user/[id]/page.tsx | 2 + apps/hub/app/(app)/admin/user/action.ts | 50 +++++ apps/hub/app/(app)/admin/user/page.tsx | 19 +- apps/hub/app/(app)/events/page.tsx | 4 + .../app/(app)/settings/_components/forms.tsx | 19 +- apps/hub/app/(app)/settings/page.tsx | 29 ++- apps/hub/app/_components/PaginatedTable.tsx | 43 +++-- apps/hub/app/_components/ui/Select.tsx | 8 +- apps/hub/app/api/admin/user/search/route.ts | 33 ++++ apps/hub/app/vatsim/page.tsx | 2 +- .../migration.sql | 7 + packages/database/prisma/schema/user.prisma | 6 + 18 files changed, 486 insertions(+), 139 deletions(-) create mode 100644 apps/hub/app/(app)/admin/user/[id]/duplicate/_components/DuplicateForm.tsx create mode 100644 apps/hub/app/(app)/admin/user/[id]/duplicate/page.tsx create mode 100644 apps/hub/app/api/admin/user/search/route.ts create mode 100644 packages/database/prisma/schema/migrations/20251225225508_added_multi_account_fields/migration.sql diff --git a/.vscode/extensions.json b/.vscode/extensions.json index ee4d8ed1..d9fa4320 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,7 +1,5 @@ { "recommendations": [ - "EthanSK.restore-terminals", "dbaeumer.vscode-eslint", - "VisualStudioExptTeam.vscodeintellicode" ] } diff --git a/apps/hub/app/(app)/admin/event/_components/AppointmentModal.tsx b/apps/hub/app/(app)/admin/event/_components/AppointmentModal.tsx index 2a307895..37c37b49 100644 --- a/apps/hub/app/(app)/admin/event/_components/AppointmentModal.tsx +++ b/apps/hub/app/(app)/admin/event/_components/AppointmentModal.tsx @@ -64,7 +64,7 @@ export const AppointmentModal = ({
+ Dieser Account wurde als Duplikat von{" "} + + {user.CanonicalUser.firstname} {user.CanonicalUser.lastname} ( + {user.CanonicalUser.publicId}) + {" "} + markiert. +
+Folgende Accounts wurden als Duplikate dieses Accounts markiert:
++ Achtung! Dieser Account ist als Duplikat markiert oder hat Duplikate! +
+
+
diff --git a/apps/hub/app/(app)/events/page.tsx b/apps/hub/app/(app)/events/page.tsx index fbd72617..be2e660e 100644 --- a/apps/hub/app/(app)/events/page.tsx +++ b/apps/hub/app/(app)/events/page.tsx @@ -27,6 +27,10 @@ const page = async () => { }, }, }, + + orderBy: { + id: "desc", + }, }); const appointments = await prisma.eventAppointment.findMany({ where: { diff --git a/apps/hub/app/(app)/settings/_components/forms.tsx b/apps/hub/app/(app)/settings/_components/forms.tsx index d378b84b..93268439 100644 --- a/apps/hub/app/(app)/settings/_components/forms.tsx +++ b/apps/hub/app/(app)/settings/_components/forms.tsx @@ -1,6 +1,6 @@ "use client"; import { zodResolver } from "@hookform/resolvers/zod"; -import { DiscordAccount, Penalty, User } from "@repo/db"; +import { DiscordAccount, Penalty, Report, User } from "@repo/db"; import { useState } from "react"; import { useForm } from "react-hook-form"; import { z } from "zod"; @@ -326,9 +326,17 @@ export const SocialForm = ({ ); }; -export const DeleteForm = ({ user, penaltys }: { user: User; penaltys: Penalty[] }) => { +export const DeleteForm = ({ + user, + penaltys, + reports, +}: { + user: User; + penaltys: Penalty[]; + reports: Report[]; +}) => { const router = useRouter(); - const userCanDelete = penaltys.length === 0 && !user.isBanned; + const userCanDelete = penaltys.length === 0 && !user.isBanned && reports.length === 0; return (
- Scheinbar hast du aktuell zurzeit aktive Strafen. Um unsere Community zu schützen kannst - du einen Account erst löschen wenn deine Strafe nicht mehr aktiv ist + Scheinbar hast du Strafen oder Reports in deinem Profil hinterlegt. Um unsere Community + zu schützen kannst du deinen Account nicht löschen. Bitte erstelle ein Support-Ticket, + wenn du Fragen dazu hast.
-
+