HirCoir commited on
Commit
ae62850
·
verified ·
1 Parent(s): a3db64e

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +10 -70
index.html CHANGED
@@ -275,17 +275,6 @@
275
  </button>
276
  </div>
277
  </div>
278
-
279
- <div class="flex-grow overflow-y-auto px-4 sidebar-content">
280
- <h3 class="text-sm font-semibold text-gray-400 mb-2">Saved Chats</h3>
281
- <div id="chatsList" class="space-y-2">
282
- {% for chat in chat_files %}
283
- <div class="chat-file hover:bg-gray-700 p-2 rounded-lg cursor-pointer transition" data-file="{{ chat }}">
284
- <i class="fas fa-comment-alt mr-2"></i>{{ chat }}
285
- </div>
286
- {% endfor %}
287
- </div>
288
- </div>
289
  </div>
290
 
291
  <!-- Main Content -->
@@ -343,7 +332,6 @@
343
  </div>
344
 
345
  <script>
346
- let currentSessionId = '{{ session_id }}';
347
  let conversationHistory = [];
348
  let currentAudio = null;
349
  let currentEventSource = null;
@@ -398,19 +386,6 @@
398
  chatArea.scrollTop = chatArea.scrollHeight;
399
  }
400
 
401
- function loadChat(sessionId) {
402
- fetch(`/api/load_chat/${sessionId}`)
403
- .then(response => response.json())
404
- .then(data => {
405
- currentSessionId = sessionId;
406
- conversationHistory = data.messages;
407
- document.getElementById('chatArea').innerHTML = '';
408
- conversationHistory.forEach((message, index) => {
409
- addMessage(message.content, message.role === 'user', index);
410
- });
411
- });
412
- }
413
-
414
  function showContextMenu(e) {
415
  e.preventDefault();
416
  const contextMenu = document.getElementById('contextMenu');
@@ -445,37 +420,16 @@
445
  const newContent = document.getElementById('editMessageInput').value;
446
  const isUserMessage = conversationHistory[editingMessageIndex].role === 'user';
447
 
448
- try {
449
- const response = await fetch('/api/update_message', {
450
- method: 'POST',
451
- headers: {
452
- 'Content-Type': 'application/json'
453
- },
454
- body: JSON.stringify({
455
- session_id: currentSessionId,
456
- message_index: editingMessageIndex,
457
- content: newContent,
458
- is_user: isUserMessage
459
- })
460
- });
461
-
462
- const data = await response.json();
463
- if (data.success) {
464
- // Update conversation history and UI
465
- conversationHistory = data.messages;
466
- document.getElementById('chatArea').innerHTML = '';
467
- conversationHistory.forEach((message, index) => {
468
- addMessage(message.content, message.role === 'user', index);
469
- });
470
 
471
- // If it was a user message, regenerate the response
472
- if (isUserMessage) {
473
- await sendMessage(false);
474
- }
475
- }
476
- } catch (error) {
477
- console.error('Error saving edited message:', error);
478
- alert('Failed to save the edited message');
479
  }
480
 
481
  hideEditModal();
@@ -487,7 +441,6 @@
487
  document.getElementById('listModelsBtn').disabled = true;
488
  document.getElementById('messageInput').disabled = true;
489
  document.getElementById('sidebar').classList.add('disabled');
490
- document.getElementById('chatsList').classList.add('disabled');
491
  document.getElementById('stopBtn').style.display = 'block';
492
  }
493
 
@@ -497,7 +450,6 @@
497
  document.getElementById('listModelsBtn').disabled = false;
498
  document.getElementById('messageInput').disabled = false;
499
  document.getElementById('sidebar').classList.remove('disabled');
500
- document.getElementById('chatsList').classList.remove('disabled');
501
  document.getElementById('stopBtn').style.display = 'none';
502
  }
503
 
@@ -543,8 +495,7 @@
543
  body: JSON.stringify({
544
  base_host: baseHost,
545
  model: model,
546
- messages: conversationHistory,
547
- session_id: currentSessionId
548
  }),
549
  signal: abortController.signal
550
  });
@@ -645,7 +596,6 @@
645
  });
646
 
647
  document.getElementById('newChatBtn').addEventListener('click', () => {
648
- currentSessionId = '{{ session_id }}';
649
  conversationHistory = [];
650
  document.getElementById('chatArea').innerHTML = '';
651
  // Restore selected models
@@ -692,13 +642,6 @@
692
  }
693
  });
694
 
695
- document.getElementById('chatsList').addEventListener('click', (e) => {
696
- const sessionId = e.target.dataset.file;
697
- if (sessionId) {
698
- loadChat(sessionId);
699
- }
700
- });
701
-
702
  // Store selected models
703
  document.getElementById('ollamaModel').addEventListener('change', (e) => {
704
  selectedOllamaModel = e.target.value;
@@ -735,12 +678,10 @@
735
  sidebar.classList.remove('sidebar-expanded');
736
  sidebar.classList.add('sidebar-collapsed');
737
  sidebarTitle.style.display = 'none';
738
- document.querySelectorAll('.chat-file span').forEach(span => span.style.display = 'none');
739
  } else {
740
  sidebar.classList.remove('sidebar-collapsed');
741
  sidebar.classList.add('sidebar-expanded');
742
  sidebarTitle.style.display = 'block';
743
- document.querySelectorAll('.chat-file span').forEach(span => span.style.display = 'inline');
744
  }
745
  });
746
 
@@ -751,7 +692,6 @@
751
  sidebar.classList.remove('sidebar-expanded');
752
  sidebar.classList.add('sidebar-collapsed');
753
  document.getElementById('sidebarTitle').style.display = 'none';
754
- document.querySelectorAll('.chat-file span').forEach(span => span.style.display = 'none');
755
  }
756
  }
757
 
 
275
  </button>
276
  </div>
277
  </div>
 
 
 
 
 
 
 
 
 
 
 
278
  </div>
279
 
280
  <!-- Main Content -->
 
332
  </div>
333
 
334
  <script>
 
335
  let conversationHistory = [];
336
  let currentAudio = null;
337
  let currentEventSource = null;
 
386
  chatArea.scrollTop = chatArea.scrollHeight;
387
  }
388
 
 
 
 
 
 
 
 
 
 
 
 
 
 
389
  function showContextMenu(e) {
390
  e.preventDefault();
391
  const contextMenu = document.getElementById('contextMenu');
 
420
  const newContent = document.getElementById('editMessageInput').value;
421
  const isUserMessage = conversationHistory[editingMessageIndex].role === 'user';
422
 
423
+ // Update conversation history and UI
424
+ conversationHistory[editingMessageIndex].content = newContent;
425
+ document.getElementById('chatArea').innerHTML = '';
426
+ conversationHistory.forEach((message, index) => {
427
+ addMessage(message.content, message.role === 'user', index);
428
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
429
 
430
+ // If it was a user message, regenerate the response
431
+ if (isUserMessage) {
432
+ await sendMessage(false);
 
 
 
 
 
433
  }
434
 
435
  hideEditModal();
 
441
  document.getElementById('listModelsBtn').disabled = true;
442
  document.getElementById('messageInput').disabled = true;
443
  document.getElementById('sidebar').classList.add('disabled');
 
444
  document.getElementById('stopBtn').style.display = 'block';
445
  }
446
 
 
450
  document.getElementById('listModelsBtn').disabled = false;
451
  document.getElementById('messageInput').disabled = false;
452
  document.getElementById('sidebar').classList.remove('disabled');
 
453
  document.getElementById('stopBtn').style.display = 'none';
454
  }
455
 
 
495
  body: JSON.stringify({
496
  base_host: baseHost,
497
  model: model,
498
+ messages: conversationHistory
 
499
  }),
500
  signal: abortController.signal
501
  });
 
596
  });
597
 
598
  document.getElementById('newChatBtn').addEventListener('click', () => {
 
599
  conversationHistory = [];
600
  document.getElementById('chatArea').innerHTML = '';
601
  // Restore selected models
 
642
  }
643
  });
644
 
 
 
 
 
 
 
 
645
  // Store selected models
646
  document.getElementById('ollamaModel').addEventListener('change', (e) => {
647
  selectedOllamaModel = e.target.value;
 
678
  sidebar.classList.remove('sidebar-expanded');
679
  sidebar.classList.add('sidebar-collapsed');
680
  sidebarTitle.style.display = 'none';
 
681
  } else {
682
  sidebar.classList.remove('sidebar-collapsed');
683
  sidebar.classList.add('sidebar-expanded');
684
  sidebarTitle.style.display = 'block';
 
685
  }
686
  });
687
 
 
692
  sidebar.classList.remove('sidebar-expanded');
693
  sidebar.classList.add('sidebar-collapsed');
694
  document.getElementById('sidebarTitle').style.display = 'none';
 
695
  }
696
  }
697