Commit Graph

7 Commits (e03335be67b190d87158d1a11b2e7f2f7ae41bfd)

Author SHA1 Message Date
Pau Costa Ferrer e03335be67 Add rotation support for spaces in floorplan editor
- Extend `Space` model and Prisma schema to include `rotation` property.
- Update API services and DTOs to handle rotation data.
- Add UI controls in `FloorplanEditor.svelte` for rotating spaces.
- Refactor space rendering logic in both editor and viewer to support rotation.
2026-03-28 17:47:32 +01:00
Pau Costa Ferrer e80984faa1 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`).
2026-03-28 17:22:57 +01:00
Pau Costa Ferrer 2bab9da7c8 Add assets module with file upload and retrieval support
- Introduce `AssetsModule` with APIs for uploading and retrieving organization logos, building images, and floor plans.
- Implement file validation for type and size (10MB max).
- Add `resolveAssetUrl` utility for generating absolute asset URLs.
- Enhance admin UI components to support image file uploads and previews.
- Update Prisma schema to associate assets with organizations, buildings, and floors.
- Modify existing update logic to clear references when external URLs are used.
2026-03-28 17:10:22 +01:00
Pau Costa Ferrer 453fe68e42 Enhance real-time space status updates and handling
- Improve WebSocket connection reliability with updated transport options.
- Introduce logic to prioritize real-time updates over initial data for live views.
- Add logging for better debugging of WebSocket events and data propagation.
- Update UI components (`SpaceCard`, `FloorplanViewer`) to avoid overwrites from stale data.
- Refactor date handling for consistent behavior across components.
2026-03-28 16:27:23 +01:00
Pau Costa Ferrer 89fdbf6617 Add support for space resizing and enhanced layout management
- Update `SpacesService` to handle width and height properties for spaces.
- Introduce `UpdateSpaceDto` for improved validation in batch update operations.
- Extend `FloorplanEditor.svelte` and `FloorplanViewer.svelte` to support dynamic container scaling and space resizing.
- Modify Prisma schema to include `width` and `height` fields for spaces.
- Enhance floorplan rendering to maintain proportional layout during editing and viewing.
2026-03-28 15:53:33 +01:00
Pau Costa Ferrer 45e42c3d37 Add booking modal and enhance reservation handling
- Create `BookingModal.svelte` for booking spaces with custom time slots or full-day durations.
- Add API endpoint to fetch reservations by space ID and date.
- Update `SpacesService` with enhanced validation rules and conflict checks for reservations.
- Extend WebSocket updates to include reservation data for real-time synchronization.
- Enable date-based filtering and status handling in UI components (`SpaceCard.svelte`, `FloorplanViewer.svelte`).
2026-03-28 15:33:34 +01:00
Pau Costa Ferrer f8af8cf2d7 Add building-level dashboard and interactive floorplan viewer
- Create `+page.svelte` for building-level dashboard with floor selection and layout preview.
- Add `FloorplanViewer.svelte` component with WebSocket integration for real-time space status updates.
- Extend `SpacesService` and API endpoints for building floors and floor details retrieval.
- Update dashboard UI with cleaner building and floor presentation.
- Improve loading states and error handling across dashboard and floor pages.
2026-03-28 15:20:17 +01:00