527 Commits

Author SHA1 Message Date
2d32c55456 Add filter and sort persistence to multiple dashboard components
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Enhanced various components across the Dashboard, including Invoices, Payments, TaxRecords, and Inventory items, by adding props to save and use filters and sorting in both session and URL.
- This update improves user experience by maintaining state across sessions and enhancing data handling consistency throughout the application.
2026-08-01 14:10:16 +01:00
ddd48660e0 Refactor Filament and Printer Profiles components to streamline state management and remove unused context
- Removed unnecessary useContext for ApiServerContext in both FilamentProfiles and PrinterProfiles components.
- Simplified modal state handling by consolidating profile modal logic into a single state variable for new profiles.
- Cleaned up the handleRowAction function in both components, focusing on new profile creation and removing delete functionality for improved clarity.
2026-08-01 14:09:16 +01:00
e4657cc692 Add keyboard shortcuts to ObjectTableNavigationButtons for enhanced navigation
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Integrated KeyboardShortcut component to allow navigation using 'ALT + LEFT' and 'ALT + RIGHT' key combinations.
- Updated button handlers to trigger navigation actions based on keyboard shortcuts, improving user experience and accessibility.
- Ensured that navigation is only triggered when the buttons are not disabled and the relevant neighbors exist.
2026-08-01 14:00:45 +01:00
9d3de7bc01 Refactor KeyboardShortcut component for improved key handling and logging
- Updated the `parseShortcut` function to utilize a modifier aliases object for better readability and maintainability.
- Introduced `getPressedKey` function to streamline key detection logic.
- Replaced the previous shortcut key set management with a more efficient use of `useMemo` and `useState` for tracking pressed keys.
- Added optional `log` prop to enable logging of key events for debugging purposes.
- Enhanced the overall structure and performance of the KeyboardShortcut component.
2026-08-01 14:00:40 +01:00
0e0accc115 Update navigation button states across various components to improve user interaction
- Modified the `disabled` prop for `ObjectTableNavigationButtons` in multiple components, including InvoiceInfo, PaymentInfo, and TaxRecordInfo, to account for both loading states and editing states.
- This change enhances user experience by preventing interactions during loading or editing, ensuring a smoother workflow across the dashboard.
2026-08-01 13:36:29 +01:00
a2a1c5be5b Add ObjectTableNavigationButtons to various components for improved navigation
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Integrated ObjectTableNavigationButtons into multiple components including InvoiceInfo, PaymentInfo, TaxRecordInfo, and others to enhance user navigation.
- Each button is configured with appropriate props for object type and ID, ensuring consistent functionality across the dashboard.
- This update improves the overall user experience by providing quick access to related object actions.
2026-08-01 13:18:03 +01:00
f05ed39184 Enhance Printers component with session and URL filter/sort persistence
- Added props to the Printers component to enable saving and using filters and sorting in both session and URL, improving user experience and state management consistency.
2026-08-01 12:38:32 +01:00
bc465f7202 Integrate TableStateContext for enhanced table state management
- Introduced TableStateContext to manage table filters and sorting, allowing for persistence across sessions and URL parameters.
- Updated ObjectTable and DashboardBreadcrumb components to utilize the new context for improved filter handling and user experience.
- Refactored DashboardLayout to include TableStateProvider, ensuring consistent state management across the dashboard components.
2026-08-01 12:38:21 +01:00
84b7197bb9 Enhance ObjectCard and ObjectTable components with skeleton loading support
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Added an `isSkeleton` prop to ObjectCard for conditional rendering of skeleton loaders, improving user experience during data fetching.
- Updated ObjectTable to manage skeleton boundaries, allowing for dynamic loading of pages based on visibility of skeleton cards.
- Refactored scroll handling in ObjectTable to utilize IntersectionObserver for better performance and responsiveness.
2026-08-01 12:19:27 +01:00
3c634a90d0 Refactor ObjectCard and ObjectTable components for improved layout and responsiveness
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Introduced a new method to dynamically calculate card column span based on container width in ObjectTable, enhancing responsiveness.
- Updated ObjectCard to simplify rendering logic by extracting name and state properties into a separate component.
- Added min-width: 0 to relevant CSS classes in App.css to ensure proper layout handling and prevent overflow issues.
2026-08-01 00:05:10 +01:00
c6ad465ad6 Enhance layout and styling across various components
- Added min-height: 0 to Flex components in multiple files to improve layout consistency.
- Updated App.css with new styles for .farmcontrol-splitter and .objectTableCards to enhance visual structure and overflow handling.
- Refactored ObjectTable component to utilize ScrollBox for better scrolling behavior and layout management.
2026-07-31 23:41:49 +01:00
db249d9dc9 Add Part Stock and Product Stock Events sections to Inventory components
- Introduced new 'Part Stock Events' and 'Product Stock Events' sections in PartStockInfo and ProductStockInfo components, respectively.
- Updated state management to include events and modified the UI to display event-related information.
- Added icons and collapsible sections for better organization and user experience.
2026-07-31 22:54:28 +01:00
f85b176709 Refactor ActivityIndicator and ObjectCard components to utilize Thumbnail for image rendering
- Removed unnecessary state and effects related to image loading in ActivityIndicator, replacing them with the new Thumbnail component for better performance and simplicity.
- Updated ObjectCard to conditionally render a Thumbnail based on the presence of a thumbnail property, enhancing the visual representation of objects.
- Introduced a new Thumbnail component to handle image fetching and rendering, including support for blurHash decoding and fallback UI.
2026-07-31 22:54:18 +01:00
36a3e81f47 Add navigation gesture support in mainWindow and ElectronContext
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Implemented navigation gestures in mainWindow.js to handle swipe and app-command events for back and forward navigation.
- Enhanced ElectronContext.jsx to manage navigation history through IPC events and added horizontal scroll detection for improved user experience.
- Introduced a debounce mechanism for navigation actions to prevent rapid triggering.
2026-07-28 02:54:29 +01:00
f743f9b892 Refactor TemplateEditor and TemplatePreview components for improved performance and error handling
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Updated TemplateEditor to use useCallback for handlePreviewMessage, optimizing performance.
- Enhanced TemplatePreview by adding default no-op functions for onTestObjectOpen and onPreviewMessage props.
- Improved error handling in fetchTemplatePDF and fetchTemplatePreview methods to ensure callbacks are only invoked if they are functions.
- Refactored preview loading logic to prevent unnecessary calls when template ID is not available.
2026-07-28 01:50:16 +01:00
f6736c9abb Enhance ControlPrinter and related components with improved UI and functionality
- Added new icons for movement and settings in the ControlPrinter component.
- Refactored InfoCollapse components to include better styling and structure.
- Updated PrinterTemperaturePanel, PrinterPositionPanel, PrinterMovementPanel, and PrinterMiscPanel to support a disabled state based on connection status.
- Improved layout and styling in App.css for better visual consistency across components.
2026-07-27 23:10:24 +01:00
4fbb434103 Refactor DocumentSizeInfo and DocumentTemplateInfo components for improved UI and functionality
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Adjusted the disabled state logic in DocumentSizeInfo and DocumentTemplateInfo components for better clarity during editing.
- Added labelWidth properties to DocumentTemplateInfo for enhanced layout control.
- Updated the labelWidth in DocumentTemplateInfo to improve consistency in UI presentation.
2026-07-27 02:48:48 +01:00
9e65f6d46d Enhance DocumentPrinter components with labelWidth adjustments and UI improvements
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Added labelWidth properties to NewDocumentPrinter and DocumentPrinterInfo components for better layout control.
- Updated the DocumentPrinter model to change the label from 'Current Document Size' to 'Document Size' for clarity.
- Improved the disabled state handling in DocumentPrinterInfo for better user experience during editing.
2026-07-27 02:43:42 +01:00
28dfb645ef Add blurhash support for user profile images in ActivityIndicator component
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Integrated the blurhash library to decode and display blurred placeholders for user profile images.
- Updated UserProfileImage component to accept a blurHash prop and render the decoded image when available.
- Enhanced UserActivityAvatar to retrieve and pass the blurHash from user data, improving the visual experience during image loading.
2026-07-26 21:28:43 +01:00
580e5dbb34 Update ObjectSelect component to adjust styling for improved layout
- Modified the style of the main container in ObjectSelect to include a relative position, enhancing the layout and positioning of child elements.
2026-07-26 21:21:18 +01:00
5c5083c615 Update loading indicator in ObjectChildTable to use a fragment for improved rendering 2026-07-26 21:21:12 +01:00
5e19b6c9b0 Refactor AlertsDisplay component to accept dynamic object and type props
- Updated AlertsDisplay to receive an object and its type instead of specific alerts and printerId, enhancing reusability for different object types.
- Modified ControlPrinter and ObjectProperty components to pass the new props structure, ensuring consistent alert handling across various contexts.
2026-07-26 21:11:15 +01:00
084d807c95 Enhance SpotlightTooltip component with model property integration
- Added the getModelProperty function to SpotlightTooltip for improved property handling.
- Updated ObjectProperty component to utilize dynamic properties based on the model type, enhancing flexibility in data representation.
2026-07-26 20:02:51 +01:00
8319d3d7b3 Enhance ObjectDisplay and StateTag components for improved state representation
- Integrated StateTag into ObjectDisplay to display the object's state conditionally.
- Updated gap handling in ObjectDisplay to account for both color and state properties.
- Modified StateTag to include a new 'showTag' prop for conditional rendering of the tag, enhancing flexibility in state display.
2026-07-26 20:02:44 +01:00
c6ec643a2f Refactor ObjectDisplay and ObjectTable components for improved subscription handling
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Updated ObjectDisplay to subscribe to object updates based on the object ID, enhancing responsiveness to changes.
- Refactored ObjectTable to streamline subscription logic, ensuring real-time updates are managed more efficiently and reducing unnecessary re-renders.
2026-07-26 19:26:52 +01:00
8ab1045732 Update TimeDisplay component to enhance layout flexibility
- Added the 'wrap' property to the Flex container in TimeDisplay, allowing for better handling of content overflow and improving overall layout adaptability.
2026-07-26 19:00:17 +01:00
4c19df717b Enhance SlicerIntegration layout for better responsiveness
- Wrapped the ObjectProperty component in a div with defined width properties to improve layout consistency and responsiveness within the SlicerIntegration component.
- Ensured that the display adapts better to varying screen sizes, enhancing user experience.
2026-07-26 18:37:42 +01:00
6ec1e9d3c0 Refactor ProductionOverview to replace HistoryDisplay with ModelHistoryDisplay
- Updated the ProductionOverview component to utilize ModelHistoryDisplay instead of HistoryDisplay for better clarity in displaying historical data for printers and jobs.
- Simplified the ObjectTable component's masterFilter for queued jobs, enhancing code readability.
2026-07-26 18:37:36 +01:00
2a849cea57 Enhance StateDisplay component to improve progress calculation
- Introduced a new progressValue calculation to round the currentState.progress for better precision in the displayed progress percentage.
- Updated the Progress component to utilize the new progressValue, ensuring accurate representation of loading progress.
2026-07-26 18:37:24 +01:00
4d9db747a2 Enhance Inventory Components with History Display Feature
- Added a HistoryDisplay component to FilamentStockInfo, PartStockInfo, and ProductStockInfo, allowing users to view historical data for filament, part, and product stocks.
- Introduced a new GraphIcon for visual representation in the collapsible history sections.
- Updated the state management to include history data, improving the overall functionality and user experience in inventory tracking.
2026-07-26 18:37:18 +01:00
fed7de8663 Update JobInfo component to pass complete object data to DeployJob component
- Modified the objectData prop in DeployJob to spread the properties from objectFormState, ensuring all relevant data is passed for deployment actions.
2026-07-26 16:10:14 +01:00
31e6356d9c Add additional hidden properties to ControlPrinter component 2026-07-26 16:10:06 +01:00
d122dfa83f Update ControlPrinter to consistently render AlertsDisplay component
- Moved the AlertsDisplay component to ensure it is always rendered within the ControlPrinter, improving visibility of alerts.
- Enhanced layout consistency by maintaining the structure of the component within the Flex container.
2026-07-26 15:00:58 +01:00
c588196580 Refactor AlertsDisplay component to simplify layout and remove mobile-specific logic
- Removed the useMediaQuery hook and associated mobile rendering logic, streamlining the component's structure.
- Updated the return statement to consistently render alerts within a Flex container, enhancing layout consistency.
2026-07-26 15:00:50 +01:00
9aa2b0f2f8 Add Meta Data section to FileInfo component and update file thumbnail fetching logic
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Introduced a new Meta Data section in the FileInfo component, allowing users to view file metadata.
- Added a fetchFileThumbnail function in ApiServerContext to retrieve file thumbnails, enhancing the user experience with profile images.
- Updated the UserProfileImage component to utilize the new thumbnail fetching logic, improving image loading efficiency.
- Added a hasThumbnails property to the File model to indicate the presence of thumbnail data.
2026-07-26 03:07:31 +01:00
ff61cd4f06 Refactor ObjectForm to enhance state management and activity handling
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Introduced a ref to track fetched objects, improving fetch logic clarity and preventing unnecessary updates.
- Updated event handlers for object updates and activity subscriptions to ensure they only trigger for the current object, enhancing performance and reducing potential errors.
- Consolidated state updates and notifications within useEffect hooks for better organization and efficiency.
2026-07-26 01:58:35 +01:00
78dba97107 Refactor ObjectForm to improve fetch logic and state management
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Removed the initialized state and replaced it with a ref to track fetched objects, enhancing clarity in the fetch condition.
- Updated the useEffect hook to streamline the fetch logic, ensuring it only triggers under the correct conditions.
- Reset form fields and activities upon fetching a new object, improving user experience during editing.
2026-07-26 01:53:39 +01:00
a4346ead98 Fixed warnings. 2026-07-26 01:53:28 +01:00
9956085e44 Refactor ObjectForm and ApiServerContext for improved activity handling
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Removed redundant calls to notifyActivityState in ObjectForm, consolidating activity state updates within useEffect hooks for better performance.
- Introduced resubscribeActivityListeners in ApiServerContext to manage activity subscriptions more effectively upon socket connection and page visibility changes.
- Enhanced activity event subscription management by utilizing a Set to track active subscriptions, improving clarity and reducing potential memory leaks.
2026-07-26 01:38:13 +01:00
0db2dff9fe Refactor ObjectForm condition check for clarity
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Updated the condition in ObjectForm to explicitly check for boolean true when verifying connection status, improving code readability and intent.
2026-07-26 01:01:49 +01:00
dcbf308988 Refactor dashboard components to replace LockIndicator with ActivityIndicator
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Updated various components to use ActivityIndicator instead of LockIndicator for better activity tracking.
- Adjusted layout spacing by changing Space component size from 'middle' to 'small' for improved UI consistency.
- Modified object form state to include activities instead of lock status, enhancing the user experience during editing.
2026-07-26 00:51:36 +01:00
86b43481d8 Improve styling and layout of dashboard components
- Updated line-height in markdown paragraphs for better readability.
- Adjusted margin in NoteItem component for improved spacing.
- Added a class name to Flex component in PropertyChanges for enhanced styling control.
2026-07-25 22:58:54 +01:00
41f844b49d Enhance Notification component with new features and improved structure
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Introduced memoization for NotificationBody and NotificationDetails components to optimize rendering performance.
- Added new notification types and corresponding message handling in getNotificationMessage function for better user feedback.
- Updated Notification component to support inline icons and detailed views for notifications.
- Refactored notification icon handling to utilize model-specific icons where applicable.
- Adjusted NotificationCenter to display notifications with new props for enhanced visibility and interaction.
- Increased notification duration for better user experience.
2026-07-25 01:36:10 +01:00
03cd3db1c7 Enhance NoteItem component with new props for body and footer visibility
- Added showBody and showFooter props to the NoteItem component to control the rendering of the note's content and footer elements.
- Refactored the component structure to conditionally display the body and footer based on the new props, improving flexibility in note presentation.
2026-07-25 01:35:41 +01:00
6471434d81 Update CountryDisplay component to improve layout consistency
- Added minWidth style to Flex and inner div elements to ensure proper alignment and prevent overflow issues in the CountryDisplay component.
2026-07-25 01:35:35 +01:00
2eda23fd06 Enhance CodeBlockEditor styling for minimal mode
- Added a class name 'minimal-code-block-editor' to the div in minimal mode for improved styling and potential CSS targeting.
2026-07-25 01:35:24 +01:00
b16cdd6e96 Enhance styling and functionality of dashboard components
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Added new CSS variables for padding in ScrollBox to improve layout.
- Updated ObjectForm to include console logs for debugging during editing cancellation.
- Refactored ObjectInfo to use mergeWith for better array handling in state updates.
- Enhanced ObjectProperty and ObjectTable components to support new props for better integration with tags.
- Improved TagsDisplay and TagsInput components for better tag management and display, including loading states and dynamic options fetching.
- Introduced getModelPropertyValues function in ApiServerContext for fetching model-specific property values, enhancing data handling capabilities.
2026-07-24 23:20:00 +01:00
70456d945d Enhance FileUpload, ObjectProperty, and ObjectSelect components by adding masterFilter prop for improved file filtering capabilities. Refactor FileList component styles for better layout consistency. Update ObjectSelect to accept custom styles, enhancing flexibility in usage. 2026-07-24 22:20:03 +01:00
c201d26744 Add pendingSlicerUploads and queue properties to printer components
- Updated ControlPrinter, NewPrinter, and PrinterInfo components to include pendingSlicerUploads and queue properties for enhanced state management.
- Modified Printer model to define pendingSlicerUploads structure, improving data handling for printer uploads.
2026-07-24 22:19:53 +01:00
80ecc8a175 Refactor PrinterProfiles and PrinterInfo components to streamline modal handling for new printer profiles. Removed the EditPrinterProfile component and simplified state management for profile modals. Updated NewPrinterProfile to accept default values and reset functionality, enhancing user experience when creating new profiles.
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
2026-07-24 21:13:41 +01:00