From 3e3e9f33aa1b99a0e68b7fe6744b871c0b8a08d8 Mon Sep 17 00:00:00 2001 From: Wuesteon Date: Tue, 16 Dec 2025 20:29:38 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=A9=B9=20fix(voxelava):=20fix=20type=20er?= =?UTF-8?q?rors=20in=20level=20types=20and=20user=20profile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Make userId, createdAt, updatedAt nullable in LevelMetadata to match API - Disable password change feature (not supported by Mana Core Auth yet) --- .../lib/components/auth/UserProfile.svelte | 30 ++++--------------- .../apps/web/src/lib/types/level.types.ts | 8 ++--- 2 files changed, 9 insertions(+), 29 deletions(-) diff --git a/games/voxelava/apps/web/src/lib/components/auth/UserProfile.svelte b/games/voxelava/apps/web/src/lib/components/auth/UserProfile.svelte index 2074f3d4e..039b2593a 100644 --- a/games/voxelava/apps/web/src/lib/components/auth/UserProfile.svelte +++ b/games/voxelava/apps/web/src/lib/components/auth/UserProfile.svelte @@ -49,7 +49,7 @@ } } - // Passwort ändern + // Passwort ändern - TODO: Implement when Mana Core Auth supports password change for logged-in users async function handlePasswordChange() { // Validierung if (!newPassword || !confirmNewPassword) { @@ -67,30 +67,10 @@ return; } - try { - isPasswordChanging = true; - passwordChangeError = ''; - - const success = await AuthService.updatePassword(newPassword); - - if (success) { - passwordChangeSuccess = 'Passwort erfolgreich geändert.'; - newPassword = ''; - confirmNewPassword = ''; - // Nach kurzer Verzögerung Passwort-Änderung ausblenden - setTimeout(() => { - showPasswordChange = false; - passwordChangeSuccess = ''; - }, 3000); - } else { - passwordChangeError = 'Fehler beim Ändern des Passworts.'; - } - } catch (error) { - console.error('Password change error:', error); - passwordChangeError = 'Ein Fehler ist aufgetreten. Bitte versuche es später erneut.'; - } finally { - isPasswordChanging = false; - } + // Note: Password change is not yet supported by Mana Core Auth + // Use the "Passwort zurücksetzen" feature on the login page instead + passwordChangeError = + 'Passwortänderung ist noch nicht verfügbar. Bitte nutze "Passwort vergessen" auf der Anmeldeseite.'; } // Abmelden diff --git a/games/voxelava/apps/web/src/lib/types/level.types.ts b/games/voxelava/apps/web/src/lib/types/level.types.ts index 0d9c01994..1bd22153b 100644 --- a/games/voxelava/apps/web/src/lib/types/level.types.ts +++ b/games/voxelava/apps/web/src/lib/types/level.types.ts @@ -51,13 +51,13 @@ export interface LevelMetadata { /** Beschreibung des Levels */ description: string; /** ID des Benutzers, der das Level erstellt hat */ - userId: string; + userId: string | null; /** Zeitpunkt der Erstellung des Levels */ - createdAt: string; + createdAt: string | null; /** Zeitpunkt der letzten Aktualisierung des Levels */ - updatedAt: string; + updatedAt: string | null; /** Gibt an, ob das Level öffentlich ist */ - isPublic?: boolean; + isPublic?: boolean | null; /** Anzahl der Aufrufe des Levels */ playCount: number; /** Anzahl der Likes des Levels */