Update app.py
Browse files
app.py
CHANGED
|
@@ -429,8 +429,8 @@ def list_tasks():
|
|
| 429 |
|
| 430 |
@app.route('/template')
|
| 431 |
def get_template():
|
| 432 |
-
template_content = '''
|
| 433 |
-
<html lang="fr">
|
| 434 |
<head>
|
| 435 |
<meta charset="UTF-8">
|
| 436 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
@@ -557,7 +557,8 @@ def get_template():
|
|
| 557 |
<h3>📁 Glisser-déposer votre image ici</h3>
|
| 558 |
<p>ou cliquez pour sélectionner un fichier</p>
|
| 559 |
<input type="file" id="fileInput" accept="image/*" style="display: none;">
|
| 560 |
-
|
|
|
|
| 561 |
Choisir un fichier
|
| 562 |
</button>
|
| 563 |
</div>
|
|
@@ -584,7 +585,6 @@ def get_template():
|
|
| 584 |
<button class="btn" id="downloadBtn">📥 Télécharger la solution</button>
|
| 585 |
</div>
|
| 586 |
</div>
|
| 587 |
-
|
| 588 |
<script>
|
| 589 |
const socket = io();
|
| 590 |
let currentTaskId = null;
|
|
@@ -592,8 +592,21 @@ def get_template():
|
|
| 592 |
// Gestion de l'upload
|
| 593 |
const uploadBox = document.getElementById('uploadBox');
|
| 594 |
const fileInput = document.getElementById('fileInput');
|
|
|
|
|
|
|
| 595 |
|
|
|
|
| 596 |
uploadBox.addEventListener('click', () => fileInput.click());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 597 |
uploadBox.addEventListener('dragover', (e) => {
|
| 598 |
e.preventDefault();
|
| 599 |
uploadBox.classList.add('dragover');
|
|
@@ -610,6 +623,7 @@ def get_template():
|
|
| 610 |
}
|
| 611 |
});
|
| 612 |
|
|
|
|
| 613 |
fileInput.addEventListener('change', (e) => {
|
| 614 |
if (e.target.files.length > 0) {
|
| 615 |
uploadFile(e.target.files[0]);
|
|
@@ -703,7 +717,9 @@ def get_template():
|
|
| 703 |
});
|
| 704 |
</script>
|
| 705 |
</body>
|
| 706 |
-
</html>
|
|
|
|
|
|
|
| 707 |
return template_content
|
| 708 |
|
| 709 |
if __name__ == '__main__':
|
|
|
|
| 429 |
|
| 430 |
@app.route('/template')
|
| 431 |
def get_template():
|
| 432 |
+
template_content = '''
|
| 433 |
+
<html lang="fr">
|
| 434 |
<head>
|
| 435 |
<meta charset="UTF-8">
|
| 436 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
| 557 |
<h3>📁 Glisser-déposer votre image ici</h3>
|
| 558 |
<p>ou cliquez pour sélectionner un fichier</p>
|
| 559 |
<input type="file" id="fileInput" accept="image/*" style="display: none;">
|
| 560 |
+
<!-- MODIFICATION 1: Suppression du onclick et ajout d'un id -->
|
| 561 |
+
<button class="btn" id="uploadButton">
|
| 562 |
Choisir un fichier
|
| 563 |
</button>
|
| 564 |
</div>
|
|
|
|
| 585 |
<button class="btn" id="downloadBtn">📥 Télécharger la solution</button>
|
| 586 |
</div>
|
| 587 |
</div>
|
|
|
|
| 588 |
<script>
|
| 589 |
const socket = io();
|
| 590 |
let currentTaskId = null;
|
|
|
|
| 592 |
// Gestion de l'upload
|
| 593 |
const uploadBox = document.getElementById('uploadBox');
|
| 594 |
const fileInput = document.getElementById('fileInput');
|
| 595 |
+
// MODIFICATION 2: Sélection du bouton par son nouvel id
|
| 596 |
+
const uploadButton = document.getElementById('uploadButton');
|
| 597 |
|
| 598 |
+
// L'utilisateur peut cliquer sur toute la zone
|
| 599 |
uploadBox.addEventListener('click', () => fileInput.click());
|
| 600 |
+
|
| 601 |
+
// MODIFICATION 3: Ajout d'un écouteur dédié au bouton
|
| 602 |
+
uploadButton.addEventListener('click', (e) => {
|
| 603 |
+
// Empêche le clic de "remonter" à la div parente (uploadBox),
|
| 604 |
+
// ce qui évite de déclencher l'ouverture de la fenêtre deux fois.
|
| 605 |
+
e.stopPropagation();
|
| 606 |
+
fileInput.click();
|
| 607 |
+
});
|
| 608 |
+
|
| 609 |
+
// Gestion du glisser-déposer (Drag & Drop)
|
| 610 |
uploadBox.addEventListener('dragover', (e) => {
|
| 611 |
e.preventDefault();
|
| 612 |
uploadBox.classList.add('dragover');
|
|
|
|
| 623 |
}
|
| 624 |
});
|
| 625 |
|
| 626 |
+
// Gestion de la sélection de fichier
|
| 627 |
fileInput.addEventListener('change', (e) => {
|
| 628 |
if (e.target.files.length > 0) {
|
| 629 |
uploadFile(e.target.files[0]);
|
|
|
|
| 717 |
});
|
| 718 |
</script>
|
| 719 |
</body>
|
| 720 |
+
</html>
|
| 721 |
+
|
| 722 |
+
'''
|
| 723 |
return template_content
|
| 724 |
|
| 725 |
if __name__ == '__main__':
|