bolt.diy/app
Stijnus 24d9ed63fa Update Preview.tsx
# 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
2025-03-02 15:02:18 +01:00
..
components Update Preview.tsx 2025-03-02 15:02:18 +01:00
lib fix: handle empty content correctly in FilesStore saveFile() (#1381) 2025-03-01 02:34:39 +05:30
routes fix: fix enhance prompt to stop implementing full project instead of enhancing (#1383) #release 2025-03-01 01:34:35 +05:30
styles feat: Add Diff View and File History Tracking 2025-02-23 07:55:38 -03:00
types fix: fix enhance prompt to stop implementing full project instead of enhancing (#1383) #release 2025-03-01 01:34:35 +05:30
utils fix: fix enhance prompt to stop implementing full project instead of enhancing (#1383) #release 2025-03-01 01:34:35 +05:30
entry.client.tsx
entry.server.tsx feat: enhance context handling by adding code context selection and implementing summary generation (#1091) #release 2025-01-22 22:48:13 +05:30
root.tsx
vite-env.d.ts