ismdrobiul489 commited on
Commit
36f63dd
·
1 Parent(s): 8e5f1c9

fix: Better error handling for fact-image validation errors

Browse files
Files changed (1) hide show
  1. static/js/main.js +13 -5
static/js/main.js CHANGED
@@ -1,8 +1,8 @@
1
  /* NCAkit - Main JavaScript */
2
 
3
  // Wait for DOM to be ready
4
- document.addEventListener('DOMContentLoaded', function() {
5
-
6
  // ============================================
7
  // TAB SWITCHING
8
  // ============================================
@@ -85,7 +85,7 @@ document.addEventListener('DOMContentLoaded', function() {
85
  // ============================================
86
  // VIDEO CREATOR MODULE
87
  // ============================================
88
-
89
  // Add scene
90
  document.getElementById('addScene').addEventListener('click', () => {
91
  const container = document.getElementById('scenesContainer');
@@ -182,9 +182,17 @@ document.addEventListener('DOMContentLoaded', function() {
182
  });
183
  const result = await res.json();
184
 
185
- if (result.job_id) {
186
  status.innerHTML = `✅ Job started! ID: ${result.job_id}<br>Checking status...`;
187
  pollFactStatus(result.job_id);
 
 
 
 
 
 
 
 
188
  }
189
  } catch (err) {
190
  status.className = 'status error';
@@ -490,7 +498,7 @@ document.addEventListener('DOMContentLoaded', function() {
490
  });
491
 
492
  // Toggle Manual/AI mode - make global
493
- window.toggleTsMode = function() {
494
  const mode = document.querySelector('input[name="tsMode"]:checked').value;
495
  document.getElementById('tsAiSection').style.display = mode === 'ai' ? 'block' : 'none';
496
  document.getElementById('tsManualSection').style.display = mode === 'manual' ? 'block' : 'none';
 
1
  /* NCAkit - Main JavaScript */
2
 
3
  // Wait for DOM to be ready
4
+ document.addEventListener('DOMContentLoaded', function () {
5
+
6
  // ============================================
7
  // TAB SWITCHING
8
  // ============================================
 
85
  // ============================================
86
  // VIDEO CREATOR MODULE
87
  // ============================================
88
+
89
  // Add scene
90
  document.getElementById('addScene').addEventListener('click', () => {
91
  const container = document.getElementById('scenesContainer');
 
182
  });
183
  const result = await res.json();
184
 
185
+ if (res.ok && result.job_id) {
186
  status.innerHTML = `✅ Job started! ID: ${result.job_id}<br>Checking status...`;
187
  pollFactStatus(result.job_id);
188
+ } else {
189
+ status.className = 'status error';
190
+ // Show validation errors
191
+ let errorMsg = result.detail || 'Unknown error';
192
+ if (Array.isArray(result.detail)) {
193
+ errorMsg = result.detail.map(e => e.msg).join(', ');
194
+ }
195
+ status.innerHTML = '❌ Error: ' + errorMsg;
196
  }
197
  } catch (err) {
198
  status.className = 'status error';
 
498
  });
499
 
500
  // Toggle Manual/AI mode - make global
501
+ window.toggleTsMode = function () {
502
  const mode = document.querySelector('input[name="tsMode"]:checked').value;
503
  document.getElementById('tsAiSection').style.display = mode === 'ai' ? 'block' : 'none';
504
  document.getElementById('tsManualSection').style.display = mode === 'manual' ? 'block' : 'none';