diff --git a/app/backend/ChatHistory.ts b/app/backend/ChatHistory.ts index b7b28c1..918d2da 100644 --- a/app/backend/ChatHistory.ts +++ b/app/backend/ChatHistory.ts @@ -1,25 +1,23 @@ - -type Message = { - role: string; - content:string -} - -type Chat = { +/* type ChatMessage = { name: string; - messages: Message[]; + messages: any; timestamp: number; }; -export let chatHistory: Chat[] = []; +let chatHistory: ChatMessage[] = []; -export function addMessageToHistory(index: number, chat: Chat): void { - if (index >= 0 && index < chatHistory.length) { - chatHistory[index] = chat; - chatHistory.sort((a, b) => b.timestamp - a.timestamp) - } +function addMessageToHistory(name: string, message: any): void { + const newMessage: ChatMessage = { + name: name, + messages: message, + timestamp: Date.now() + }; + chatHistory.push(newMessage); + console.log(`Added message from ${name}: ${message}`); + chatHistory.sort((a,b) => b.timestamp - a.timestamp) } -export function removeMessageFromHistory(timestamp: number): void { +function removeMessageFromHistory(timestamp: number): void { const index = chatHistory.findIndex((msg) => msg.timestamp === timestamp); if (index > -1) { chatHistory.splice(index, 1); @@ -28,3 +26,4 @@ export function removeMessageFromHistory(timestamp: number): void { console.log(`Message not found with timestamp: ${timestamp}`); } } + */ \ No newline at end of file diff --git a/app/backend/InputOutputHandler.tsx b/app/backend/InputOutputHandler.tsx index dffc1bf..64fc4f1 100644 --- a/app/backend/InputOutputHandler.tsx +++ b/app/backend/InputOutputHandler.tsx @@ -4,26 +4,14 @@ import ConversationFrontend from '../components/ConversationFrontend'; import InputFrontend from "../components/InputFrontend"; import { sendToVoiceRecognition } from "./voice_backend" import axios from "axios"; -import { changeHistory, checkCredentials, getHistory } from './database'; -import { addMessageToHistory, removeMessageFromHistory } from "./ChatHistory"; -interface InputOutputHandlerProps { - selectedIndex: number; -} - -const InputOutputBackend: React.FC = ({selectedIndex}) => { +const InputOutputBackend: React.FC = () => { // # variables type Message = { role: string content: string } - type Chat = { - name?: string - messages: Message[] - timestamp: string - } - // Define state variables for user preferences and messages const [preferredCurrency, setPreferredCurrency] = useState("USD"); const [preferredLanguage, setPreferredLanguage] = useState("english"); @@ -254,7 +242,6 @@ const InputOutputBackend: React.FC = ({selectedIndex}) const handleStopClick = () => { endGetWorker() getNewToken() - setInputDisabled(false) } const handleResendClick = () => { diff --git a/app/backend/database.ts b/app/backend/database.ts index c0cd51b..7ef1870 100644 --- a/app/backend/database.ts +++ b/app/backend/database.ts @@ -75,7 +75,7 @@ export const changePassword = async (usernameOrEmail: string, password: string, return await sendToDatabase(data); }; -export const getSettings = async (usernameOrEmail: string, password: string) => { +export const getData = async (usernameOrEmail: string, password: string) => { const data = { action: "get_settings", username: usernameOrEmail.includes('@') ? undefined : usernameOrEmail, @@ -85,38 +85,6 @@ export const getSettings = async (usernameOrEmail: string, password: string) => return await sendToDatabaseAndGetString(data); }; -export const changeSettings = async (usernameOrEmail: string, password: string, newData: object) => { - const data = { - action: "change_settings", - username: usernameOrEmail.includes('@') ? undefined : usernameOrEmail, - email: usernameOrEmail.includes('@') ? usernameOrEmail : undefined, - password, - data: newData, - }; - return await sendToDatabase(data); -}; - -export const getHistory = async (usernameOrEmail: string, password: string) => { - const data = { - action: "get_history", - username: usernameOrEmail.includes('@') ? undefined : usernameOrEmail, - email: usernameOrEmail.includes('@') ? usernameOrEmail : undefined, - password, - }; - return await sendToDatabaseAndGetString(data); -}; - -export const changeHistory = async (usernameOrEmail: string, password: string, newData: object) => { - const data = { - action: "change_history", - username: usernameOrEmail.includes('@') ? undefined : usernameOrEmail, - email: usernameOrEmail.includes('@') ? usernameOrEmail : undefined, - password, - data: newData, - }; - return await sendToDatabase(data); -}; - export const getEmail = async (usernameOrEmail: string, password: string): Promise => { const data = { action: "get_email", @@ -137,6 +105,16 @@ export const getName = async (usernameOrEmail: string, password: string): Promis return await sendToDatabaseAndGetString(data); }; +export const changeData = async (usernameOrEmail: string, password: string, newData: object) => { + const data = { + action: "change_settings", + username: usernameOrEmail.includes('@') ? undefined : usernameOrEmail, + email: usernameOrEmail.includes('@') ? usernameOrEmail : undefined, + password, + data: newData, + }; + return await sendToDatabase(data); +}; export const checkCredentials = async (usernameOrEmail: string, password: string) => { const data = { diff --git a/app/components/AI.tsx b/app/components/AI.tsx index a4db7fa..824f6d6 100644 --- a/app/components/AI.tsx +++ b/app/components/AI.tsx @@ -2,14 +2,10 @@ import React from 'react'; import InputOutputBackend from '../backend/InputOutputHandler'; -interface AIProps{ - selectedIndex:number -} - -const AI: React.FC = ({selectedIndex}) => { +const AI: React.FC = () => { return (
- +
); }; diff --git a/app/components/History.tsx b/app/components/History.tsx index 82c1f65..cd93950 100644 --- a/app/components/History.tsx +++ b/app/components/History.tsx @@ -1,16 +1,6 @@ -import React, { useState } from 'react'; - -interface HistoryProps{ - selectedIndex: number; - setSelectedIndex: (index: number) => void; -} - -const History: React.FC = ({selectedIndex, setSelectedIndex}) => { - - const handleHistoryClick = (index: number) => { - setSelectedIndex(index) - } +import React from 'react'; +const History: React.FC = () => { return (
@@ -18,7 +8,7 @@ const History: React.FC = ({selectedIndex, setSelectedIndex}) => { {/* Populate with history items */} {Array.from({ length: 20 }, (_, index) => (
  • - handleHistoryClick(index)}>history{index + 1} + history{index + 1}
  • ))} diff --git a/app/components/Login.tsx b/app/components/Login.tsx index a2c0f7f..1660f39 100644 --- a/app/components/Login.tsx +++ b/app/components/Login.tsx @@ -2,7 +2,7 @@ import React, { useState, useEffect } from 'react'; import { createAccount, checkCredentials, - getSettings + getData } from '../backend/database'; import Settings from './settings/Settings'; // Import the Settings component @@ -62,7 +62,7 @@ const Login: React.FC = () => { const success = await checkCredentials(accountName, password); if (success) { setIsLoggedIn(true); // Successful login - const data = await getSettings(accountName, password) + const data = await getData(accountName, password) if (data) { if (typeof localStorage !== 'undefined') { localStorage.setItem("dataFromServer", data) diff --git a/app/components/settings/Settings.tsx b/app/components/settings/Settings.tsx index c714a83..23734f2 100644 --- a/app/components/settings/Settings.tsx +++ b/app/components/settings/Settings.tsx @@ -12,7 +12,7 @@ import PrivacySettings from './PrivacySettings'; import FontSizeSetting from './FontSize'; import OpenSourceModeToggle from './OpenSourceToggle'; import { - changeSettings, + changeData, createAccount, deleteAccount, } from '../../backend/database'; @@ -355,7 +355,7 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = ( } if (await createAccount(useName, useEmail, usePassword)) { - if (await changeSettings(useName, usePassword, settings)) { + if (await changeData(useName, usePassword, settings)) { localStorage.setItem("currentName", useName) localStorage.setItem("currentPassword", usePassword) localStorage.setItem("currentEmail", useEmail) @@ -750,7 +750,7 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = (