699 Commits

Author SHA1 Message Date
d0345fd7f3 Enhance window management for macOS and Windows
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Added functionality to maximize the window on macOS and set it to fullscreen on Windows during startup.
- Introduced applyStartupWindowState function to manage initial window state based on the operating system.
- Updated createMainWindow to call applyStartupWindowState for improved user experience.
2026-08-02 16:20:59 +01:00
8e3ce20bb6 Add macOS traffic light controls and enhance window management
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Introduced a new MacOSTrafficLights component to manage window controls (close, minimize, fullscreen) with custom SVG icons.
- Updated DashboardWindowButtons to integrate the new traffic light controls for macOS.
- Enhanced window control functionality in mainWindow.js to toggle fullscreen mode.
- Added CSS styles for traffic light indicators to improve visual representation.
- Refactored DashboardNavigation to streamline the handling of fullscreen state.
2026-08-02 15:57:54 +01:00
c334781689 Refactor Windows MSI installer sequence for improved action flow
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Adjusted the order of custom actions in the MSI wrapped configuration to streamline the installation process.
- Enhanced conditions for uninstalling previous versions and running the installer, improving clarity and maintainability of the script.
2026-08-02 14:16:58 +01:00
7150639908 Remove media queries for color scheme in preload.css to simplify styling. This change eliminates the background color definitions for dark and light modes, streamlining the CSS for the loader component.
Some checks reported errors
farmcontrol/farmcontrol-ui/pipeline/head Something is wrong with the build of this commit
2026-08-02 14:15:04 +01:00
655e1803ff Update macOS vibrancy styles for improved background opacity and add navigation wrapper styles
- Adjusted background opacity for light and dark modes in the sidebar to enhance visual consistency.
- Introduced new styles for the electron navigation wrapper in both light and dark modes to improve UI clarity.
- Refined overall CSS for macOS vibrancy to ensure better integration with the application layout.
2026-08-02 13:53:56 +01:00
884f66cc4c Refactor Windows MSI installer sequence for improved uninstall handling
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Adjusted custom actions in the MSI wrapped configuration to enhance the uninstall sequence for previous installations.
- Updated conditions for running the installer and managing previous uninstall commands and directories.
- Improved clarity and maintainability of the installer script.
2026-08-02 13:10:46 +01:00
a8339aa9f8 Enhance macOS window effects validation and build process
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Introduced functions to validate the macOS dynamic library, ensuring it meets size and architecture requirements.
- Updated build scripts to resolve target architecture dynamically and validate the generated dylib.
- Enhanced the macOS window effects implementation to include traffic light positioning and improved error handling.
- Refactored the dylib path resolution logic to support multiple potential locations for the library.
2026-08-02 13:05:28 +01:00
8d9455eaa9 Refine macOS vibrancy styles and enhance layout structure
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Updated CSS for macOS vibrancy, improving background opacity for light and dark modes in main content and sidebar.
- Added styles for selected menu items in light mode to enhance UI consistency.
- Modified DashboardLayout to include a specific class for the main content layout, ensuring better styling application.
2026-08-02 12:50:29 +01:00
805361516e Enhance macOS window effects and improve Electrobun integration
- Adjusted CSS for macOS vibrancy, refining background opacity for light and dark modes.
- Introduced new styles for selected menu items in dark mode to enhance UI consistency.
- Added traffic light positioning and window chrome observer in native macOS window effects for better window management.
- Refactored Electron context to utilize the Electrobun bridge for improved API interactions and error handling.
- Streamlined the initialization process for the Electrobun bridge in the main application entry point.
2026-08-02 12:18:30 +01:00
f6978f44b2 Enhance Electrobun integration and pre-build process
- Updated pre-build script to create a stub for the dev environment, preventing warnings during Vite development.
- Refactored electrobun-bridge.js to improve initialization logic and ensure proper setup of the Electrobun RPC.
- Modified ElectronContext to dynamically retrieve the desktop API, enhancing compatibility and maintainability.
- Integrated Electrobun bridge initialization in the main application entry point for improved startup behavior.
2026-08-02 03:19:36 +01:00
f59000778e Refactor Windows MSI installer configuration for improved uninstall handling
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Updated custom actions in the MSI wrapped configuration to use a unified property for command line execution.
- Simplified the install sequence by adjusting conditions for running the installer and uninstalling previous versions.
- Enhanced clarity and maintainability of the installer script.
2026-08-02 02:53:46 +01:00
b1ca3818e3 Enhance DashboardNavigation component with drag-and-drop support
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Added 'electrobun-webkit-app-region-no-drag' class to navigation items for improved drag-and-drop functionality in Electron.
- Updated layout structure to ensure proper flex behavior in the navigation component.
2026-08-02 02:52:28 +01:00
274852b895 Add macOS vibrancy support and related build scripts
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Introduced native macOS window effects with a new dynamic library for enhanced UI.
- Updated build scripts to compile the macOS effects library and integrate it into the application.
- Modified Electron context to apply macOS-specific styles and effects based on the platform.
- Enhanced CSS for macOS vibrancy support in the application layout.
- Updated configuration files to include new build steps and dependencies for macOS.
2026-08-02 02:44:24 +01:00
f90ef10b78 Refactor Windows installer scripts and enhance Electron navigation
- Added macros for uninstalling previous Farm Control installations in the NSIS installer.
- Updated the MSI wrapped configuration to include custom actions for handling previous installations.
- Improved the Electron navigation by modifying CSS classes for better drag-and-drop functionality.
- Enhanced build scripts to include the WixUtilExtension for improved MSI packaging.
2026-08-02 01:49:37 +01:00
37fe489b07 Refactor macappupdate.js to streamline imports and improve code clarity
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Replaced the use of createRequire with a direct import for the '@vscode/sudo-prompt' module.
- Removed unnecessary whitespace for cleaner code formatting.
2026-08-02 00:41:15 +01:00
613cb7712d Refactor finalize-desktop-artifacts script for improved readability and consistency
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Standardized import statements and formatting for better code clarity.
- Simplified logic in functions for determining build environment and artifact paths.
- Enhanced error handling in artifact publishing and cleaning functions.
- Streamlined file walking and searching functions to improve maintainability.
2026-08-02 00:38:34 +01:00
47c97a1771 Update Vite configuration to use dynamic import for SVGO plugin
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Replaced static import of svgo with dynamic require to enhance compatibility with ES modules.
- Improved overall build configuration by ensuring proper loading of the SVGO plugin.
2026-08-02 00:30:55 +01:00
3209880cc5 Add new dependencies and update package versions in pnpm-lock.yaml
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Added electrobun, jimp, png-to-ico, and rcedit with specified versions.
- Updated package resolutions for various jimp plugins and utilities to version 1.6.1.
- Included new tokenizer and quickjs-emscripten packages with their respective versions.
- Ensured compatibility with Node.js version 18 for new packages.
2026-08-02 00:29:49 +01:00
888c0fe38a Enhance build configuration and scripts for multi-platform support
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Updated electrobun.config.ts to include environment-based settings for macOS builds.
- Added new build scripts for Windows and macOS, including support for architecture-specific builds.
- Introduced scripts for cleaning build artifacts, managing dependencies, and ensuring core binaries are present.
- Enhanced Jenkinsfile to integrate new build processes and improve artifact management.
- Added new assets for application icons and installer configurations.
- Implemented NSIS and MSI packaging scripts for Windows installer creation.
- Updated package.json with new scripts for development and build processes, including post-installation tasks.
2026-08-02 00:28:33 +01:00
f1826548ea Add initial Electrobun configuration and build scripts for macOS
Some checks reported errors
farmcontrol/farmcontrol-ui/pipeline/head Something is wrong with the build of this commit
- Created electrobun.config.ts to define application settings and build parameters.
- Added build-macos.mjs script to handle macOS builds, including architecture targeting.
- Introduced finalize-desktop-artifacts.mjs for managing post-build processes and artifact publishing.
- Implemented pre-build.mjs for validating required files before the build process.
- Added utility scripts for managing release artifacts and syncing views.
- Established desktop-specific functionalities in the src/desktop directory, including app update handling and menu management.
- Updated .gitignore to include dist directory and test results for cleaner repository management.
- Introduced bun.lock for dependency management with Bun.
2026-08-01 20:18:02 +01:00
0b98d8041e Update Jenkinsfile to reduce build log retention from 20 to 10 builds for improved resource management 2026-08-01 20:17:12 +01:00
00f55d44bf Update PrinterMiscPanel to modify G-code scripts for LCD and BEEPER control
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Changed the script for controlling the LCD backlight to use the SET_PIN command with the appropriate pin name.
- Updated the BEEPER control script to utilize the SET_PIN command, adjusting the value format for consistency in handling sound output.
2026-08-01 19:37:02 +01:00
1cc77390df Refactor printer control actions and introduce new restart components
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Removed outdated restart functions from ControlPrinter component to streamline code.
- Added new RestartPrinter, RestartPrinterFirmware, and RestartMoonraker components for improved modularity and user interaction.
- Updated Printer model to integrate new restart components into the action menu, enhancing user experience and maintainability.
2026-08-01 19:18:20 +01:00
8fb8f5e337 Refactor UserProfilePopover and ActionsContext for improved state management and action handling
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Integrated useEffect in UserProfilePopover to close the popover on route changes, enhancing user experience.
- Simplified modal object data handling in ActionsContext to ensure consistent user profile access.
- Updated User model action handling to correctly pass user data to the NewAppPassword component.
- Streamlined dropdown action rendering in UserProfilePopover, improving code clarity and maintainability.
2026-08-01 19:09:24 +01:00
f4635d9188 Refactor finance and inventory components to enhance modal handling and state management
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Integrated useEffect hooks in InvoiceInfo, PaymentInfo, and other components to utilize ActionsContext for managing modal states.
- Removed unused modal states and related code to streamline component logic.
- Added setCurrentObject prop to various components for improved object handling during state changes.
- Enhanced overall code maintainability and readability by consolidating modal logic and reducing redundancy.
2026-08-01 18:25:47 +01:00
89b6f476c1 Add ModelRoutes and ActionsContext for enhanced model management
- Introduced ModelRoutes to handle dynamic routing for model pages based on object models.
- Created ActionsContext to manage actions and modal states across components, improving action handling and navigation.
- Updated various components to utilize the new buildActionUrl utility for consistent URL generation.
- Refactored existing components to integrate the ActionsProvider, enhancing state management and user interaction.
2026-08-01 18:25:29 +01:00
c3cfd0a55e Remove unused DownloadIcon import from About component to streamline code and improve maintainability.
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
2026-08-01 17:17:01 +01:00
e6760d3dfc Add SoftwareUpdateIcon component and integrate into About and AppUpdateProgress
Some checks failed
farmcontrol/farmcontrol-ui/pipeline/head There was a failure building this commit
- Created SoftwareUpdateIcon component using SVG for software update representation.
- Replaced DownloadIcon with SoftwareUpdateIcon in the About component's update actions for better visual context.
- Enhanced AppUpdateProgress modal title with SoftwareUpdateIcon for improved user interface clarity.
- Updated imports and styling in relevant components to accommodate the new icon.
2026-08-01 16:40:33 +01:00
d982b8dfb3 Refactor components to improve logging and ID handling
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Removed console.log statements from FilePreview and ObjectForm components for cleaner code.
- Replaced console.log with loglevel in KeyboardShortcut for better logging management.
- Updated ID handling in ObjectForm, ObjectTable, PrinterMiscPanel, PrinterPositionPanel, and PrinterTemperaturePanel components to ensure IDs are consistently converted to lowercase, enhancing data integrity.
2026-08-01 16:18:37 +01:00
a2d27c692a Add PrinterControlButtons component for enhanced printer action management
- Introduced PrinterControlButtons to encapsulate start, pause, and cancel actions for printers, improving user interaction.
- Updated ControlPrinter component to integrate PrinterControlButtons, enhancing layout with Flex for better alignment.
- Adjusted button states based on printer status and loading state, ensuring appropriate user feedback and action availability.
2026-08-01 15:54:00 +01:00
e3544ef2e2 Refactor PrinterPositionPanel and PrinterTemperaturePanel for improved styling and layout
- Introduced controlLabelStyle and controlInputStyle for consistent styling of control elements in PrinterPositionPanel.
- Replaced Space components with Flex for better alignment and layout management in PrinterPositionPanel.
- Updated input field widths in PrinterTemperaturePanel for enhanced usability and consistency.
2026-08-01 15:37:51 +01:00
e52798d4ac Enhance printer panels to handle offline state more effectively
- Added an `offline` prop to PrinterTemperaturePanel, PrinterMiscPanel, and PrinterPositionPanel components to manage state when printers are offline.
- Implemented useEffect hooks in each panel to reset relevant data when offline, ensuring accurate display of printer status.
- Updated ControlPrinter component to pass the `offline` state based on the printer's online status, improving user experience during offline scenarios.
2026-08-01 15:28:48 +01:00
f3d6bebc38 Integrate TableStateProvider into App and Dashboard components for enhanced state management
- Added TableStateProvider to the App component, encapsulating routing logic to manage table states effectively.
- Removed redundant TableStateProvider from the DashboardLayout component, streamlining the component structure.
- Updated ControlPrinter and ObjectActions components to improve action visibility and navigation button rendering based on slicer integration state.
- Enhanced action filtering in ObjectActions to eliminate unnecessary dividers, improving menu item clarity.
2026-08-01 15:21:58 +01:00
12cae32e33 Enhance Thumbnail and ApiServerContext components for improved functionality
- Removed the default border style from the Thumbnail component to streamline its appearance.
- Updated the Thumbnail component to dynamically set the width in the card styles, enhancing layout flexibility.
- Modified the fetchFileThumbnail function in ApiServerContext to include an optional parameter for handling 404 errors, improving error management during thumbnail fetching.
- Added a thumbnail property to the GCodeFile model, enabling thumbnail support for GCode files.
2026-08-01 15:11:02 +01:00
6ea5f2848a Add filter and sort persistence to Users component
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Introduced new props to the Users component to enable saving and using filters and sorting in both session and URL.
- This enhancement improves user experience by maintaining filter and sort states across sessions, aligning with recent updates across other dashboard components.
2026-08-01 14:45:49 +01:00
1efebeeda6 Refactor ObjectTable component for improved readability and styling consistency
- Simplified the loadPage function call by consolidating parameters into a single line, enhancing code clarity.
- Updated the Splitter component's className to include 'large', ensuring consistent styling across the dashboard components.
2026-08-01 14:44:56 +01:00
342f770841 Optimize FilterIcon rendering in DashboardBreadcrumb component
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Simplified the rendering of the FilterIcon by removing unnecessary opacity styling, enhancing visual clarity while maintaining the intended design.
- This change contributes to a cleaner and more efficient component structure in the Dashboard.
2026-08-01 14:26:44 +01:00
9b17253c6d Enhance model filters across various database models to include '_reference' and additional fields
- Updated filters in multiple models such as AppPassword, AuditLog, Client, Courier, and others to include '_reference' and other relevant fields like 'createdAt' and 'updatedAt'.
- This change improves data handling and consistency across the application, ensuring that all necessary fields are available for filtering.
2026-08-01 14:26:34 +01:00
7b926ec409 Update keyboard shortcut hints in ObjectTableNavigationButtons for clarity
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Changed the keyboard shortcut hints from 'ALT LEFT' and 'ALT RIGHT' to 'ALT ←' and 'ALT →' respectively, enhancing visual clarity for users.
- This update aligns with the overall goal of improving user experience and accessibility in navigation.
2026-08-01 14:18:05 +01:00
f91b011c5e Add keyboard shortcuts to EditButtons for improved editing experience
- Integrated KeyboardShortcut component to the EditButtons, allowing users to trigger update and cancel actions using 'ALT + S' and 'ALT + C' respectively during editing.
- Added a shortcut for starting editing with 'ALT + E' when not in editing mode, enhancing user interaction and accessibility.
- Updated button states to ensure actions are only available when not loading or disabled, improving overall workflow efficiency.
2026-08-01 14:18:00 +01:00
dc4a38f391 Refactor KeyboardShortcut component to simplify state management
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Removed unused state for tracking pressed keys, streamlining the key handling logic.
- Eliminated the sync function for pressed keys, enhancing performance and reducing complexity.
- Maintained existing functionality while improving the overall structure of the component.
2026-08-01 14:13:24 +01:00
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
55a2ad2c5f Update Printer model filters to include '_reference' for improved data handling
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
2026-08-01 12:41:30 +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