Skip to content

feat: add global drag-and-drop upload overlay#750

Open
Ram-sah19 wants to merge 2 commits into
magic-peach:mainfrom
Ram-sah19:fix-video-global-drag-drop
Open

feat: add global drag-and-drop upload overlay#750
Ram-sah19 wants to merge 2 commits into
magic-peach:mainfrom
Ram-sah19:fix-video-global-drag-drop

Conversation

@Ram-sah19
Copy link
Copy Markdown

Description

Implemented a global drag-and-drop upload experience for the VideoEditor screen.

Previously, users could only upload videos through the dedicated FileUpload component. This update introduces a full-screen drag-and-drop overlay that appears whenever a video file is dragged anywhere over the editor window.

Changes Made

  • Added a global drag state using:
const [isDraggingGlobally, setIsDraggingGlobally] = useState(false);
  • Added root-level onDragEnter handling in VideoEditor.tsx

  • Implemented a full-screen drag-and-drop overlay with:

    • Frosted glass effect (backdrop-blur-sm)
    • Dashed upload border
    • Animated upload prompt
    • Centered “Drop video here to begin” UI
  • Added:

    • onDragOver
    • onDragLeave
    • onDrop
      event handling for smooth drag interaction
  • Connected dropped files directly to the existing:

handleFileSelect(file)

workflow

This improves usability and creates a more modern editor-style upload experience.


Related Issue

Closes #748


Type of Contribution

  • Bug fix
  • New feature
  • Documentation update
  • GSSoC contribution

Participant Info

  • GitHub username: @Ram-sah19
  • Contribution level: Intermediate

Screenshot

image image

Checklist

  • I have read the contribution guidelines
  • My changes follow the project structure
  • I have tested my changes in Chrome, Firefox, and Safari
  • bun run lint passes (no ESLint errors)
  • bunx tsc --noEmit passes (no TypeScript errors)
  • New interactive elements have aria-label / accessible names
  • No console.log statements left in
  • This PR is related to a valid issue
  • Screen recording attached above

@vercel
Copy link
Copy Markdown

vercel Bot commented May 19, 2026

@Ram-sah19 is attempting to deploy a commit to the magic-peach1's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 19, 2026

✅ PR Format Check Passed — @Ram-sah19

Basic format checks passed. A maintainer will review your code changes.

This does not mean the PR is approved — it just means the format is correct.

@github-actions github-actions Bot added level:beginner Beginner level - 20 pts type:bug Bug fix type:design UI/UX design type:docs Documentation type:feature New feature labels May 19, 2026
@github-actions
Copy link
Copy Markdown
Contributor

👋 Thanks for your PR, @Ram-sah19!

Welcome to Reframe — a browser-based video editor built for everyone 🎬

🟠 GSSoC'26 PR detected — thanks for contributing under GirlScript Summer of Code 2026!

What happens next

  1. 🤖 Automated checks — build & TypeScript typecheck will run automatically
  2. Vercel preview — a preview deployment will be created (requires maintainer authorization for fork PRs)
  3. 👀 Code review — a maintainer will review your changes
  4. 🚀 Merge — once approved, your PR will be merged!

Quick checklist

  • PR title follows Conventional Commits (e.g. feat: add dark mode)
  • Linked the issue this PR closes (e.g. Closes #123)
  • Tested the changes locally (bun run dev)
  • Build passes (bun run build)

Useful links

Happy coding! 🎉

@github-actions github-actions Bot added the gssoc'26 GirlScript Summer of Code 2026 label May 19, 2026
@Ram-sah19 Ram-sah19 changed the title Feature: Global Drag-and-Drop Video Upload Overlay in VideoEditor feat: add global drag-and-drop upload overlay May 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gssoc'26 GirlScript Summer of Code 2026 level:beginner Beginner level - 20 pts type:bug Bug fix type:design UI/UX design type:docs Documentation type:feature New feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] Global Drag-and-Drop Video Upload Zone

1 participant