LlamaFinetuneGGUF commited on
Commit
1e73e88
·
1 Parent(s): 9efc709

ui-ux: Setting Modal Changes

Browse files

Enhancement - move the connection tab below chat history in left side of settings
Enhancement - on chat tab Delete all chats, should prompt to make sure you want to
Enhancement - Debug tab change copy debug info from a popup to a toast notification

app/components/settings/SettingsWindow.tsx CHANGED
@@ -27,8 +27,8 @@ export const SettingsWindow = ({ open, onClose }: SettingsProps) => {
27
  const tabs: { id: TabType; label: string; icon: string; component?: ReactElement }[] = [
28
  { id: 'chat-history', label: 'Chat History', icon: 'i-ph:book', component: <ChatHistoryTab /> },
29
  { id: 'providers', label: 'Providers', icon: 'i-ph:key', component: <ProvidersTab /> },
30
- { id: 'features', label: 'Features', icon: 'i-ph:star', component: <FeaturesTab /> },
31
  { id: 'connection', label: 'Connection', icon: 'i-ph:link', component: <ConnectionsTab /> },
 
32
  ...(debug
33
  ? [
34
  {
 
27
  const tabs: { id: TabType; label: string; icon: string; component?: ReactElement }[] = [
28
  { id: 'chat-history', label: 'Chat History', icon: 'i-ph:book', component: <ChatHistoryTab /> },
29
  { id: 'providers', label: 'Providers', icon: 'i-ph:key', component: <ProvidersTab /> },
 
30
  { id: 'connection', label: 'Connection', icon: 'i-ph:link', component: <ConnectionsTab /> },
31
+ { id: 'features', label: 'Features', icon: 'i-ph:star', component: <FeaturesTab /> },
32
  ...(debug
33
  ? [
34
  {
app/components/settings/chat-history/ChatHistoryTab.tsx CHANGED
@@ -22,17 +22,20 @@ export default function ChatHistoryTab() {
22
  };
23
 
24
  const handleDeleteAllChats = async () => {
 
 
 
 
 
25
  if (!db) {
26
  const error = new Error('Database is not available');
27
  logStore.logError('Failed to delete chats - DB unavailable', error);
28
  toast.error('Database is not available');
29
-
30
  return;
31
  }
32
 
33
  try {
34
  setIsDeleting(true);
35
-
36
  const allChats = await getAll(db);
37
  await Promise.all(allChats.map((chat) => deleteById(db!, chat.id)));
38
  logStore.logSystem('All chats deleted successfully', { count: allChats.length });
@@ -52,7 +55,6 @@ export default function ChatHistoryTab() {
52
  const error = new Error('Database is not available');
53
  logStore.logError('Failed to export chats - DB unavailable', error);
54
  toast.error('Database is not available');
55
-
56
  return;
57
  }
58
 
 
22
  };
23
 
24
  const handleDeleteAllChats = async () => {
25
+ const confirmDelete = window.confirm("Are you sure you want to delete all chats? This action cannot be undone.");
26
+ if (!confirmDelete) {
27
+ return; // Exit if the user cancels
28
+ }
29
+
30
  if (!db) {
31
  const error = new Error('Database is not available');
32
  logStore.logError('Failed to delete chats - DB unavailable', error);
33
  toast.error('Database is not available');
 
34
  return;
35
  }
36
 
37
  try {
38
  setIsDeleting(true);
 
39
  const allChats = await getAll(db);
40
  await Promise.all(allChats.map((chat) => deleteById(db!, chat.id)));
41
  logStore.logSystem('All chats deleted successfully', { count: allChats.length });
 
55
  const error = new Error('Database is not available');
56
  logStore.logError('Failed to export chats - DB unavailable', error);
57
  toast.error('Database is not available');
 
58
  return;
59
  }
60
 
app/components/settings/debug/DebugTab.tsx CHANGED
@@ -1,6 +1,7 @@
1
  import React, { useCallback, useEffect, useState } from 'react';
2
  import { useSettings } from '~/lib/hooks/useSettings';
3
  import commit from '~/commit.json';
 
4
 
5
  interface ProviderStatus {
6
  name: string;
@@ -308,8 +309,9 @@ export default function DebugTab() {
308
  Version: versionHash,
309
  Timestamp: new Date().toISOString(),
310
  };
 
311
  navigator.clipboard.writeText(JSON.stringify(debugInfo, null, 2)).then(() => {
312
- alert('Debug information copied to clipboard!');
313
  });
314
  }, [activeProviders, systemInfo]);
315
 
 
1
  import React, { useCallback, useEffect, useState } from 'react';
2
  import { useSettings } from '~/lib/hooks/useSettings';
3
  import commit from '~/commit.json';
4
+ import { toast } from 'react-toastify';
5
 
6
  interface ProviderStatus {
7
  name: string;
 
309
  Version: versionHash,
310
  Timestamp: new Date().toISOString(),
311
  };
312
+
313
  navigator.clipboard.writeText(JSON.stringify(debugInfo, null, 2)).then(() => {
314
+ toast.success('Debug information copied to clipboard!');
315
  });
316
  }, [activeProviders, systemInfo]);
317