"use strict"; /** * Dragon Wind — Content Script * Injects drag-and-drop overlay on any page, sends files to background for upload. */ (function() { if (window.__dragonWindLoaded) return; window.__dragonWindLoaded = true; let overlay = null; document.addEventListener('dragover', (e) => { if (e.dataTransfer?.types?.includes('Files')) { e.preventDefault(); showOverlay(); } }); document.addEventListener('dragleave', (e) => { if (!e.relatedTarget || e.relatedTarget === document.body) hideOverlay(); }); document.addEventListener('drop', (e) => { hideOverlay(); // Only intercept if dropping on the overlay itself if (e.target !== overlay) return; e.preventDefault(); const files = Array.from(e.dataTransfer.files); if (!files.length) return; chrome.runtime.sendMessage({ type: 'PAGE_DROP', files: files.map(f => ({ name: f.name, size: f.size })) }); showToast(`Dragon Wind: ${files.length} file${files.length>1?'s':''} ready — open extension to upload`); }); function showOverlay() { if (overlay) return; overlay = document.createElement('div'); overlay.style.cssText = ` position:fixed;inset:0;z-index:2147483647; background:rgba(6,8,14,.85); display:flex;align-items:center;justify-content:center; backdrop-filter:blur(4px); pointer-events:none; `; overlay.innerHTML = `