This pull request introduces several new features and enhancements to the application, primarily focusing on profile management, drag-and-drop functionality, and device handling. The most important changes include adding new hooks and functions for saving profile settings, implementing drag-and-drop capabilities in the UI, and updating the profile manager to handle new device types and triggers.
Profile Management Enhancements:
Added save_profile_settings function to handle saving profile settings in src-tauri/src/profiles/actions.rs.
Implemented update_active_profile_settings method in ProfileManager to update device triggers in src-tauri/src/profiles/mod.rs.
Drag-and-Drop Functionality:
Integrated DndContext and handleDragEnd for drag-and-drop support in src/components/app-layout.tsx.
Created SidebarDraggableItem component for draggable sidebar items in src/components/app/sidebar-draggable-item.tsx.
Added DropZone component to handle droppable areas in src/pages/deck/deck-droppable-key.tsx.
Device Handling:
Added DeviceType::from_str method to convert strings to DeviceType in src-tauri/src/profiles/mod.rs.
Updated AppLayout to manage dropped items and selected devices in src/components/app-layout.tsx.
UI and Documentation Updates:
Updated DEVELOPMENT.md with new sections for hooks and UI draggable elements [1][2].
Modified AppSidebar to include draggable items and updated UI components in src/components/app/Sidebar.tsx.
These changes collectively enhance the application's functionality and improve the user experience by enabling dynamic profile management and interactive drag-and-drop features.
This pull request introduces several new features and enhancements to the application, primarily focusing on profile management, drag-and-drop functionality, and device handling. The most important changes include adding new hooks and functions for saving profile settings, implementing drag-and-drop capabilities in the UI, and updating the profile manager to handle new device types and triggers.
Profile Management Enhancements:
save_profile_settings
function to handle saving profile settings insrc-tauri/src/profiles/actions.rs
.update_active_profile_settings
method inProfileManager
to update device triggers insrc-tauri/src/profiles/mod.rs
.Drag-and-Drop Functionality:
DndContext
andhandleDragEnd
for drag-and-drop support insrc/components/app-layout.tsx
.SidebarDraggableItem
component for draggable sidebar items insrc/components/app/sidebar-draggable-item.tsx
.DropZone
component to handle droppable areas insrc/pages/deck/deck-droppable-key.tsx
.Device Handling:
DeviceType::from_str
method to convert strings toDeviceType
insrc-tauri/src/profiles/mod.rs
.AppLayout
to manage dropped items and selected devices insrc/components/app-layout.tsx
.UI and Documentation Updates:
DEVELOPMENT.md
with new sections for hooks and UI draggable elements [1] [2].AppSidebar
to include draggable items and updated UI components insrc/components/app/Sidebar.tsx
.These changes collectively enhance the application's functionality and improve the user experience by enabling dynamic profile management and interactive drag-and-drop features.