mirror of
https://github.com/stackblitz-labs/bolt.diy
synced 2025-03-10 06:00:19 +00:00
# Device Frame Feature Implementation ## Key Features Added 1. **Device Frames for Mobile and Tablet Previews** - Added visual frames for iPhone and iPad devices - Implemented both portrait and landscape orientations - Created realistic device bezels with notches and home buttons 2. **Device Options Panel** - Added toggle for showing/hiding device frames - Added toggle for landscape/portrait orientation - Updated device size information display 3. **External Window Preview Enhancements** - Fixed "about:blank" issue with external previews - Implemented reliable window creation with proper dimensions - Added device name and orientation labels ## Technical Implementation Details 1. **Frame Rendering Approach** - Created a complete HTML document with styling for device frames - Used document.write() to inject content into new window - Implemented proper iframe loading within the device frame 2. **Responsive Design** - Dynamic adjustment of frame elements based on device type - Proper handling of orientation changes (landscape/portrait) - Appropriate sizing for different device types (mobile vs tablet) 3. **Security and Reliability** - Avoided cross-origin manipulation issues - Implemented error handling for window creation - Maintained proper sandbox attributes for security ## UI/UX Improvements 1. **Visual Enhancements** - Added realistic device styling (rounded corners, notches, buttons) - Implemented proper shadows and depth for 3D appearance - Created clean, minimal interface for device controls 2. **User Controls** - Intuitive toggles for device frame and orientation - Clear labeling of device dimensions and frame status - Maintained existing preview functionality while adding new features ## Code Quality 1. **Maintainability** - Used TypeScript interfaces for proper typing - Implemented clean separation of concerns - Added appropriate comments for complex sections 2. **Performance** - Optimized rendering approach to avoid unnecessary reflows - Used efficient DOM manipulation techniques - Maintained responsive performance across different device sizes |
||
---|---|---|
.. | ||
components | ||
lib | ||
routes | ||
styles | ||
types | ||
utils | ||
entry.client.tsx | ||
entry.server.tsx | ||
root.tsx | ||
vite-env.d.ts |