Docfile commited on
Commit
0aa7a7b
·
verified ·
1 Parent(s): 404221b

Upload index.html

Browse files
Files changed (1) hide show
  1. templates/index.html +25 -19
templates/index.html CHANGED
@@ -92,10 +92,10 @@
92
 
93
  <div class="bg-white rounded-xl shadow-lg p-8">
94
  <!-- Zone de téléchargement -->
95
- <form id="uploadForm" class="space-y-6">
96
  <div class="relative">
97
  <label for="imageInput" class="block text-lg font-medium text-gray-700 mb-3">
98
- Sélectionnez votre document
99
  </label>
100
  <div class="mt-2 flex justify-center px-6 pt-5 pb-6 border-2 border-gray-300 border-dashed rounded-lg hover:border-blue-500 transition-colors cursor-pointer">
101
  <div class="space-y-2 text-center">
@@ -104,21 +104,20 @@
104
  </svg>
105
  <div class="text-sm text-gray-600">
106
  <label for="imageInput" class="relative cursor-pointer bg-white rounded-md font-medium text-blue-600 hover:text-blue-500 focus-within:outline-none">
107
- <span>Télécharger un fichier</span>
108
- <input id="imageInput" name="image" type="file" class="sr-only" accept="image/*" required>
 
109
  </label>
110
  </div>
111
- <p class="text-xs text-gray-500">PNG, JPG jusqu'à 10MB</p>
112
  </div>
113
  </div>
114
  </div>
115
 
116
  <!-- Prévisualisation -->
117
  <div id="previewContainer" class="hidden">
118
- <p class="text-gray-700 font-medium mb-3">Aperçu du document :</p>
119
- <div class="relative rounded-lg overflow-hidden bg-gray-100">
120
- <img id="previewImage" src="#" alt="Aperçu" class="w-full max-h-80 object-contain">
121
- </div>
122
  </div>
123
 
124
  <button type="submit" class="w-full bg-blue-600 text-white rounded-lg px-4 py-3 font-semibold hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 transition-colors">
@@ -166,7 +165,7 @@
166
  const uploadForm = document.getElementById('uploadForm');
167
  const imageInput = document.getElementById('imageInput');
168
  const previewContainer = document.getElementById('previewContainer');
169
- const previewImage = document.getElementById('previewImage');
170
  const loadingIndicator = document.getElementById('loading');
171
  const resultDiv = document.getElementById('result');
172
  const dissertationTab = document.getElementById('dissertationTab');
@@ -182,16 +181,23 @@
182
  langPrefix: 'language-',
183
  });
184
 
185
- // Prévisualisation
186
  imageInput.addEventListener('change', function() {
187
- const file = this.files[0];
188
- if (file) {
189
- const reader = new FileReader();
190
- reader.onload = function(e) {
191
- previewImage.src = e.target.result;
192
- previewContainer.classList.remove('hidden');
193
- }
194
- reader.readAsDataURL(file);
 
 
 
 
 
 
 
195
  } else {
196
  previewContainer.classList.add('hidden');
197
  }
 
92
 
93
  <div class="bg-white rounded-xl shadow-lg p-8">
94
  <!-- Zone de téléchargement -->
95
+ <form id="uploadForm" class="space-y-6" enctype="multipart/form-data">
96
  <div class="relative">
97
  <label for="imageInput" class="block text-lg font-medium text-gray-700 mb-3">
98
+ Sélectionnez vos documents
99
  </label>
100
  <div class="mt-2 flex justify-center px-6 pt-5 pb-6 border-2 border-gray-300 border-dashed rounded-lg hover:border-blue-500 transition-colors cursor-pointer">
101
  <div class="space-y-2 text-center">
 
104
  </svg>
105
  <div class="text-sm text-gray-600">
106
  <label for="imageInput" class="relative cursor-pointer bg-white rounded-md font-medium text-blue-600 hover:text-blue-500 focus-within:outline-none">
107
+ <span>Télécharger des fichiers</span>
108
+ <!-- Ajout de l'attribut "multiple" -->
109
+ <input id="imageInput" name="image" type="file" class="sr-only" accept="image/*" multiple required>
110
  </label>
111
  </div>
112
+ <p class="text-xs text-gray-500">PNG, JPG jusqu'à 10MB par fichier</p>
113
  </div>
114
  </div>
115
  </div>
116
 
117
  <!-- Prévisualisation -->
118
  <div id="previewContainer" class="hidden">
119
+ <p class="text-gray-700 font-medium mb-3">Aperçu des documents :</p>
120
+ <div id="previews" class="grid grid-cols-1 md:grid-cols-2 gap-4"></div>
 
 
121
  </div>
122
 
123
  <button type="submit" class="w-full bg-blue-600 text-white rounded-lg px-4 py-3 font-semibold hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 transition-colors">
 
165
  const uploadForm = document.getElementById('uploadForm');
166
  const imageInput = document.getElementById('imageInput');
167
  const previewContainer = document.getElementById('previewContainer');
168
+ const previewsDiv = document.getElementById('previews');
169
  const loadingIndicator = document.getElementById('loading');
170
  const resultDiv = document.getElementById('result');
171
  const dissertationTab = document.getElementById('dissertationTab');
 
181
  langPrefix: 'language-',
182
  });
183
 
184
+ // Prévisualisation pour plusieurs images
185
  imageInput.addEventListener('change', function() {
186
+ previewsDiv.innerHTML = ''; // Réinitialiser les prévisualisations
187
+ const files = this.files;
188
+ if (files && files.length > 0) {
189
+ previewContainer.classList.remove('hidden');
190
+ Array.from(files).forEach(file => {
191
+ const reader = new FileReader();
192
+ reader.onload = function(e) {
193
+ const img = document.createElement('img');
194
+ img.src = e.target.result;
195
+ img.alt = "Aperçu";
196
+ img.className = "w-full h-48 object-contain rounded-md border";
197
+ previewsDiv.appendChild(img);
198
+ }
199
+ reader.readAsDataURL(file);
200
+ });
201
  } else {
202
  previewContainer.classList.add('hidden');
203
  }