diff --git a/app/components/UserMenu.vue b/app/components/UserMenu.vue index a602726..4c48989 100644 --- a/app/components/UserMenu.vue +++ b/app/components/UserMenu.vue @@ -16,17 +16,27 @@ import { const { user, loggedIn, logout } = useAuth() +// Extended user type with all profile fields +type ExtendedUser = typeof user.value & { + id?: string + firstName?: string + lastName?: string + email?: string +} + +const extendedUser = computed(() => user.value as ExtendedUser) + /** * Get user initials for Avatar fallback * Example: "Bastian Masanek" → "BM" */ const userInitials = computed(() => { - if (!user.value) return '?' + if (!extendedUser.value) return '?' - const first = user.value.firstName?.charAt(0)?.toUpperCase() || '' - const last = user.value.lastName?.charAt(0)?.toUpperCase() || '' + const first = extendedUser.value.firstName?.charAt(0)?.toUpperCase() || '' + const last = extendedUser.value.lastName?.charAt(0)?.toUpperCase() || '' - return first + last || user.value.email?.charAt(0)?.toUpperCase() || '?' + return first + last || extendedUser.value.email?.charAt(0)?.toUpperCase() || '?' }) /** @@ -44,13 +54,9 @@ async function handleLogout() {