Skip to content

Conversation

@embire2
Copy link

@embire2 embire2 commented Aug 27, 2025

🚀 Simplified Netlify Deployment with Inline Connection

This PR dramatically improves the Netlify deployment experience by allowing users to connect their Netlify account directly from the deployment dialog, eliminating the need to navigate to Settings first.

🎯 Problem Solved

Previously, users had to:

  1. Navigate to Settings
  2. Find the Connections tab
  3. Connect their Netlify account
  4. Go back to their project
  5. Finally deploy

Now they can connect and deploy in one seamless flow!

✨ Features

1. Unified Deployment Dialog (DeployDialog.tsx)

  • Clean, modern interface showing all deployment providers
  • Visual indicators for connection status
  • Provider features highlighted
  • Support for future providers (Vercel, Cloudflare Pages)

2. Inline Netlify Connection

  • Connect directly from the deployment dialog
  • No need to leave your project context
  • Immediate deployment after connection

3. Reusable Quick Connect Component (NetlifyQuickConnect.tsx)

  • Step-by-step instructions for obtaining API tokens
  • Collapsible help section with visual guide
  • Used in both Settings and Deploy Dialog for consistency

4. Fixed Provider Icons

  • Replaced unreliable external CDN images with icon fonts
  • Added @iconify-json/simple-icons for brand icons
  • Proper brand colors for each provider
  • Icons display correctly without external dependencies

📝 Implementation Details

New Components:

  • app/components/deploy/DeployDialog.tsx - Central deployment interface
  • app/components/@settings/tabs/connections/NetlifyQuickConnect.tsx - Reusable connection flow

Modified Components:

  • app/components/deploy/DeployButton.tsx - Updated to use dialog instead of dropdown
  • app/components/@settings/tabs/connections/NetlifyConnection.tsx - Integrated quick connect

Key Features:

  • Token validation with Netlify API
  • Automatic site statistics fetching
  • Secure token handling
  • Error handling with user-friendly messages
  • Responsive design with smooth animations

🖼️ User Experience

  1. Click Deploy → Dialog opens showing all providers
  2. Select Netlify → If not connected, shows inline connection form
  3. Enter Token → Validates and saves connection
  4. Deploy → Immediately deploys to Netlify

🔐 Security

  • Tokens are validated before saving
  • Clear instructions on obtaining tokens safely
  • No tokens exposed in logs or error messages

🧪 Testing

  • ✅ Inline connection flow works seamlessly
  • ✅ Token validation prevents invalid connections
  • ✅ Deployment proceeds immediately after connection
  • ✅ Settings integration maintains backward compatibility
  • ✅ Icons display correctly with brand colors

🎨 Visual Improvements

  • Clean, modern dialog design
  • Provider cards with features
  • Connection status badges
  • Smooth transitions and animations
  • Responsive layout
  • Proper brand icons without external dependencies

Developer: Keoma Wright
Impact: Significantly reduces friction in the deployment process, making it more intuitive for new users while maintaining power-user efficiency.

This enhancement aligns with bolt.diy's mission to make web development more accessible and enjoyable for everyone! 🎉

Keoma Wright and others added 3 commits August 27, 2025 11:35
Implements comprehensive project import functionality with the following capabilities:

- **Drag & Drop Support**: Intuitive drag-and-drop interface for uploading project files
- **Multiple Import Methods**:
  - Individual file selection
  - Directory/folder upload (maintains structure)
  - ZIP archive extraction with automatic unpacking
- **Smart File Filtering**: Automatically excludes common build artifacts and dependencies (node_modules, .git, dist, build folders)
- **Large Project Support**: Handles projects up to 200MB with per-file limit of 50MB
- **Binary File Detection**: Properly handles binary files (images, fonts, etc.) with base64 encoding
- **Progress Tracking**: Real-time progress indicators during file processing
- **Beautiful UI**: Smooth animations with Framer Motion and responsive design
- **Keyboard Shortcuts**: Quick access with Ctrl+Shift+I (Cmd+Shift+I on Mac)
- **File Preview**: Shows file listing before import with file type icons
- **Import Statistics**: Displays total files, size, and directory count

The implementation uses JSZip for ZIP file extraction and integrates seamlessly with the existing workbench file system. Files are automatically added to the editor and the first file is opened for immediate editing.

Technical highlights:
- React hooks for state management
- Async/await for file processing
- WebKit directory API for folder uploads
- DataTransfer API for drag-and-drop
- Comprehensive error handling with user feedback via toast notifications

This feature significantly improves the developer experience by allowing users to quickly import their existing projects into bolt.diy without manual file creation.

🤖 Generated with Claude Code

Co-Authored-By: Claude <[email protected]>
This update dramatically improves the Netlify deployment experience by allowing users to connect their Netlify account directly from the deploy dialog without leaving their project.

Key improvements:
- **Unified Deploy Dialog**: New centralized deployment interface for all providers
- **Inline Connection**: Connect to Netlify without leaving your project context
- **Quick Connect Component**: Reusable connection flow with clear instructions
- **Improved UX**: Step-by-step guide for obtaining Netlify API tokens
- **Visual Feedback**: Provider status indicators and connection state
- **Seamless Workflow**: One-click deployment once connected

The new DeployDialog component provides:
- Provider selection with feature highlights
- Connection status for each provider
- In-context account connection
- Deployment confirmation and progress tracking
- Error handling with user-friendly messages

Technical highlights:
- TypeScript implementation for type safety
- Radix UI for accessible dialog components
- Framer Motion for smooth animations
- Toast notifications for user feedback
- Secure token handling and validation

This significantly reduces friction in the deployment process, making it easier for users to deploy their projects to Netlify and other platforms.

🤖 Generated with Claude Code

Co-Authored-By: Claude <[email protected]>
- Add @iconify-json/simple-icons for brand icons
- Replace external image URLs with UnoCSS icon classes
- Use proper brand colors for Netlify and Cloudflare icons
- Ensure icons display correctly without external dependencies

This fixes the 'no image' error in the deployment dialog by using
reliable icon fonts instead of external CDN images.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
@embire2 embire2 changed the title feat: Simplified Netlify Deployment with Inline Connection feat: simplified Netlify Deployment with Inline Connection Aug 27, 2025
@Stijnus Stijnus self-assigned this Aug 29, 2025
@Stijnus Stijnus closed this Sep 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants