malaknihed commited on
Commit
7b6af6d
·
verified ·
1 Parent(s): de9667b

Create script.js

Browse files
Files changed (1) hide show
  1. static/script.js +683 -0
static/script.js ADDED
@@ -0,0 +1,683 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ document.getElementById('resumerButton').addEventListener('click', loadResumerPage);
2
+ document.getElementById('traductionbutton').addEventListener('click', loadTraductionPage);
3
+ document.getElementById('qesdocButton').addEventListener('click', loadDocPage);
4
+ document.getElementById('visualisationButton').addEventListener('click', loadVisualisationPage);
5
+ document.getElementById('interpretationButton').addEventListener('click', loadInterpretationPage);
6
+ document.getElementById('qesimgButton').addEventListener('click', loadImagePage);
7
+ //quand on clique sur le boutton resumer ------------------------
8
+ function loadResumerPage() {
9
+ document.body.style.setProperty('--background-image', "url('resumer2.webp')");
10
+
11
+ // Effacer uniquement le contenu de la page sans casser le script
12
+ let appContainer = document.createElement("div");
13
+ appContainer.classList.add("app-container");
14
+ appContainer.innerHTML = `
15
+ <div class="sidebar">
16
+ <div class="logo-container">
17
+ <div class="logo-top">SMARTDOCS</div>
18
+ <div class="logo-bottom">AI</div>
19
+ </div>
20
+
21
+ <div class="menu-section">
22
+ <button class="menu-btn" id="traductionbutton">TRADUCTION</button>
23
+ <button class="menu-btn" id="qesdocButton">QUESTION</button>
24
+ <button class="menu-btn" id="visualisationButton">VISUALISATION</button>
25
+ </div>
26
+
27
+ <div class="menu-section">
28
+ <div class="menu-title">IMAGES</div>
29
+ <button class="menu-btn" id="interpretationButton">INTERPRETER</button>
30
+ <button class="menu-btn" id="qesimgButton">QUESTIONS</button>
31
+ </div>
32
+ </div>
33
+
34
+ <div class="main-content-area">
35
+ <div class="document-container">
36
+ <h1 class="document-main-title">Opérations sur documents</h1>
37
+ <h2 class="document-subtitle">RÉSUMER 📋</h2>
38
+
39
+ <div class="upload-container">
40
+ <div class="file-drop-zone" id="fileDropZone">
41
+ <label for="fileInput" class="file-upload-label">
42
+ <img src="up.png" id="uploadIcon" class="upload-icon" alt="Upload">
43
+ <span class="drop-text" id="dropText">Déposez votre fichier ici ou cliquez pour parcourir</span>
44
+ </label>
45
+ <input type="file" id="fileInput" class="file-input" accept=".doc,.docx,.xls,.xlsx,.pdf,.ppt,.pptx" hidden>
46
+ </div>
47
+ <button class="summary-action-btn">RÉSUMER</button>
48
+ </div>
49
+
50
+ <div class="results-container">
51
+ <div class="results-placeholder">
52
+ <p class="placeholder-text">Le résultat apparaîtra ici...</p>
53
+ </div>
54
+ </div>
55
+ </div>
56
+ </div>
57
+ `;
58
+
59
+ // Insérer la nouvelle interface sans écraser les scripts
60
+ document.body.innerHTML = "";
61
+ document.body.appendChild(appContainer);
62
+
63
+
64
+ document.getElementById('traductionbutton').addEventListener('click', loadTraductionPage);
65
+ document.getElementById('qesdocButton').addEventListener('click', loadDocPage);
66
+ document.getElementById('visualisationButton').addEventListener('click', loadVisualisationPage);
67
+ document.getElementById('interpretationButton').addEventListener('click', loadInterpretationPage);
68
+ document.getElementById('qesimgButton').addEventListener('click', loadImagePage);
69
+
70
+ const fileInput = document.getElementById('fileInput');
71
+ const dropText = document.getElementById('dropText');
72
+ const uploadIcon = document.getElementById('uploadIcon');
73
+ +
74
+
75
+ dropText.addEventListener('click', function(event) {
76
+ event.preventDefault();
77
+ event.stopPropagation();
78
+ fileInput.click();
79
+ });
80
+
81
+ uploadIcon.addEventListener('click', function(event) {
82
+ event.preventDefault();
83
+ event.stopPropagation();
84
+ fileInput.click();
85
+ });
86
+
87
+ fileInput.addEventListener('change', function(event) {
88
+ let file = event.target.files[0];
89
+ if (file) {
90
+ dropText.textContent = file.name;
91
+ uploadIcon.style.display = "none";
92
+ }
93
+ });
94
+
95
+
96
+ }
97
+ //Quand on clique sur le boutton traduction ---------------
98
+
99
+ function loadTraductionPage() {
100
+ document.body.style.setProperty('--background-image', "url('traduction.webp')");
101
+ let appContainer = document.createElement("div");
102
+ appContainer.classList.add("app-container");
103
+ appContainer.innerHTML = `
104
+ <div class="sidebar">
105
+ <div class="logo-container">
106
+ <div class="logo-top">SMARTDOCS</div>
107
+ <div class="logo-bottom">AI</div>
108
+ </div>
109
+
110
+ <div class="menu-section">
111
+ <button class="menu-btn" id="resumerButton">RESUME</button>
112
+ <button class="menu-btn" id="qesdocButton">QUESTION</button>
113
+ <button class="menu-btn" id="visualisationButton">VISUALISATION</button>
114
+ </div>
115
+
116
+ <div class="menu-section">
117
+ <div class="menu-title">IMAGES</div>
118
+ <button class="menu-btn" id="interpretationButton">INTERPRETER</button>
119
+ <button class="menu-btn" id="qesimgButton">QUESTIONS</button>
120
+ </div>
121
+ </div>
122
+
123
+ <div class="main-content-area">
124
+ <div class="document-container">
125
+ <h1 class="document-main-title">Opérations sur documents</h1>
126
+ <h2 class="document-subtitle">TRANSLATE </h2>
127
+
128
+ <div class="upload-container">
129
+ <div class="file-drop-zone" id="fileDropZone">
130
+ <label for="fileInput" class="file-upload-label">
131
+ <img src="up.png" id="uploadIcon" class="upload-icon" alt="Upload">
132
+ <span class="drop-text" id="dropText">Déposez votre fichier ici ou cliquez pour parcourir</span>
133
+ </label>
134
+ <input type="file" id="fileInput" class="file-input" accept=".doc,.docx,.xls,.xlsx,.pdf,.ppt,.pptx" hidden>
135
+ </div>
136
+
137
+ <div class="action-container">
138
+
139
+ <select id="languageSelect" class="language-dropdown">
140
+ <option >Select language</option>
141
+ <option value="af">Afrikaans</option>
142
+ <option value="am">Amharic</option>
143
+ <option value="ar">Arabic</option>
144
+ <option value="ast">Asturian</option>
145
+ <option value="az">Azerbaijani</option>
146
+ <option value="ba">Bashkir</option>
147
+ <option value="be">Belarusian</option>
148
+ <option value="bg">Bulgarian</option>
149
+ <option value="bn">Bengali</option>
150
+ <option value="br">Breton</option>
151
+ <option value="bs">Bosnian</option>
152
+ <option value="ca">Catalan; Valencian</option>
153
+ <option value="ceb">Cebuano</option>
154
+ <option value="cs">Czech</option>
155
+ <option value="cy">Welsh</option>
156
+ <option value="da">Danish</option>
157
+ <option value="de">German</option>
158
+ <option value="el">Greek</option>
159
+ <option value="en">English</option>
160
+ <option value="es">Spanish</option>
161
+ <option value="et">Estonian</option>
162
+ <option value="fa">Persian</option>
163
+ <option value="ff">Fulah</option>
164
+ <option value="fi">Finnish</option>
165
+ <option value="fr">French</option>
166
+ <option value="fy">Western Frisian</option>
167
+ <option value="ga">Irish</option>
168
+ <option value="gd">Gaelic; Scottish Gaelic</option>
169
+ <option value="gl">Galician</option>
170
+ <option value="gu">Gujarati</option>
171
+ <option value="ha">Hausa</option>
172
+ <option value="he">Hebrew</option>
173
+ <option value="hi">Hindi</option>
174
+ <option value="hr">Croatian</option>
175
+ <option value="ht">Haitian; Haitian Creole</option>
176
+ <option value="hu">Hungarian</option>
177
+ <option value="hy">Armenian</option>
178
+ <option value="id">Indonesian</option>
179
+ <option value="ig">Igbo</option>
180
+ <option value="ilo">Iloko</option>
181
+ <option value="is">Icelandic</option>
182
+ <option value="it">Italian</option>
183
+ <option value="ja">Japanese</option>
184
+ <option value="jv">Javanese</option>
185
+ <option value="ka">Georgian</option>
186
+ <option value="kk">Kazakh</option>
187
+ <option value="km">Central Khmer</option>
188
+ <option value="kn">Kannada</option>
189
+ <option value="ko">Korean</option>
190
+ <option value="lb">Luxembourgish</option>
191
+ <option value="lg">Ganda</option>
192
+ <option value="ln">Lingala</option>
193
+ <option value="lo">Lao</option>
194
+ <option value="lt">Lithuanian</option>
195
+ <option value="lv">Latvian</option>
196
+ <option value="mg">Malagasy</option>
197
+ <option value="mk">Macedonian</option>
198
+ <option value="ml">Malayalam</option>
199
+ <option value="mn">Mongolian</option>
200
+ <option value="mr">Marathi</option>
201
+ <option value="ms">Malay</option>
202
+ <option value="my">Burmese</option>
203
+ <option value="ne">Nepali</option>
204
+ <option value="nl">Dutch; Flemish</option>
205
+ <option value="no">Norwegian</option>
206
+ <option value="ns">Northern Sotho</option>
207
+ <option value="oc">Occitan (post 1500)</option>
208
+ <option value="or">Oriya</option>
209
+ <option value="pa">Panjabi; Punjabi</option>
210
+ <option value="pl">Polish</option>
211
+ <option value="ps">Pushto; Pashto</option>
212
+ <option value="pt">Portuguese</option>
213
+ <option value="ro">Romanian; Moldavian</option>
214
+ <option value="ru">Russian</option>
215
+ <option value="sd">Sindhi</option>
216
+ <option value="si">Sinhala; Sinhalese</option>
217
+ <option value="sk">Slovak</option>
218
+ <option value="sl">Slovenian</option>
219
+ <option value="so">Somali</option>
220
+ <option value="sq">Albanian</option>
221
+ <option value="sr">Serbian</option>
222
+ <option value="ss">Swati</option>
223
+ <option value="su">Sundanese</option>
224
+ <option value="sv">Swedish</option>
225
+ <option value="sw">Swahili</option>
226
+ <option value="ta">Tamil</option>
227
+ <option value="th">Thai</option>
228
+ <option value="tl">Tagalog</option>
229
+ <option value="tn">Tswana</option>
230
+ <option value="tr">Turkish</option>
231
+ <option value="uk">Ukrainian</option>
232
+ <option value="ur">Urdu</option>
233
+ <option value="uz">Uzbek</option>
234
+ <option value="vi">Vietnamese</option>
235
+ <option value="wo">Wolof</option>
236
+ <option value="xh">Xhosa</option>
237
+ <option value="yi">Yiddish</option>
238
+ <option value="yo">Yoruba</option>
239
+ <option value="zh">Chinese</option>
240
+ <option value="zu">Zulu</option>
241
+ </select>
242
+ <button class="summary-action-btn">Translate</button>
243
+ </div>
244
+ </div>
245
+
246
+ <div class="results-container">
247
+ <div class="results-placeholder">
248
+ <p class="placeholder-text">Le résultat apparaîtra ici...</p>
249
+ </div>
250
+ </div>
251
+ </div>
252
+ </div>
253
+ `;
254
+ document.body.innerHTML = "";
255
+ document.body.appendChild(appContainer);
256
+
257
+ document.getElementById('resumerButton').addEventListener('click', loadResumerPage);
258
+ document.getElementById('qesdocButton').addEventListener('click', loadDocPage);
259
+ document.getElementById('visualisationButton').addEventListener('click', loadVisualisationPage);
260
+ document.getElementById('interpretationButton').addEventListener('click', loadInterpretationPage);
261
+ document.getElementById('qesimgButton').addEventListener('click', loadImagePage);
262
+ const fileInput = document.getElementById('fileInput');
263
+ const dropText = document.getElementById('dropText');
264
+ const uploadIcon = document.getElementById('uploadIcon');
265
+ +
266
+
267
+ dropText.addEventListener('click', function(event) {
268
+ event.preventDefault();
269
+ event.stopPropagation();
270
+ fileInput.click();
271
+ });
272
+
273
+ uploadIcon.addEventListener('click', function(event) {
274
+ event.preventDefault();
275
+ event.stopPropagation();
276
+ fileInput.click();
277
+ });
278
+
279
+ fileInput.addEventListener('change', function(event) {
280
+ let file = event.target.files[0];
281
+ if (file) {
282
+ dropText.textContent = file.name;
283
+ uploadIcon.style.display = "none";
284
+ }
285
+ });
286
+
287
+ }
288
+
289
+ function loadDocPage() {
290
+ document.body.style.setProperty('--background-image', "url('qstdoc2.webp')");
291
+
292
+ // Créer une nouvelle structure pour ne pas écraser les événements
293
+ let appContainer = document.createElement("div");
294
+ appContainer.classList.add("app-container");
295
+ appContainer.innerHTML = `
296
+ <div class="sidebar">
297
+ <div class="logo-container">
298
+ <div class="logo-top">SMARTDOCS</div>
299
+ <div class="logo-bottom">AI</div>
300
+ </div>
301
+
302
+ <div class="menu-section">
303
+ <button class="menu-btn" id="resumerButton">RESUME</button>
304
+ <button class="menu-btn" id="traductionbutton">TRANSLATE</button>
305
+ <button class="menu-btn" id="visualisationButton">VISUALISATION</button>
306
+ </div>
307
+
308
+ <div class="menu-section">
309
+ <div class="menu-title">IMAGES</div>
310
+ <button class="menu-btn" id="interpretationButton">INTERPRETER</button>
311
+ <button class="menu-btn" id="qesimgButton">QUESTIONS</button>
312
+ </div>
313
+ </div>
314
+
315
+ <div class="main-content-area">
316
+ <div class="document-container">
317
+ <h1 class="document-main-title">Opérations sur documents</h1>
318
+ <h2 class="document-subtitle">QUESTION DOCUMENTS 📄❓</h2>
319
+
320
+ <div class="upload-container">
321
+ <div class="file-drop-zone" id="fileDropZone">
322
+ <label for="fileInput" class="file-upload-label">
323
+ <img src="up.png" id="uploadIcon" class="upload-icon" alt="Upload">
324
+ <span class="drop-text" id="dropText">Déposez votre fichier ici ou cliquez pour parcourir</span>
325
+ </label>
326
+ <input type="file" id="fileInput" class="file-input" accept=".doc,.docx,.xls,.xlsx,.pdf,.ppt,.pptx" hidden>
327
+ </div>
328
+
329
+ <div class="question-container">
330
+ <div class="question">
331
+ <input type="text" id="questionInput" placeholder="Tapez votre question ici...">
332
+ </div>
333
+ <button class="question-btn">Envoyer</button>
334
+ </div>
335
+ </div>
336
+
337
+ <div class="results-container">
338
+ <div class="results-placeholder">
339
+ <p class="placeholder-text">Le résultat apparaîtra ici...</p>
340
+ </div>
341
+ </div>
342
+ </div>
343
+ </div>
344
+ `;
345
+
346
+ // Insérer la nouvelle structure sans écraser les événements
347
+ document.body.innerHTML = "";
348
+ document.body.appendChild(appContainer);
349
+
350
+ // Réassocier les événements aux boutons
351
+ document.getElementById('resumerButton').addEventListener('click', loadResumerPage);
352
+ document.getElementById('traductionbutton').addEventListener('click', loadTraductionPage);
353
+ document.getElementById('visualisationButton').addEventListener('click', loadVisualisationPage);
354
+ document.getElementById('interpretationButton').addEventListener('click', loadInterpretationPage);
355
+ document.getElementById('qesimgButton').addEventListener('click', loadImagePage);
356
+
357
+ const fileInput = document.getElementById('fileInput');
358
+ const dropText = document.getElementById('dropText');
359
+ const uploadIcon = document.getElementById('uploadIcon');
360
+ +
361
+
362
+ dropText.addEventListener('click', function(event) {
363
+ event.preventDefault();
364
+ event.stopPropagation();
365
+ fileInput.click();
366
+ });
367
+
368
+ uploadIcon.addEventListener('click', function(event) {
369
+ event.preventDefault();
370
+ event.stopPropagation();
371
+ fileInput.click();
372
+ });
373
+
374
+ fileInput.addEventListener('change', function(event) {
375
+ let file = event.target.files[0];
376
+ if (file) {
377
+ dropText.textContent = file.name;
378
+ uploadIcon.style.display = "none";
379
+ }
380
+ });
381
+ }
382
+
383
+ //quand on clique sur visualisation ----------------------
384
+
385
+ function loadVisualisationPage() {
386
+ document.body.style.setProperty('--background-image', "url('visualisation.webp')");
387
+ let appContainer = document.createElement("div");
388
+ appContainer.classList.add("app-container");
389
+ appContainer.innerHTML = `
390
+ <div class="sidebar">
391
+ <div class="logo-container">
392
+ <div class="logo-top">SMARTDOCS</div>
393
+ <div class="logo-bottom">AI</div>
394
+ </div>
395
+
396
+ <div class="menu-section">
397
+ <button class="menu-btn" id="resumerButton">RESUME</button>
398
+ <button class="menu-btn" id="traductionbutton">TRANSLATE</button>
399
+ <button class="menu-btn" id="qesdocButton">QUESTION</button>
400
+
401
+ </div>
402
+
403
+ <div class="menu-section">
404
+ <div class="menu-title">IMAGES</div>
405
+ <button class="menu-btn" id="interpretationButton">INTERPRETER</button>
406
+ <button class="menu-btn" id="qesimgButton">QUESTIONS</button>
407
+ </div>
408
+ </div>
409
+
410
+ <div class="main-content-area">
411
+ <div class="document-container">
412
+ <h1 class="document-main-title">Opérations sur documents</h1>
413
+ <h2 class="document-subtitle">VISUALISATION </h2>
414
+
415
+ <div class="upload-container">
416
+ <div class="file-drop-zone" id="fileDropZone">
417
+ <label for="fileInput" class="file-upload-label">
418
+ <img src="up.png" id="uploadIcon" class="upload-icon" alt="Upload">
419
+ <span class="drop-text" id="dropText">Déposez votre fichier ici ou cliquez pour parcourir</span>
420
+ </label>
421
+ <input type="file" id="fileInput" class="file-input" accept=".doc,.docx,.xls,.xlsx,.pdf,.ppt,.pptx" hidden>
422
+ </div>
423
+
424
+ <div class="action-container">
425
+
426
+ <select id="languageSelect" class="language-dropdown">
427
+ <option >Select type</option>
428
+ <option value="histplot">Histogramme</option>
429
+ <option value="scatterplot">Nuage de points</option>
430
+ <option value="lineplot">Courbe</option>
431
+ <option value="barplot">Diagramme en barres</option>
432
+ <option value="boxplot">Boîte à moustaches</option>
433
+
434
+
435
+ </select>
436
+ <button class="summary-action-btn">Génerer</button>
437
+ </div>
438
+ </div>
439
+
440
+ <div class="results-container">
441
+ <div class="results-placeholder">
442
+ <p class="placeholder-text">Le résultat apparaîtra ici...</p>
443
+ </div>
444
+ </div>
445
+ </div>
446
+ </div>
447
+ `;
448
+ document.body.innerHTML = "";
449
+ document.body.appendChild(appContainer);
450
+
451
+ document.getElementById('resumerButton').addEventListener('click', loadResumerPage);
452
+ document.getElementById('traductionbutton').addEventListener('click', loadTraductionPage);
453
+ document.getElementById('qesdocButton').addEventListener('click', loadDocPage);
454
+ document.getElementById('interpretationButton').addEventListener('click', loadInterpretationPage);
455
+ document.getElementById('qesimgButton').addEventListener('click', loadImagePage);
456
+
457
+
458
+ const fileInput = document.getElementById('fileInput');
459
+ const dropText = document.getElementById('dropText');
460
+ const uploadIcon = document.getElementById('uploadIcon');
461
+ +
462
+
463
+ dropText.addEventListener('click', function(event) {
464
+ event.preventDefault();
465
+ event.stopPropagation();
466
+ fileInput.click();
467
+ });
468
+
469
+ uploadIcon.addEventListener('click', function(event) {
470
+ event.preventDefault();
471
+ event.stopPropagation();
472
+ fileInput.click();
473
+ });
474
+
475
+ fileInput.addEventListener('change', function(event) {
476
+ let file = event.target.files[0];
477
+ if (file) {
478
+ dropText.textContent = file.name;
479
+ uploadIcon.style.display = "none";
480
+ }
481
+ });
482
+
483
+ }
484
+
485
+
486
+ //quand on clique sur interpretation ---------------------
487
+
488
+ function loadInterpretationPage() {
489
+ document.body.style.setProperty('--background-image', "url('interpreter.webp')");
490
+
491
+ // Créer une nouvelle structure pour ne pas écraser les événements
492
+ let appContainer = document.createElement("div");
493
+ appContainer.classList.add("app-container");
494
+ appContainer.innerHTML = `
495
+ <div class="sidebar">
496
+ <div class="logo-container">
497
+ <div class="logo-top">SMARTDOCS</div>
498
+ <div class="logo-bottom">AI</div>
499
+ </div>
500
+
501
+ <div class="menu-section">
502
+ <button class="menu-btn" id="qesimgButton">QUESTIONS</button>
503
+ </div>
504
+
505
+ <div class="menu-section">
506
+ <div class="menu-title">DOCUMENTS</div>
507
+ <button class="menu-btn" id="resumerButton">RESUMER</button>
508
+ <button class="menu-btn" id="traductionbutton">TRANSLATE</button>
509
+ <button class="menu-btn" id="qesdocButton">QUESTION</button>
510
+ <button class="menu-btn" id="visualisationButton">VISUALISATION</button>
511
+ </div>
512
+ </div>
513
+
514
+ <div class="main-content-area">
515
+ <div class="document-container">
516
+ <h1 class="document-main-title">Opérations sur images</h1>
517
+ <h2 class="document-subtitle">INTERPRÉTATION DES IMAGES 🏞️🤖</h2>
518
+
519
+ <div class="upload-container">
520
+ <div class="file-drop-zone" id="fileDropZone">
521
+ <label for="fileInput" class="file-upload-label">
522
+ <img src="up.png" id="uploadIcon" class="upload-icon" alt="Upload">
523
+ <span class="drop-text" id="dropText">Déposez votre image ici ou cliquez pour parcourir</span>
524
+ </label>
525
+ <input type="file" id="fileInput" class="file-input" accept=".jpg,.jpeg,.png,.gif,.bmp,.webp" hidden>
526
+ </div>
527
+ <button class="summary-action-btn">INTERPRET</button>
528
+ </div>
529
+
530
+ <div class="results-container">
531
+ <div class="results-placeholder">
532
+ <p class="placeholder-text">Le résultat apparaîtra ici...</p>
533
+ </div>
534
+ </div>
535
+ </div>
536
+ </div>
537
+ `;
538
+
539
+ // Insérer la nouvelle structure sans écraser les événements
540
+ document.body.innerHTML = "";
541
+ document.body.appendChild(appContainer);
542
+
543
+ // Réassocier les événements aux boutons
544
+ document.getElementById('resumerButton').addEventListener('click', loadResumerPage);
545
+ document.getElementById('traductionbutton').addEventListener('click', loadTraductionPage);
546
+ document.getElementById('qesdocButton').addEventListener('click', loadDocPage);
547
+ document.getElementById('visualisationButton').addEventListener('click', loadVisualisationPage);
548
+ document.getElementById('qesimgButton').addEventListener('click', loadImagePage);
549
+
550
+ const fileInput = document.getElementById('fileInput');
551
+ const dropText = document.getElementById('dropText');
552
+ const uploadIcon = document.getElementById('uploadIcon');
553
+ +
554
+
555
+ dropText.addEventListener('click', function(event) {
556
+ event.preventDefault();
557
+ event.stopPropagation();
558
+ fileInput.click();
559
+ });
560
+
561
+ uploadIcon.addEventListener('click', function(event) {
562
+ event.preventDefault();
563
+ event.stopPropagation();
564
+ fileInput.click();
565
+ });
566
+
567
+ fileInput.addEventListener('change', function(event) {
568
+ let file = event.target.files[0];
569
+ if (file) {
570
+ dropText.textContent = file.name;
571
+ uploadIcon.style.display = "none";
572
+ }
573
+ });
574
+ }
575
+
576
+ //quand on clique sur quesion image ---------------
577
+
578
+ function loadImagePage() {
579
+ document.body.style.setProperty('--background-image', "url('qstimage.webp')");
580
+
581
+ // Créer une nouvelle structure pour éviter d’écraser les événements
582
+ let appContainer = document.createElement("div");
583
+ appContainer.classList.add("app-container");
584
+ appContainer.innerHTML = `
585
+ <div class="sidebar">
586
+ <div class="logo-container">
587
+ <div class="logo-top">SMARTDOCS</div>
588
+ <div class="logo-bottom">AI</div>
589
+ </div>
590
+
591
+ <div class="menu-section">
592
+ <button class="menu-btn" id="interpretationButton">INTERPRETER</button>
593
+ </div>
594
+
595
+ <div class="menu-section">
596
+ <div class="menu-title">DOCUMENTS</div>
597
+ <button class="menu-btn" id="resumerButton">RESUMER</button>
598
+ <button class="menu-btn" id="traductionbutton">TRANSLATE</button>
599
+ <button class="menu-btn" id="qesdocButton">QUESTION</button>
600
+ <button class="menu-btn" id="visualisationButton">VISUALISATION</button>
601
+ </div>
602
+ </div>
603
+
604
+ <div class="main-content-area">
605
+ <div class="document-container">
606
+ <h1 class="document-main-title">Opérations sur images</h1>
607
+ <h2 class="document-subtitle">QUESTION IMAGES 🖼️❓</h2>
608
+
609
+ <div class="upload-container">
610
+ <div class="file-drop-zone" id="fileDropZone">
611
+ <label for="fileInput" class="file-upload-label">
612
+ <img src="up.png" id="uploadIcon" class="upload-icon" alt="Upload">
613
+ <span class="drop-text" id="dropText">Déposez votre image ici ou cliquez pour parcourir</span>
614
+ </label>
615
+ <input type="file" id="fileInput" class="file-input" accept=".jpg,.jpeg,.png,.gif,.bmp,.webp" hidden>
616
+ </div>
617
+
618
+
619
+ <div class="question-container">
620
+ <div class="question">
621
+ <input type="text" id="questionInput" placeholder="Tapez votre question ici...">
622
+ </div>
623
+ <button class="question-btn">Envoyer</button>
624
+ </div>
625
+ </div>
626
+
627
+ <div class="results-container">
628
+ <div class="results-placeholder">
629
+ <p class="placeholder-text">Le résultat apparaîtra ici...</p>
630
+ </div>
631
+ </div>
632
+ </div>
633
+ </div>
634
+ `;
635
+
636
+ // Insérer la nouvelle structure sans écraser les événements
637
+ document.body.innerHTML = "";
638
+ document.body.appendChild(appContainer);
639
+
640
+ // Réassocier les événements aux boutons
641
+ document.getElementById('resumerButton').addEventListener('click', loadResumerPage);
642
+ document.getElementById('traductionbutton').addEventListener('click', loadTraductionPage);
643
+ document.getElementById('qesdocButton').addEventListener('click', loadDocPage);
644
+ document.getElementById('visualisationButton').addEventListener('click', loadVisualisationPage);
645
+ document.getElementById('interpretationButton').addEventListener('click', loadInterpretationPage);
646
+
647
+ const fileInput = document.getElementById('fileInput');
648
+ const dropText = document.getElementById('dropText');
649
+ const uploadIcon = document.getElementById('uploadIcon');
650
+ +
651
+
652
+ dropText.addEventListener('click', function(event) {
653
+ event.preventDefault();
654
+ event.stopPropagation();
655
+ fileInput.click();
656
+ });
657
+
658
+ uploadIcon.addEventListener('click', function(event) {
659
+ event.preventDefault();
660
+ event.stopPropagation();
661
+ fileInput.click();
662
+ });
663
+
664
+ fileInput.addEventListener('change', function(event) {
665
+ let file = event.target.files[0];
666
+ if (file) {
667
+ dropText.textContent = file.name;
668
+ uploadIcon.style.display = "none";
669
+ }
670
+ });
671
+
672
+
673
+ // Gestion du bouton "Envoyer"
674
+ document.getElementById('sendQuestionBtn').addEventListener('click', function() {
675
+ const questionText = document.getElementById('questionInput').value;
676
+ if (questionText.trim() === "") {
677
+ alert("Veuillez entrer une question !");
678
+ return;
679
+ }
680
+ alert("Question envoyée : " + questionText);
681
+ });
682
+
683
+ }