Spaces:
Sleeping
Sleeping
Update templates/index.html
Browse files- templates/index.html +31 -23
templates/index.html
CHANGED
@@ -159,7 +159,7 @@
|
|
159 |
</div>
|
160 |
|
161 |
<script>
|
162 |
-
document.getElementById('image-input').addEventListener('change',
|
163 |
const file = e.target.files[0];
|
164 |
if (file) {
|
165 |
// Show preview
|
@@ -175,42 +175,50 @@
|
|
175 |
document.getElementById('loading').classList.remove('hidden');
|
176 |
document.getElementById('result-container').classList.add('hidden');
|
177 |
document.getElementById('result').classList.add('math-hidden');
|
|
|
178 |
|
179 |
-
|
180 |
-
|
181 |
-
formData.append('image', file);
|
182 |
|
183 |
-
|
184 |
-
method: 'POST',
|
185 |
-
body: formData
|
186 |
-
});
|
187 |
|
188 |
-
|
189 |
|
|
|
190 |
// Hide loading
|
191 |
document.getElementById('loading').classList.add('hidden');
|
192 |
|
193 |
// Show result
|
194 |
document.getElementById('result-container').classList.remove('hidden');
|
195 |
-
|
196 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
197 |
|
198 |
// Rendre les maths avec MathJax
|
199 |
MathJax.typesetPromise([document.getElementById('result')])
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
|
|
208 |
|
209 |
-
|
210 |
-
console.error('
|
211 |
document.getElementById('loading').classList.add('hidden');
|
212 |
-
|
213 |
-
|
|
|
214 |
}
|
215 |
});
|
216 |
</script>
|
|
|
159 |
</div>
|
160 |
|
161 |
<script>
|
162 |
+
document.getElementById('image-input').addEventListener('change', function (e) {
|
163 |
const file = e.target.files[0];
|
164 |
if (file) {
|
165 |
// Show preview
|
|
|
175 |
document.getElementById('loading').classList.remove('hidden');
|
176 |
document.getElementById('result-container').classList.add('hidden');
|
177 |
document.getElementById('result').classList.add('math-hidden');
|
178 |
+
document.getElementById('result').innerHTML = '';
|
179 |
|
180 |
+
const formData = new FormData();
|
181 |
+
formData.append('image', file);
|
|
|
182 |
|
183 |
+
const eventSource = new EventSource('/generate?' + new URLSearchParams(formData));
|
|
|
|
|
|
|
184 |
|
185 |
+
let completeResponse = '';
|
186 |
|
187 |
+
eventSource.onmessage = function (event) {
|
188 |
// Hide loading
|
189 |
document.getElementById('loading').classList.add('hidden');
|
190 |
|
191 |
// Show result
|
192 |
document.getElementById('result-container').classList.remove('hidden');
|
193 |
+
|
194 |
+
if (event.data.startsWith('Error:')) {
|
195 |
+
console.error('Erreur:', event.data);
|
196 |
+
document.getElementById('result').innerHTML = event.data;
|
197 |
+
eventSource.close();
|
198 |
+
return;
|
199 |
+
}
|
200 |
+
|
201 |
+
completeResponse += event.data;
|
202 |
+
document.getElementById('result').innerHTML = marked.parse(completeResponse);
|
203 |
|
204 |
// Rendre les maths avec MathJax
|
205 |
MathJax.typesetPromise([document.getElementById('result')])
|
206 |
+
.then(() => {
|
207 |
+
document.getElementById('result').classList.remove('math-hidden');
|
208 |
+
})
|
209 |
+
.catch((err) => {
|
210 |
+
console.error('Erreur MathJax:', err);
|
211 |
+
document.getElementById('result').innerHTML = "Erreur lors du rendu des mathématiques.";
|
212 |
+
document.getElementById('result').classList.remove('math-hidden');
|
213 |
+
});
|
214 |
+
};
|
215 |
|
216 |
+
eventSource.onerror = function (err) {
|
217 |
+
console.error('EventSource failed:', err);
|
218 |
document.getElementById('loading').classList.add('hidden');
|
219 |
+
document.getElementById('result').innerHTML = "Une erreur est survenue lors du traitement de l'image.";
|
220 |
+
eventSource.close();
|
221 |
+
};
|
222 |
}
|
223 |
});
|
224 |
</script>
|