Add Soundboard View Mode with Dynamic Grid Layout #567
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
Implements a new Soundboard View mode as an alternative to the traditional three-panel layout. Users can toggle between Traditional View and Soundboard View via the View menu, with full state preservation and profile-based persistence.
Key Features
🎹 Dynamic Grid Layout
calc(100vh - 140px)constraint🔍 Collapsible Search Panel
📑 Multiple Tabs
💾 File Import/Export
.mxbfile format (JSON-based)⌨️ Keyboard Navigation
🎨 UI/UX Improvements
Technical Implementation
New Modules
src/renderer/modules/soundboard/index.js(590 lines): Main module with event handling, initializationsoundboard-grid.js(244 lines): Dynamic grid layout, responsive columnssoundboard-data.js(655 lines): Save/load, file operations, button assignmentssoundboard-ui.js(167 lines): Tab management, drag-drop handlerssoundboard-events.js(263 lines): Button clicks, keyboard navigationsoundboard-search-panel.js(484 lines): Collapsible search with animationssrc/renderer/modules/view-manager/index.js(367 lines): View switching, state preservation, IPC coordinationIntegration Points
profile-statemoduleCSS Updates
src/stylesheets/index.cssArchitecture Patterns
✅ Follows existing module patterns (singleton exports, ES modules)
✅ Uses debug logger (no console.log)
✅ Context isolation compatible (secure API access)
✅ Two-phase initialization (bootstrap + dependency injection)
✅ Profile state integration
✅ Comprehensive documentation with READMEs
Documentation
Testing Recommendations
.mxbfiles)Screenshots
(Screenshots would go here showing the soundboard view, search panel toggle, etc.)
Breaking Changes
None. This is purely additive functionality.
Deployment Notes
.mxbfile format introduced