diff --git a/app/components/Login.tsx b/app/components/Login.tsx index 69b57d8..b56d064 100644 --- a/app/components/Login.tsx +++ b/app/components/Login.tsx @@ -2,7 +2,6 @@ import React, { useState, useEffect } from 'react'; import { createAccount, checkCredentials, - getData } from '../backend/database'; import Settings from './settings/Settings'; // Import the Settings component @@ -55,10 +54,6 @@ const Login: React.FC = () => { const success = await checkCredentials(accountName, password); if (success) { setIsLoggedIn(true); // Successful login - var data = await getData(accountName, password) - if (data) { - localStorage.setItem("dataFromServer", data) - } setShowLoginPopup(false); // Close the login popup } else { alert('Incorrect credentials'); diff --git a/app/components/Models.tsx b/app/components/Models.tsx index 6ca8aeb..dee935e 100644 --- a/app/components/Models.tsx +++ b/app/components/Models.tsx @@ -137,11 +137,11 @@ const modelList = { } } -// Define the available selectedAIFunction options +// Define the available category options const modelDropdown = { - offlineNonFoss: ['Offline Fast', 'Offline Slow'], + offlineWithoutFoss: ['Offline Fast', 'Offline Slow'], offlineFoss: ['Offline Fast (FOSS)', 'Offline Slow (FOSS)'], - onlineNonFoss: [ + onlineWithoutFoss: [ 'Online Cheap (OpenAI)', 'Online Expensive (OpenAI)', 'Online Cheap (Anthropic)', @@ -153,7 +153,7 @@ const modelDropdown = { onlineFoss: ['Online (FOSS) (La Plateforme)'], }; -const selectedAIFunction = [ +const Category = [ 'Code', 'Math', 'Language', @@ -166,38 +166,25 @@ const selectedAIFunction = [ 'Custom2' ] -const ModelSection: React.FC = () => { +const Models: React.FC = () => { // Initialize state with value from localStorage or default to '' - const [selectedModelDropdown, setSelectedModelDropdown] = useState(''); + const [selectedModel, setSelectedModel] = useState(''); const [radioSelection, setRadioSelection] = useState("") - const [activeSelectedAIFunction, setActiveSelectedAIFunction] = useState(''); - const [currentSelectedAIFunction, setCurrentSelectedAIFunction] = useState(""); - + const [activeCategory, setActiveCategory] = useState(''); + const [currentCategory, setCurrentCategory] = useState(localStorage.getItem("activeCategory")); + useEffect(() => { - var temp = localStorage.getItem("activeSelectedAIFunction") || "" - setActiveSelectedAIFunction(temp) - if (!localStorage.getItem('selectedModelDropdown')) { - localStorage.setItem("selectedModelDropdown", "Offline Fast" ) - } - - if (!localStorage.getItem("activeSelectedAIFunction")) { - setActiveSelectedAIFunction('Code') - localStorage.setItem('activeSelectedAIFunction' ,'Code') - } - - if (!localStorage.getItem("model")) { - localStorage.setItem("model" ,'starcoder2') - } + // Retrieve initial values from localStorage + setRadioSelection(localStorage.getItem('radioSelection') || ''); + setSelectedModel(localStorage.getItem('selectedModel') || ''); const handleStorageChange = () => { - setSelectedModelDropdown(localStorage.getItem('selectedModelDropdown') || ''); + setSelectedModel(localStorage.getItem('selectedModel') || ''); }; // Update immediately when localStorage changes window.addEventListener('storage', handleStorageChange); - setRadioSelection(localStorage.getItem('radioSelection') || ''); - setSelectedModelDropdown(localStorage.getItem('selectedModelDropdown') || ''); // Cleanup listener on component unmount return () => { window.removeEventListener('storage', handleStorageChange); @@ -205,16 +192,16 @@ const ModelSection: React.FC = () => { }, []); // Dependency array can remain empty if you only want this to run on mount useEffect(() => { - var storedActiveSelectedAIFunction = localStorage.getItem("activeSelectedAIFunction") || ""; - if (storedActiveSelectedAIFunction !== currentSelectedAIFunction) { - setCurrentSelectedAIFunction(storedActiveSelectedAIFunction); + const storedCategory = localStorage.getItem("activeCategory"); + if (storedCategory !== currentCategory) { + setCurrentCategory(storedCategory); } - }, [activeSelectedAIFunction]); + }, [activeCategory]); const handleModelChange = (event: React.ChangeEvent) => { const newModel = event.target.value; - setSelectedModelDropdown(newModel); - localStorage.setItem('selectedModelDropdown', newModel); // Update localStorage directly + setSelectedModel(newModel); + localStorage.setItem('selectedModel', newModel); // Update localStorage directly }; // Determine the filtered models based on current radioSelection @@ -223,7 +210,7 @@ const ModelSection: React.FC = () => { switch (radioSelection) { case 'Offline': models = [ - ...modelDropdown.onlineNonFoss, + ...modelDropdown.onlineWithoutFoss, ...modelDropdown.onlineFoss, ]; // Show only offline models without FOSS break; @@ -234,7 +221,7 @@ const ModelSection: React.FC = () => { break; case 'Online': models = [ - ...modelDropdown.offlineNonFoss, + ...modelDropdown.offlineWithoutFoss, ...modelDropdown.offlineFoss, ]; // Show only online models without FOSS break; @@ -245,9 +232,9 @@ const ModelSection: React.FC = () => { break; case 'None': models = [ - ...modelDropdown.offlineNonFoss, + ...modelDropdown.offlineWithoutFoss, ...modelDropdown.offlineFoss, - ...modelDropdown.onlineNonFoss, + ...modelDropdown.onlineWithoutFoss, ...modelDropdown.onlineFoss, ]; // Show all models if nothing matches break; @@ -259,9 +246,9 @@ const ModelSection: React.FC = () => { break; default: models = [ - ...modelDropdown.offlineNonFoss, + ...modelDropdown.offlineWithoutFoss, ...modelDropdown.offlineFoss, - ...modelDropdown.onlineNonFoss, + ...modelDropdown.onlineWithoutFoss, ...modelDropdown.onlineFoss, ]; // Show all models if nothing matches break; @@ -270,14 +257,14 @@ const ModelSection: React.FC = () => { })(); const isOfflineModel = (model: string) => - modelDropdown.offlineNonFoss.includes(model) || modelDropdown.offlineFoss.includes(model); + modelDropdown.offlineWithoutFoss.includes(model) || modelDropdown.offlineFoss.includes(model); const modelClicked = (model: string) => { - localStorage.setItem('activeSelectedAIFunction' , model) - setActiveSelectedAIFunction(model) - const selectedAIFunction = selectedModelDropdown as keyof typeof modelList; - localStorage.setItem("model", modelList[selectedAIFunction][model as keyof typeof modelList[typeof selectedAIFunction]]) - localStorage.setItem("type", modelList[selectedAIFunction]['model_type' as keyof typeof modelList[typeof selectedAIFunction]]) + localStorage.setItem('activeCategory' , model) + setActiveCategory(model) + const category = selectedModel as keyof typeof modelList; + localStorage.setItem("model", modelList[category][model as keyof typeof modelList[typeof category]]) + localStorage.setItem("type", modelList[category]['model_type' as keyof typeof modelList[typeof category]]) } return ( @@ -290,7 +277,7 @@ const ModelSection: React.FC = () => { {/* Model Selection Dropdown */}
- {filteredModels.map((model) => (