ikraamkb commited on
Commit
38790f6
·
verified ·
1 Parent(s): 9790e5d

Update static/appS.js

Browse files
Files changed (1) hide show
  1. static/appS.js +51 -61
static/appS.js CHANGED
@@ -277,72 +277,62 @@ function injectAudioPlayer(bubble, audioUrl) {
277
  messageDiv.appendChild(audioContainer);
278
  } */
279
  async function handleSubmit() {
280
- if (!selectedFile) {
281
- alert("Please upload a file first");
282
- return;
283
- }
284
-
285
- const isSummarizeMode = document.querySelector('input[name="mode"]:checked').value === 'Summarize';
286
-
287
- // Use the correct endpoint paths with /Summarization/ prefix
288
- const endpoint = isSummarizeMode
289
- ? '/Summarization/summarize/'
290
- : '/Summarization/imagecaption/';
291
-
292
- const thinkingText = isSummarizeMode
293
- ? 'Processing document 📄... <div class="loader"></div>'
294
- : "Generating caption 🖼️ ... <div class='loader'></div>";
295
- const senderName = "Aidan";
296
-
297
- const thinkingBubble = createMessageBubble(thinkingText, senderName);
298
-
299
- const formData = new FormData();
300
- formData.append('file', selectedFile);
301
- if (isSummarizeMode) formData.append('length', 'medium');
302
-
303
- try {
304
- const response = await fetch(endpoint, {
305
- method: 'POST',
306
- body: formData
307
- });
308
-
309
- if (!response.ok) {
310
- let errorMessage = 'Request failed';
311
- try {
312
- const error = await response.json();
313
- errorMessage = error.detail || error.error || errorMessage;
314
- } catch (e) {}
315
- throw new Error(errorMessage);
316
  }
317
 
318
- const result = await response.json();
319
- thinkingBubble.remove();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
320
 
321
- if (isSummarizeMode) {
322
- createMessageBubble(
323
- result.summary || "No summary generated.",
324
- "Aidan",
325
- result.audioUrl,
326
- result.pdfUrl
327
- );
328
- } else {
329
-
330
- const audioUrl = result.audio ? `${result.audio}?t=${Date.now()}` : null;
331
- createMessageBubble(
332
- result.caption || result.answer || "No caption generated.",
333
- "Aidan",
334
- audioUrl,
335
- null
336
- );
 
 
 
 
 
 
 
337
  }
338
- } catch (error) {
339
- thinkingBubble.remove();
340
- createMessageBubble(`⚠️ Error: ${error.message}`, "Aidan");
341
- console.error("API Error:", error); // Log error for debugging
342
- } finally {
343
- selectedFile = null;
344
  }
345
- }
346
 
347
  const style = document.createElement('style');
348
  style.textContent = `
 
277
  messageDiv.appendChild(audioContainer);
278
  } */
279
  async function handleSubmit() {
280
+ if (!selectedFile) {
281
+ alert("Please upload a file first");
282
+ return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
283
  }
284
 
285
+ const isSummarizeMode = document.querySelector('input[name="mode"]:checked').value === 'Summarize';
286
+ const endpoint = isSummarizeMode ? '/Summarization/summarize/' : '/Summarization/imagecaption/';
287
+ const thinkingText = isSummarizeMode ? 'Processing document 📄... <div class="loader"></div>' : "Generating caption 🖼️ ... <div class='loader'></div>";
288
+ const senderName = "Aidan";
289
+
290
+ const thinkingBubble = createMessageBubble(thinkingText, senderName);
291
+
292
+ const formData = new FormData();
293
+ formData.append('file', selectedFile);
294
+ if (isSummarizeMode) formData.append('length', 'medium');
295
+
296
+ try {
297
+ const response = await fetch(endpoint, {
298
+ method: 'POST',
299
+ body: formData
300
+ });
301
+
302
+ if (!response.ok) {
303
+ let errorMessage = 'Request failed';
304
+ try {
305
+ const error = await response.json();
306
+ errorMessage = error.detail || error.error || errorMessage;
307
+ } catch (e) {}
308
+ throw new Error(errorMessage);
309
+ }
310
 
311
+ const result = await response.json();
312
+ thinkingBubble.remove();
313
+
314
+ if (isSummarizeMode) {
315
+ createMessageBubble(
316
+ result.summary || "No summary generated.",
317
+ "Aidan",
318
+ result.audioUrl,
319
+ result.pdfUrl
320
+ );
321
+ } else {
322
+ createMessageBubble(
323
+ result.caption || result.answer || "No caption generated.",
324
+ "Aidan",
325
+ result.audio,
326
+ null
327
+ );
328
+ }
329
+ } catch (error) {
330
+ thinkingBubble.remove();
331
+ createMessageBubble(`⚠️ Error: ${error.message}`, "Aidan");
332
+ } finally {
333
+ selectedFile = null; // ✅ Reset selected file AFTER send
334
  }
 
 
 
 
 
 
335
  }
 
336
 
337
  const style = document.createElement('style');
338
  style.textContent = `