Conversation
- Removed old project layout components and replaced with a new Dock component structure. - Introduced ChatPanel and integrated it within the Dock layout. - Added new PreviewPanel and SidebarPanel components for enhanced file and GitHub synchronization. - Implemented TerminalRightHeaderActions for terminal management. - Created utility functions for handling terminal drops and managing global shortcuts. - Updated global keyboard shortcuts for better user experience. - Added watermark components for main and terminal views.
…h improved lifecycle handling
…ove loadPreviewURL prop
…implifying component structure
…functionality and visual feedback
…nce terminal management
… improve type safety
|
@Code-Victor is attempting to deploy a commit to the jamesmurdza's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
Thank you @jamesmurdza for the feedback. The first error is from the AI integration which hasn't been implemented yet. It should be done within today and tomorrow. As for the second, I'll look into it and get back to you. |
|
@jamesmurdza the later issue should be fixed now |
|
@Code-Victor How are we supposed to test this if we get the first error when loading the page? |
|
@jamesmurdza I'm sorry about that. I'm actively working to resolve the issue. However, the error only appears in sandboxes that have an existing AI chat conversation (specifically those with AI edits). In the meantime, you can try creating a new sandbox or opening one without an active AI chat conversation. Thank you. |
Sounds good! Thanks for the explanation. |
|
@Code-Victor @abdulrehmann231 Nice work, it's close! We still have some improvements to make. Have a look at this recording: Untitled.-.01.mp4 |
|
Hey @jamesmurdza , I will check this out and update you. |
Hey @jamesmurdza , can you please retest this |
|
@abdulrehmann231 I'm getting this: Untitled.2.mov |


🚀 New Editor Layout with Dockview Integration
📹 Demo
Video Demo Link
📋 Overview
This PR introduces a complete redesign of the editor layout system using Dockview, a professional-grade layout management library that provides VS Code-like panel management, drag-and-drop functionality, and flexible workspace customization.
Key Achievements
✅ Professional UI/UX - VS Code-quality panel management
✅ Drag & Drop - Move panels between containers with state preservation
✅ Terminal Persistence - XTerm instances survive panel moves
✅ Split Views - Create complex layouts with splits and tabs
✅ Auto-Hide Panels - Smart visibility management
✅ Keyboard Shortcuts - Power user workflows
✅ Type Safety - Full TypeScript coverage with proper types
🎯 Problem Statement
Before This PR
Our previous editor layout suffered from several limitations:
Impact on Users
💡 Solution
Architecture
We implemented a three-tier layout system:
Core Components
1. Layout System (
web/components/project/layout/)Main Layout (
index.tsx)Panel Components
editor-panel.tsx- Monaco editor wrapperterminal-panel.tsx- XTerm terminal wrapperpreview-panel.tsx- Live preview iframechat-panel.tsx- AI chat interfacesidebar-panel.tsx- File explorerTab Components (
tab-components.tsx)Utilities (
utils/)index.ts- Drop handling, position calculation, layout defaultsshortcuts.tsx- Global keyboard shortcuts2. Context Providers
ContainerContext (
context/container-context.tsx)ProjectContext (
context/project-context.tsx)3. Enhanced Terminal Management
TerminalContext (Enhanced)
Key Features:
Terminal Panel (
terminal-panel.tsx)onDidRemovePanelhandlerTerminal Component (
terminals/terminal.tsx)🎨 Drag & Drop Implementation
Challenges Solved
Drop Event Flow
Implementation Details
Position Mapping
Utility Function (
utils/index.ts)Auto-Hide Logic (
tab-components.tsx)⌨️ Keyboard Shortcuts
Cmd/Ctrl + LCmd/Ctrl + BCmd/Ctrl + SEscImplementation:
utils/shortcuts.tsxmonaco.addCommand()🧪 Testing Considerations
Manual Testing Checklist
Edge Cases Handled
appendChild()instead ofterminal.open()📚 Documentation
New Documentation
web/docs/DOCKVIEW_MENTAL_MODEL.md)Code Comments
🐛 Known Issues & Future Work
Known Limitations
Future Enhancements
Layout Persistence
Panel Serialization
Custom Layouts
Enhanced Terminal
Performance
🙏 Acknowledgments
🔗 Related Issues
📝 Checklist
🎬 Next Steps
After merge:
Thank you for reviewing! Please test the drag & drop functionality and provide feedback on the UX. 🙌