Skip to content

Conversation

@atyrode
Copy link
Contributor

@atyrode atyrode commented Apr 25, 2025

This adds a new feature allowing users to load backups of their canvas:
Screenshot 2025-04-25 at 21 17 02

atyrode added 14 commits April 25, 2025 01:54
- Added CanvasBackup model to store user canvas backups.
- Implemented backup creation based on user activity and defined intervals.
- Enhanced existing functions to manage user activity timestamps and cleanup processes.
- Introduced a new endpoint to retrieve the most recent canvas backups for authenticated users.
- Implemented logic to limit the number of backups returned based on a maximum configured value.
- Enhanced the canvas router with JWT decoding to identify the user associated with the backups.
- Implemented CanvasBackups component to display recent canvas backups. (!backups)
- Added API hooks for fetching backups and restoring selected backups.
- Enhanced the pad module to include CanvasBackups and its styles.
- Changed title from "Recent Canvas Backups" to "Canvas Backups" for clarity.
- Enhanced backup restoration confirmation message to include backup index.
- Updated styles for improved visual consistency, including background colors, padding, and hover effects.
- Added new elements for displaying backup numbers alongside timestamps.
- Improved overall layout and animations for a better user experience.
- Updated the menu item titles for clarity and consistency.
- Added BackupsModal component to display and manage canvas backups.
- Integrated state management for modal visibility and exit animations.
- Created corresponding SCSS styles for the modal, ensuring a cohesive design.
- Updated MainMenu to include the BackupsModal, enhancing user experience with backup management options.
- Deleted the CanvasBackups component and its associated files to streamline the codebase.
- Updated the MainMenu to use the new BackupsDialog component for managing canvas backups.
- Introduced new styles for the BackupsDialog to enhance the user interface and experience.
- Added normalizeCanvasData function to standardize canvas data by removing width and height properties and resetting collaborators.
- Updated App and BackupsDialog components to utilize the new utility for consistent canvas data normalization during scene updates.
- Removed the Canvas Backups item and replaced it with a Load backup... option for clarity.
- Introduced a new View group in the MainMenu, consolidating related items such as Toggle grid, View mode, and Zen mode for better organization.
- Added BackupsModal component to ExcalidrawWrapper for managing canvas backups.
- Updated MainMenuConfig to include handlers for showing and closing the BackupsModal.
- Enhanced styles for the AuthDialog and BackupsModal to improve UI consistency.
- Adjusted BackupsModal properties for better user interaction, including size and close behavior.
…sistency

- Refined styles in AuthDialog.scss to enhance the layout and structure of the authentication modal.
- Expanded BackupsDialog.scss with new styles for better padding, margins, and hover effects, ensuring a cohesive design.
- Adjusted BackupsModal component size for improved user interaction and visual appeal.
@atyrode atyrode merged commit 2016cd0 into main Apr 25, 2025
1 check passed
@atyrode atyrode deleted the load-canvas-backup branch April 25, 2025 19:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants