Skip to main content

max / makenotwork

Fix version upload UI: progress bar, reset, redirect Move progress/success/error elements outside #new-version-form so they're visible during both new-version and existing-version upload flows. Fix resetVersionUpload to restore correct form state and clear targetVersionId. Redirect to #tab-files after upload instead of overview. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Author: Max J. <87768334+MaxJMath@users.noreply.github.com> · 2026-05-10 20:07 UTC
Commit: b43f2efd6b845b7a7df126abfaad9c38ee92e5a0
Parent: 2a4d121
2 files changed, +29 insertions, -28 deletions
@@ -117,7 +117,7 @@
117 117 });
118 118 document.getElementById('upload-progress').classList.add('hidden');
119 119 document.getElementById('upload-success').classList.remove('hidden');
120 - setTimeout(function() { window.location.href = '/dashboard/item/' + itemId; }, 1500);
120 + setTimeout(function() { window.location.href = '/dashboard/item/' + itemId + '#tab-files'; }, 1500);
121 121 })
122 122 .catch(function(err) {
123 123 document.getElementById('upload-progress').classList.add('hidden');
@@ -221,8 +221,7 @@
221 221 document.getElementById('retry-version-upload-btn').addEventListener('click', resetVersionUpload);
222 222
223 223 function uploadVersionFile(versionId, file) {
224 - versionDropzone.classList.add('hidden');
225 - document.getElementById('create-version-btn').classList.add('hidden');
224 + document.getElementById('new-version-form').classList.add('hidden');
226 225 document.getElementById('existing-version-upload').classList.add('hidden');
227 226 document.getElementById('version-upload-progress').classList.remove('hidden');
228 227
@@ -261,7 +260,7 @@
261 260 });
262 261 document.getElementById('version-upload-progress').classList.add('hidden');
263 262 document.getElementById('version-upload-success').classList.remove('hidden');
264 - setTimeout(function() { window.location.href = '/dashboard/item/' + itemId; }, 1500);
263 + setTimeout(function() { window.location.href = '/dashboard/item/' + itemId + '#tab-files'; }, 1500);
265 264 })
266 265 .catch(function(err) { showVersionError(err.message || 'Upload failed'); });
267 266 }
@@ -273,13 +272,14 @@
273 272 }
274 273
275 274 function resetVersionUpload() {
276 - versionDropzone.classList.remove('hidden');
277 - document.getElementById('create-version-btn').classList.remove('hidden');
275 + document.getElementById('new-version-form').classList.remove('hidden');
276 + document.getElementById('existing-version-upload').classList.add('hidden');
278 277 document.getElementById('version-upload-progress').classList.add('hidden');
279 278 document.getElementById('version-upload-success').classList.add('hidden');
280 279 document.getElementById('version-upload-error').classList.add('hidden');
281 280 versionFileInput.value = '';
282 281 selectedFile = null;
282 + targetVersionId = null;
283 283 versionDropzone.querySelector('.upload-text').textContent = 'Drop file here or click to upload';
284 284 }
285 285 }
@@ -63,28 +63,6 @@
63 63 accept=".zip,.dmg,.exe,.appimage,.deb,.tar.gz,.clap,.vst3">
64 64 </div>
65 65
66 - <div class="upload-progress hidden" id="version-upload-progress">
67 - <div class="progress-info">
68 - <span id="version-upload-filename">filename.zip</span>
69 - <span id="version-upload-percent">0%</span>
70 - </div>
71 - <div class="progress-bar-container">
72 - <div class="progress-bar" id="version-progress-bar" style="width: 0%;"></div>
73 - </div>
74 - <div id="version-upload-speed" style="font-size: 0.8rem; opacity: 0.6; margin-top: 0.25rem;"></div>
75 - <button type="button" class="secondary" id="cancel-version-upload-btn">Cancel</button>
76 - </div>
77 -
78 - <div class="upload-success hidden" id="version-upload-success">
79 - <span class="success-icon">&#10003;</span>
80 - <span>Upload complete</span>
81 - </div>
82 -
83 - <div class="upload-error hidden" id="version-upload-error">
84 - <span class="error-message" id="version-error-message"></span>
85 - <button type="button" class="secondary" id="retry-version-upload-btn">Try Again</button>
86 - </div>
87 -
88 66 <button class="primary" id="create-version-btn">Upload New Version</button>
89 67 </div>
90 68
@@ -98,4 +76,27 @@
98 76 </div>
99 77 <button class="secondary" id="cancel-existing-upload-btn">Cancel</button>
100 78 </div>
79 +
80 + <!-- Shared upload progress/status (outside both forms so always visible) -->
81 + <div class="upload-progress hidden" id="version-upload-progress">
82 + <div class="progress-info">
83 + <span id="version-upload-filename">filename.zip</span>
84 + <span id="version-upload-percent">0%</span>
85 + </div>
86 + <div class="progress-bar-container">
87 + <div class="progress-bar" id="version-progress-bar" style="width: 0%;"></div>
88 + </div>
89 + <div id="version-upload-speed" style="font-size: 0.8rem; opacity: 0.6; margin-top: 0.25rem;"></div>
90 + <button type="button" class="secondary" id="cancel-version-upload-btn">Cancel</button>
91 + </div>
92 +
93 + <div class="upload-success hidden" id="version-upload-success">
94 + <span class="success-icon">&#10003;</span>
95 + <span>Upload complete</span>
96 + </div>
97 +
98 + <div class="upload-error hidden" id="version-upload-error">
99 + <span class="error-message" id="version-error-message"></span>
100 + <button type="button" class="secondary" id="retry-version-upload-btn">Try Again</button>
101 + </div>
101 102 </div>