Docfile commited on
Commit
513fcf9
·
verified ·
1 Parent(s): 158b9d6

Update templates/index.html

Browse files
Files changed (1) hide show
  1. templates/index.html +54 -68
templates/index.html CHANGED
@@ -465,79 +465,65 @@
465
  }
466
 
467
  form.addEventListener('submit', async (event) => {
468
- event.preventDefault();
469
- const file = imageInput.files[0];
470
- if (!file) {
471
- alert('Veuillez sélectionner une image.');
472
- return;
473
- }
474
-
475
- startTimer();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
476
 
477
- loader.classList.remove('hidden');
478
- solutionDiv.classList.add('hidden');
479
- thoughtsContent.innerHTML = '';
480
- answerContent.innerHTML = '';
481
- thoughtsBox.classList.add('open');
482
 
483
- const formData = new FormData();
484
- formData.append('image', file);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
485
 
486
- try {
487
- let currentMode = null;
488
- const response = await fetch('/solve', {
489
- method: 'POST',
490
- body: formData
491
- });
492
 
493
- const reader = response.body.getReader();
494
- const decoder = new TextDecoder();
495
- let buffer = '';
496
-
497
- while (true) {
498
- const { done, value } = await reader.read();
499
- if (done) {
500
- stopTimer();
501
- break;
502
- }
503
-
504
- buffer += decoder.decode(value, { stream: true });
505
- let eolIndex;
506
-
507
- while ((eolIndex = buffer.indexOf('\n\n')) >= 0) {
508
- const line = buffer.slice(0, eolIndex).trim();
509
- buffer = buffer.slice(eolIndex + 2);
510
-
511
- if (line.startsWith('data:')) {
512
- const data = JSON.parse(line.slice(5));
513
-
514
- if (data.mode) {
515
- currentMode = data.mode;
516
- loader.classList.add('hidden');
517
- solutionDiv.classList.remove('hidden');
518
- }
519
-
520
- if (data.content) {
521
- const content = data.content;
522
- if (currentMode === 'thinking') {
523
- renderContent(content, thoughtsContent);
524
- thoughtsContent.scrollTop = thoughtsContent.scrollHeight;
525
- } else if (currentMode === 'answering') {
526
- renderContent(content, answerContent);
527
- answerContent.scrollTop = answerContent.scrollHeight;
528
- }
529
- }
530
- }
531
- }
532
- }
533
 
534
- } catch (error) {
535
- console.error('Erreur:', error);
536
- alert('Une erreur est survenue lors du traitement de la requête.');
537
- loader.classList.add('hidden');
538
- stopTimer();
539
- }
540
- });
541
  });
542
  </script>
543
  </body>
 
465
  }
466
 
467
  form.addEventListener('submit', async (event) => {
468
+ event.preventDefault();
469
+ const file = imageInput.files[0];
470
+ if (!file) {
471
+ alert('Veuillez sélectionner une image.');
472
+ return;
473
+ }
474
+
475
+ startTimer();
476
+
477
+ loader.classList.remove('hidden');
478
+ solutionDiv.classList.add('hidden');
479
+ thoughtsContent.innerHTML = '';
480
+ answerContent.innerHTML = '';
481
+ thoughtsBox.classList.add('open');
482
+
483
+ const formData = new FormData();
484
+ formData.append('image', file);
485
+
486
+ try {
487
+ const response = await fetch('/solve', {
488
+ method: 'POST',
489
+ body: formData
490
+ });
491
 
492
+ if (!response.ok) {
493
+ throw new Error(`HTTP error! status: ${response.status}`);
494
+ }
 
 
495
 
496
+ // Essayons d'abord de lire la réponse comme du JSON
497
+ try {
498
+ const data = await response.json();
499
+ loader.classList.add('hidden');
500
+ solutionDiv.classList.remove('hidden');
501
+
502
+ if (data.thinking) {
503
+ renderContent(data.thinking, thoughtsContent);
504
+ }
505
+ if (data.answer) {
506
+ renderContent(data.answer, answerContent);
507
+ }
508
+ } catch (jsonError) {
509
+ // Si ce n'est pas du JSON, essayons de lire comme du texte
510
+ const textData = await response.text();
511
+ loader.classList.add('hidden');
512
+ solutionDiv.classList.remove('hidden');
513
+ renderContent(textData, answerContent);
514
+ }
515
 
516
+ stopTimer();
 
 
 
 
 
517
 
518
+ } catch (error) {
519
+ console.error('Erreur:', error);
520
+ alert('Une erreur est survenue lors du traitement de la requête.');
521
+ loader.classList.add('hidden');
522
+ stopTimer();
523
+ }
524
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
525
 
526
+
 
 
 
 
 
 
527
  });
528
  </script>
529
  </body>