diff --git a/public/index.html b/public/index.html index 7a4a818..73941bd 100644 --- a/public/index.html +++ b/public/index.html @@ -382,6 +382,7 @@ body::before{content:'';position:fixed;inset:0;background:radial-gradient(ellips .toast.success{background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.25);color:var(--success)} .toast.error{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.25);color:var(--error)} .toast.info{background:rgba(30,75,216,.1);border-color:rgba(30,75,216,.25);color:var(--blue-bright)} +.dl-item{display:flex;align-items:center;gap:8px;padding:8px 10px;color:var(--text-primary);text-decoration:none;border-radius:6px;font-size:.85rem;font-weight:600;white-space:nowrap}.dl-item:hover{background:var(--bg-hover)}.dl-item span{margin-left:auto;color:var(--text-dim);font-size:.75rem} @@ -464,12 +465,11 @@ body::before{content:'';position:fixed;inset:0;background:radial-gradient(ellips
- +
- HTTP Mode: Direct-to-S3 upload via presigned URLs. Browser uploads straight to storage, bypassing the server. Files are processed 6 at a time. + HTTP Mode: Direct-to-S3 upload via presigned URLs. Browser uploads straight to storage, bypassing the server.
-
Electron App — Aspera-speed desktop application (coming soon)
@@ -946,7 +946,7 @@ function setMode(mode) { if (mode === 'http') { btn.className = 'btn-upload'; if (label) label.textContent = 'HTTP Mode:'; - if (detail) detail.textContent = 'Direct-to-S3 upload via presigned URLs. Browser uploads straight to storage, bypassing the server. Files are processed 6 at a time.'; + if (detail) detail.textContent = 'Direct-to-S3 upload via presigned URLs. Browser uploads straight to storage, bypassing the server.'; if (hint) hint.style.display = 'none'; if (btnHttp) { btnHttp.className = 'mode-btn active-http'; } if (btnUdp) { btnUdp.className = 'mode-btn'; } @@ -1747,6 +1747,7 @@ function showToast(msg,type='info'){ function esc(s){return String(s).replace(/&/g,'&').replace(//g,'>').replace(/"/g,'"');} function fmtSize(b){if(b<1024)return`${b} B`;if(b<1048576)return`${(b/1024).toFixed(1)} KB`;if(b<1073741824)return`${(b/1048576).toFixed(1)} MB`;return`${(b/1073741824).toFixed(2)} GB`;} function getFileIcon(name){const ext=name.split('.').pop().toLowerCase();if(['mp4','mov','mxf','mkv','avi','r3d','braw','mts','m2ts','prores'].includes(ext))return'🎬';if(['mp3','wav','aac','flac','aiff','m4a'].includes(ext))return'🎵';if(['jpg','jpeg','png','tiff','exr','dpx','arw','cr2','dng','psd'].includes(ext))return'🖼️';return'📄';} +function toggleDlMenu(e){e.stopPropagation();var m=document.getElementById("dl-menu");m.style.display=m.style.display==="none"?"block":"none";}document.addEventListener("click",function(){var m=document.getElementById("dl-menu");if(m)m.style.display="none";});