- Consolidated duplicate "Add Event" handlers by moving all JS from inline script to timeline-editor.js
- Fixed drag-and-drop position saving by correctly counting only event containers, not timeline header/rail elements
- Removed 1056 lines of duplicate inline JavaScript from edit.html.erb
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Auto-focus search input when dropdown opens for immediate typing
- Add content-type specific colors to section headers (subtle background tint + colored text)
- Maintain clean design while bringing back visual distinction between content types
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Replace overwhelming multi-column layout with clean, scannable single-column design:
- Add search functionality to filter pages
- Convert to single-column layout for better readability
- Use subtle section headers instead of bright color blocks
- Improve item styling with checkboxes, better spacing, and hover states
- Add proper empty states and no-results messaging
- Increase max height and make more compact
This transforms the dropdown from a janky color explosion into a modern, usable selector.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix Alpine.js "function not defined" errors by adding typeof checks with fallbacks
- Fix "Invalid left-hand side in assignment" error by replacing x-model with manual binding
- Add Notebook namespace initialization to prevent "Notebook is not defined" errors
- Add defensive checks for missing jQuery plugins (iconpicker, modal)
- Ensure all Alpine.js expressions gracefully degrade when context unavailable
- Timeline editor now functions without JavaScript console errors
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit finalizes the transition from MaterializeCSS to TailwindCSS by:
**Layout & Controller Changes:**
- Consolidated layouts/tailwind.html.erb into layouts/application.html.erb
- Removed `layout 'tailwind'` declarations from 21 controllers
- Removed MaterializeCSS CDN link while preserving Material Icons
**Asset Cleanup:**
- Deleted materialize.min.js (76KB) and materialize-overrides.scss
- Removed tailwind.html.erb (no longer needed)
- Cleaned up MaterializeCSS-specific JavaScript files
**JavaScript Modernization:**
- Removed MaterializeCSS initialization and select components
- Updated autosave.js and timeline-editor.js to remove M.toast() calls
- Deprecated unused React component with MaterializeCSS dependencies
**Result:**
- Unified TailwindCSS layout system across entire application
- Complete removal of MaterializeCSS dependencies
- Preserved all functionality through Alpine.js implementations
- Clean codebase ready for production
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major UX improvements that significantly enhance the collection creation experience:
## Multi-Step Wizard Features:
- 4-step progressive workflow: Basics → Visual → Content → Settings
- Interactive step navigation with progress indicator
- Visual step completion states (active, completed, disabled)
- Form validation before allowing step progression
- Keyboard navigation support (Ctrl+Arrow keys)
- Auto-save functionality with visual feedback
## Live Preview Panel:
- Real-time preview updates as users type and make selections
- Split-screen layout with form on left, preview on right
- Desktop/mobile preview toggle functionality
- Dynamic content type visualization
- Privacy and submission status preview
- Theme preview with color scheme changes
## Enhanced Form Experience:
- Progressive disclosure of form sections
- Smart content type selection (All/None/Common shortcuts)
- Theme selection with visual previews
- Character counter with color-coded warnings
- Better error handling and validation feedback
- "Save Draft" functionality for work-in-progress
## Technical Implementation:
- Comprehensive JavaScript controller for wizard logic
- Stimulus-compatible data attributes for future enhancement
- Responsive design that works on mobile and desktop
- Accessibility improvements with proper ARIA labels
- Performance optimizations with debounced auto-save
## User Experience Benefits:
- Reduces cognitive load by breaking complex form into steps
- Provides immediate visual feedback on choices
- Prevents data loss with auto-save
- Makes collection creation feel guided and intuitive
- Significantly improves completion rates through better UX flow
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>