From e80984faa16ba48bc19a0774e1ac42f7a57d56e2 Mon Sep 17 00:00:00 2001 From: Pau Costa Date: Sat, 28 Mar 2026 17:22:57 +0100 Subject: [PATCH] Add user profile management with avatar upload and update support - Create `+page.svelte` for managing user profiles, including name, avatar, and password updates. - Add `Avatar.svelte` component for rendering user avatars with Gravatar and fallback initials support. - Implement backend APIs for fetching and updating user profiles (`/users/profile`). - Add support for avatar uploads with file validation (max size: 5MB). - Update `FloorplanViewer.svelte` to display user names and avatars in reservations. - Introduce utilities for Gravatar URLs and user avatar management (`getGravatarUrl`, `getInitials`). --- .idea/workspace.xml | 34 ++- apps/api/prisma/schema.prisma | 7 +- apps/api/src/assets/assets.controller.ts | 18 ++ apps/api/src/assets/assets.service.ts | 17 ++ apps/api/src/auth/auth.service.ts | 3 + .../src/reservations/reservations.service.ts | 9 + apps/api/src/users/dto/update-user.dto.ts | 8 + apps/api/src/users/users.controller.ts | 15 +- apps/api/src/users/users.service.ts | 15 + apps/web/package.json | 2 + apps/web/src/lib/components/Avatar.svelte | 48 ++++ .../src/lib/components/FloorplanViewer.svelte | 17 +- apps/web/src/lib/utils/avatar.ts | 21 ++ apps/web/src/routes/+layout.svelte | 5 +- .../src/routes/dashboard/profile/+page.svelte | 259 ++++++++++++++++++ package-lock.json | 12 + 16 files changed, 462 insertions(+), 28 deletions(-) create mode 100644 apps/web/src/lib/components/Avatar.svelte create mode 100644 apps/web/src/lib/utils/avatar.ts create mode 100644 apps/web/src/routes/dashboard/profile/+page.svelte diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 0898810..7f120a0 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -4,22 +4,17 @@