Commit Graph

42 Commits

Author SHA1 Message Date
Matthias
75ed27b1c3 feat: enhance image handling and node deletion logic in canvas
- Introduced a new function to determine acceptable geometry for node deletion, improving synchronization checks with Convex.
- Added image dimension retrieval for uploaded files, enhancing the handling of image nodes during drag-and-drop operations.
- Updated drag-and-drop functionality to support image uploads, including error handling and user feedback for failed uploads.
- Refactored existing logic to ensure better management of optimistic node states and improve overall user experience on the canvas.
2026-03-28 23:42:12 +01:00
Matthias
2a645b9489 feat: implement node deletion handling and geometry synchronization in canvas
- Added functionality to block node deletion based on synchronization status with Convex, providing user feedback through toast notifications.
- Introduced helper functions to determine reasons for blocking deletions, enhancing user experience during canvas interactions.
- Updated asset node styling to improve visual consistency and adjusted minimum dimensions for asset nodes to ensure better layout management.
2026-03-28 23:07:27 +01:00
Matthias
acb5bca3b8 fix: update canvas toolbar and canvas settings for improved usability
- Updated the CanvasToolbar to provide a clearer label for the scissors tool, enhancing user understanding of its functionality.
- Modified the CanvasInner component to disable grid snapping, allowing for more flexible positioning of elements on the canvas.
2026-03-28 22:47:30 +01:00
Matthias
4e55460792 feat: enhance canvas components with improved sidebar and toolbar functionality
- Updated CanvasSidebar to accept canvasId as a prop, enabling dynamic content based on the current canvas.
- Refactored CanvasToolbar to implement a dropdown menu for adding nodes, improving usability and organization.
- Introduced new node types and updated existing ones in the node template picker for better categorization and searchability.
- Enhanced AssetNode to utilize context for asset browser interactions, streamlining asset management on the canvas.
- Improved overall layout and styling for better user experience across canvas components.
2026-03-28 22:35:44 +01:00
Matthias
e41d3c03b0 feat: add minimum zoom level for canvas to enhance usability
- Introduced a constant for minimum zoom level, allowing users to zoom out further on large boards.
- Updated the CanvasInner component to apply the new minimum zoom setting, improving the overall user experience during canvas interactions.
2026-03-28 22:07:21 +01:00
Matthias
cbfa14a40b feat: enhance canvas functionality with scissors mode and node template updates
- Implemented visual feedback and cursor changes for scissors mode in dark and light themes, improving user interaction during edge manipulation.
- Updated node template picker to include new keywords for AI image generation, enhancing searchability.
- Renamed and categorized node types for clarity, including updates to asset and prompt nodes.
- Added support for video nodes and adjusted related components for improved media handling on the canvas.
2026-03-28 21:11:52 +01:00
Matthias
02f36fdc7b feat: implement scissors mode for edge manipulation on canvas
- Introduced a new scissors mode that allows users to cut edges by clicking or dragging on the canvas.
- Added keyboard shortcuts for toggling scissors mode and canceling actions, enhancing user interaction.
- Implemented visual feedback for the scissors mode, including a preview of the cutting path.
- Refactored edge handling logic to support edge removal during scissors mode, improving dynamic edge management.
2026-03-28 17:56:27 +01:00
Matthias
9694c50195 feat: implement createNodeWithEdgeToTarget mutation for enhanced node connections
- Added a new mutation to create nodes connected to existing nodes, allowing for more dynamic interactions on the canvas.
- Updated the CanvasPlacementContext to include the new mutation, improving the workflow for node creation and edge management.
- Enhanced optimistic updates for immediate UI feedback during node and edge creation processes.
- Refactored related components to support the new connection method, streamlining user interactions.
2026-03-28 17:50:45 +01:00
Matthias
b3a1ed54db feat: implement edge splitting at existing nodes with position updates
- Added a new mutation to split edges at existing nodes, allowing for dynamic edge management during canvas interactions.
- Enhanced the logic to update node positions in a single transaction, improving user experience during edge manipulations.
- Refactored edge handling to support optimistic updates, ensuring smoother UI feedback during edge splits.
- Introduced error handling for edge and node validation to maintain data integrity during operations.
2026-03-28 13:31:41 +01:00
Matthias
fb24205da0 feat: enhance canvas connection handling with custom animation and edge management
- Added a custom connection line component with animation for improved visual feedback during node interactions.
- Implemented CSS animations for temporary connection lines, enhancing the user experience in the canvas.
- Refactored edge creation and removal logic to support optimistic updates, improving performance during node manipulations.
- Introduced a utility function to compute edge reconnections after node deletions, streamlining edge management.
2026-03-28 13:26:47 +01:00
Matthias
e5f27d7d29 feat: implement error classification and handling for AI generation limits
- Added error classification for daily generation cap and concurrency limits in the PromptNode component, improving user feedback during AI image generation failures.
- Enhanced toast notifications to provide specific messages for daily limit and concurrent job errors.
- Introduced internal mutations in the credits module to check abuse limits and track usage, ensuring better resource management and user experience.
- Updated AI error handling logic to categorize and respond to different error types effectively.
2026-03-28 11:31:11 +01:00
Matthias
4b4d784768 feat: enhance canvas styling and edge handling with glow effects
- Added custom CSS variables for edge stroke and connection line styles in light and dark modes to improve visual consistency.
- Updated edge rendering logic to utilize new styles, enhancing the appearance of temporary edges during interactions.
- Introduced a new utility function for applying glow effects based on source node types, improving the visual feedback of connections.
- Refactored edge mapping to support glow effects, enhancing user experience during node interactions.
2026-03-28 11:02:19 +01:00
Matthias
b243443431 feat: implement createNodeConnectedFromSource functionality for enhanced node creation
- Added a new mutation to create nodes connected to existing nodes, improving the canvas interaction model.
- Updated the CanvasPlacementContext to include createNodeConnectedFromSource, allowing for seamless node connections.
- Refactored the PromptNode component to utilize the new connection method, enhancing the workflow for AI image generation.
- Introduced optimistic updates for immediate UI feedback during node creation and connection processes.
2026-03-28 00:06:45 +01:00
Matthias
5dd5dcf55b feat: integrate centered flow node positioning in canvas components
- Added useCenteredFlowNodePosition hook to improve node placement in the CanvasCommandPalette and CanvasToolbar.
- Updated node creation logic to utilize centered positioning, enhancing the visual layout and user experience during node interactions.
- Refactored offset calculations to stagger node positions based on the current node count, ensuring a more organized canvas layout.
2026-03-27 23:56:06 +01:00
Matthias
83c0073d51 feat: enhance canvas components with clientRequestId for optimistic updates
- Added clientRequestId to various canvas components to support optimistic UI updates during node creation and manipulation.
- Updated the canvas command palette, toolbar, and node components to generate unique clientRequestIds for better tracking of user actions.
- Enhanced the canvas placement context to handle clientRequestId for improved correlation between optimistic and real node IDs.
- Refactored node duplication and creation logic to utilize clientRequestId, ensuring smoother user interactions and state management.
2026-03-27 23:52:51 +01:00
Matthias
6e866f2df6 feat: add cmdk dependency and enhance canvas node creation with edge splitting functionality
- Introduced the cmdk package for improved command palette capabilities.
- Enhanced the canvas placement context to support creating nodes with edge splitting, allowing for more dynamic node interactions.
- Updated the canvas inner component to utilize optimistic updates for node creation, improving user experience during interactions.
- Refactored node handling logic to incorporate new mutation types and streamline data management.
2026-03-27 23:40:31 +01:00
Matthias
4e84e7f76f feat: enhance dashboard and canvas components with improved state management and resizing logic
- Added client mount state to the dashboard to prevent premature interactions before the component is fully loaded.
- Updated button disabling logic to ensure it reflects the component's readiness and user session state.
- Introduced zIndex handling in canvas placement context for better node layering.
- Enhanced asset and image nodes with improved resizing logic to maintain aspect ratios during adjustments.
- Refactored node components to streamline rendering and improve performance during dynamic updates.
2026-03-27 23:17:10 +01:00
Matthias
e96c9c611c feat: implement batch node removal and enhance canvas node management
- Replaced individual node removal with a batch removal mutation to improve performance and user experience.
- Introduced optimistic UI updates to prevent flickering during node deletions.
- Enhanced edge reconnection logic to automatically handle edges associated with deleted nodes.
- Updated asset and image node components to support new metrics tracking for better diagnostics.
- Refactored node resizing logic to ensure consistent behavior during drag-and-drop operations.
2026-03-27 22:08:16 +01:00
Matthias
8e4e2fcac1 feat: enhance asset browser panel with improved asset selection and loading states
- Added state management for asset selection to prevent multiple simultaneous selections.
- Implemented request sequence tracking to ensure accurate loading state handling during asset searches.
- Enhanced error handling and user feedback for asset loading failures.
- Updated UI elements to improve accessibility and user experience during asset browsing.
2026-03-27 21:26:29 +01:00
Matthias
bc3bbf9d69 feat: enhance canvas functionality with new asset node type and improved image handling
- Introduced a new "asset" node type in the canvas sidebar for better resource management.
- Updated image node components to support dynamic image dimensions and improved resizing logic.
- Enhanced prompt and AI image nodes to utilize reference images from asset nodes, improving integration and functionality.
- Refactored canvas utilities to accommodate new asset configurations and maintain consistent media handling.
2026-03-27 20:33:20 +01:00
Matthias
6e38e2d270 refactor: replace useQuery with useAuthQuery for improved authentication handling
- Updated multiple components to utilize useAuthQuery instead of useQuery for fetching user-related data, enhancing authentication management.
- Adjusted balance and subscription queries across various components including InitUser, ManageSubscription, PricingCards, CreditDisplay, and others to ensure consistent authentication checks.
- Improved overall code maintainability by centralizing authentication logic in the new hook.
2026-03-27 18:35:12 +01:00
Matthias
2f89465e82 feat: integrate Sentry for error tracking and enhance user notifications
- Added Sentry integration for error tracking across various components, including error boundaries and user actions.
- Updated global error handling to capture exceptions and provide detailed feedback to users.
- Enhanced user notifications with toast messages for actions such as credit management, image generation, and canvas exports.
- Improved user experience by displaying relevant messages during interactions, ensuring better visibility of system states and errors.
2026-03-27 18:14:04 +01:00
Matthias
5da0204163 feat: enhance canvas and node components with error handling and retry logic
- Integrated retry logic for AI image generation to handle transient errors and improve user experience.
- Updated error categorization to provide more informative feedback based on different failure scenarios.
- Enhanced node components to display retry attempts and error messages, improving visibility during image generation failures.
- Refactored canvas and node components to include retry count in status updates, ensuring accurate tracking of generation attempts.
2026-03-27 11:35:18 +01:00
Matthias
cf3a338b9f feat: add new subscription tier and update credit configurations
- Introduced a new "max" subscription tier with associated monthly credits and top-up limits.
- Updated existing subscription tiers' monthly credits and top-up limits for "starter", "pro", and "business".
- Enhanced credit display and overview components to reflect the new tier and its attributes.
- Integrated Polar authentication features for improved subscription management and credit handling.
2026-03-27 09:47:44 +01:00
Matthias
0bc4785850 feat: improve canvas card editing experience with navigation suppression
- Added logic to suppress card navigation while editing the canvas name to prevent accidental navigation.
- Introduced a flag to manage in-flight save operations, ensuring that multiple save requests are not processed simultaneously.
- Enhanced the editing flow by ensuring the input is selected after a brief delay, improving user interaction.
2026-03-27 09:00:35 +01:00
Matthias
806c92fc80 feat: update Next.js configuration and package dependencies
- Adjusted `reactStrictMode` in `next.config.ts` to reduce strict mode double mounts during development, addressing hydration issues.
- Modified `dev` script in `package.json` to suppress hydration warnings, and added a `dev:strict` script for strict mode development.
- Added new dependencies: `@polar-sh/better-auth` and `@polar-sh/sdk` for enhanced authentication and SDK functionalities.
- Updated `pnpm-lock.yaml` to reflect new package versions and dependencies.
2026-03-27 08:54:26 +01:00
c55fde2b64 fix: update recent transactions badge styling and localize time formatting
- Added padding to the "Rückerstattet" badge for improved visual appearance.
- Updated time formatting in the formatRelativeTime function to use German language strings for better localization.
2026-03-26 22:29:08 +01:00
8d62ee27a2 feat: enhance dashboard and canvas components with credit management features
- Integrated CreditOverview and RecentTransactions components into the dashboard for better credit visibility.
- Updated canvas toolbar to display current credit balance using CreditDisplay.
- Improved AI image and prompt nodes to show credit costs and handle credit availability checks during image generation.
- Added new queries for fetching recent transactions and monthly usage statistics to support dashboard features.
- Refactored existing code to streamline credit-related functionalities across components.
2026-03-26 22:15:03 +01:00
Matthias
8daa4a91fb feat: enhance canvas and node components with improved edge handling and new node features
- Refactored canvas toolbar to utilize new canvas placement context for node creation.
- Updated node components (compare, group, image, note, prompt, text) to include source and target handles for better edge management.
- Improved edge intersection handling during node drag operations for enhanced user experience.
- Added utility functions for edge identification and node positioning to streamline interactions.
2026-03-26 18:22:57 +01:00
Matthias
a5cde14573 feat: refactor canvas and node components for improved functionality and styling
- Removed unused hooks and optimized edge handling in the canvas component.
- Adjusted positioning of handles in the compare node for better alignment.
- Enhanced prompt node to utilize incoming edges for dynamic prompt generation and improved user feedback.
- Updated text node to synchronize content changes with the React Flow state.
- Improved logging in edge removal to handle idempotent operations gracefully.
2026-03-26 17:35:25 +01:00
Matthias
824939307c feat: enhance canvas functionality with proximity edge handling and improved authentication logging
- Introduced temporary edge styling for proximity connections in the canvas.
- Updated edge synchronization logic to filter out temporary edges during data processing.
- Enhanced authentication logging to provide detailed user identity information when authentication fails.
- Added a new utility function for sanitizing edge handle IDs to ensure compatibility with React Flow.
- Implemented a node handle mapping for proximity connections to streamline edge management.
2026-03-26 10:57:10 +01:00
Matthias
5e99e8cfde feat: improve MiniMap node styling with dynamic color functions
- Introduced functions to determine node color and stroke color based on node type for the MiniMap component.
- Updated MiniMap to utilize these functions for enhanced visual representation of nodes.
2026-03-25 21:54:42 +01:00
Matthias
da6529f263 feat: enhance canvas functionality with new node types and improved data handling
- Added support for a new "compare" node type to facilitate side-by-side image comparisons.
- Updated AI image and prompt nodes to include aspect ratio handling for better image generation.
- Enhanced canvas toolbar to include export functionality for canvas data.
- Improved data resolution for compare nodes by resolving incoming edges and updating node data accordingly.
- Refactored frame node to support dynamic resizing and exporting capabilities.
- Introduced debounced saving for prompt node to optimize performance during user input.
2026-03-25 21:33:22 +01:00
Matthias
fffdae3a9c feat: integrate credit cost tracking in AI image generation and prompt nodes
- Added credit cost tracking to AI image nodes, displaying the cost in Euro-Cent.
- Updated prompt node to create edges between prompt and AI image nodes during image generation.
- Enhanced Convex action to include credit cost in image generation data handling.
- Introduced utility function for formatting Euro-Cent values for better user display.
2026-03-25 18:27:45 +01:00
Matthias
8d6ce275f8 feat: enhance AI image generation and prompt handling in canvas components
- Introduced shimmer animation for loading states in AI image nodes.
- Updated prompt node to handle image generation with improved error handling and user feedback.
- Refactored AI image node to manage generation status and display loading indicators.
- Enhanced data handling in canvas components to include canvasId for better context management.
- Improved status message handling in Convex mutations for clearer user feedback.
2026-03-25 18:18:55 +01:00
Matthias
ca40f5cb13 feat: enhance canvas and layout components with new features and improvements
- Added remote image patterns to the Next.js configuration for enhanced image handling.
- Updated TypeScript configuration to exclude the 'implement' directory.
- Refactored layout component to fetch initial authentication token and pass it to Providers.
- Replaced CanvasToolbar with CanvasSidebar for improved UI layout and functionality.
- Enhanced Canvas component with new drag-and-drop file upload capabilities and batch node movement.
- Updated various node components to support new status handling and improved user interactions.
- Added debounced saving for note and prompt nodes to optimize performance.
2026-03-25 17:58:58 +01:00
Matthias
d1834c5694 feat: enhance dashboard and canvas page functionality
- Added theme support to the dashboard with light, dark, and system options.
- Improved canvas ID handling with validation and fetching logic.
- Updated layout component to suppress hydration warnings for better rendering.
- Refactored dashboard to include user session management and workspace creation functionality.
2026-03-25 15:32:20 +01:00
Matthias
056e60743d feat: add Resend integration for email verification and update package dependencies
- Integrated Resend for sending email verification upon user sign-up.
- Updated package.json to include Resend as a dependency.
- Enhanced authentication flow with error handling for email sending.
- Removed outdated Canvas Implementation Guide documentation.
2026-03-25 14:56:20 +01:00
Matthias
4d17936570 feat: implement Convex-synced canvas foundation 2026-03-25 14:21:19 +01:00
Matthias
66c4455033 feat: update dependencies and refactor layout and homepage components
- Added new dependencies: @daveyplate/better-auth-ui, next-themes, and sonner.
- Refactored layout component to use Providers and Toaster for better state management and notifications.
- Updated homepage to utilize authClient for session management and improved user experience with navigation links for sign-in and sign-up.
2026-03-25 11:42:02 +01:00
Matthias
cd857a01f5 feat: dashboard, Convex auth, UI components, and LemonSpace branding
- Add dashboard shell with auth integration
- Wire Better Auth / Convex (client, server, HTTP routes)
- Add shadcn-style UI primitives and logo assets
- Update global styles and landing page
- Add internal docs (.docs)

Made-with: Cursor
2026-03-25 10:15:42 +01:00
Matthias
2cead5e87b feat: initial commit 2026-03-25 08:17:12 +01:00