diff --git a/app/backend/GetLocalStorage.ts b/app/backend/GetLocalStorage.ts deleted file mode 100644 index 529d444..0000000 --- a/app/backend/GetLocalStorage.ts +++ /dev/null @@ -1,15 +0,0 @@ -// getLocalStorageData.ts - -export const getAllLocalStorageItems = (): Record => { - const allData: Record = {}; - - for (let i = 0; i < localStorage.length; i++) { - const key = localStorage.key(i); - if (key) { - const value = localStorage.getItem(key); - allData[key] = value; - } - } - return allData; - }; - \ No newline at end of file diff --git a/app/components/Models.tsx b/app/components/Models.tsx index 17f7f46..cf84932 100644 --- a/app/components/Models.tsx +++ b/app/components/Models.tsx @@ -2,9 +2,16 @@ import React, { useState, useEffect } from 'react'; // Define the available model options const modelDropdown = { - offlineWithoutFoss: ['Offline Fast', 'Offline Slow'], - offlineFoss: ['Offline Fast (FOSS)', 'Offline Slow (FOSS)'], - onlineWithoutFoss: [ + offlineModels: [ + 'Offline Fast', + 'Offline Fast (FOSS)', + 'Offline Slow', + 'Offline Slow (FOSS)', + ], + + onlineModels: [ + 'Online (La Plateforme)', + 'Online (FOSS) (La Plateforme)', 'Online Cheap (OpenAI)', 'Online Expensive (OpenAI)', 'Online Cheap (Anthropic)', @@ -12,17 +19,21 @@ const modelDropdown = { 'Online Cheap (Google)', 'Online Expensive (Google)', ], - onlineFoss: ['Online (FOSS) (La Plateforme)'], + + fossModels: [ + 'Offline Fast (FOSS)', + 'Offline Slow (FOSS)', + 'Online (FOSS) (La Plateforme)', + ], }; const Models: React.FC = () => { // Initialize state with value from localStorage or default to '' - const [selectedModel, setSelectedModel] = useState(''); - const radioSelection = localStorage.getItem('radioSelection') + const [radioSelection, setRadioSelection] = useState(''); useEffect(() => { const handleStorageChange = () => { - setSelectedModel(localStorage.getItem('selectedModel') || ''); + setRadioSelection(localStorage.getItem('radioSelection') || ''); }; handleStorageChange(); @@ -37,7 +48,7 @@ const Models: React.FC = () => { const handleModelChange = (event: React.ChangeEvent) => { const newModel = event.target.value; - setSelectedModel(newModel); + setRadioSelection(newModel); localStorage.setItem('radioSelection', newModel); // Update localStorage directly }; @@ -46,55 +57,22 @@ const Models: React.FC = () => { let models = []; switch (radioSelection) { case 'Offline': - models = [ - ...modelDropdown.onlineWithoutFoss, - ...modelDropdown.onlineFoss, - ]; // Show only offline models without FOSS + models = modelDropdown.offlineModels; // Show only offline models break; - case 'Offline (FOSS)': - models = [ - ...modelDropdown.onlineFoss, - ]; // Show only offline models with FOSS + case 'AI Online': + models = modelDropdown.onlineModels; // Show only online models break; - case 'Online': - models = [ - ...modelDropdown.offlineWithoutFoss, - ...modelDropdown.offlineFoss, - ]; // Show only online models without FOSS - break; - case 'Online (FOSS)': - models = [ - ...modelDropdown.offlineFoss, - ]; // Show only online models with FOSS - break; - case 'None': - models = [ - ...modelDropdown.offlineWithoutFoss, - ...modelDropdown.offlineFoss, - ...modelDropdown.onlineWithoutFoss, - ...modelDropdown.onlineFoss, - ]; // Show all models if nothing matches - break; - case 'None (FOSS)': - models = [ - ...modelDropdown.offlineFoss, - ...modelDropdown.onlineFoss, - ]; // Show all models if nothing matches + case 'FOSS': + models = modelDropdown.fossModels; // Show only FOSS models break; default: - models = [ - ...modelDropdown.offlineWithoutFoss, - ...modelDropdown.offlineFoss, - ...modelDropdown.onlineWithoutFoss, - ...modelDropdown.onlineFoss, - ]; // Show all models if nothing matches + models = [...modelDropdown.offlineModels, ...modelDropdown.onlineModels, ...modelDropdown.fossModels]; // Show all models if nothing matches break; } return Array.from(new Set(models)); // Remove duplicates using Set })(); - const isOfflineModel = (model: string) => - modelDropdown.offlineWithoutFoss.includes(model) || modelDropdown.offlineFoss.includes(model); + const isOfflineModel = (model: string) => modelDropdown.offlineModels.includes(model); return (
@@ -106,7 +84,7 @@ const Models: React.FC = () => { {/* Model Selection Dropdown */}
- {filteredModels.map((model) => (
- {/* Model Grid with Cards */}
- {['Code', 'Math', 'Language', 'Character', 'Finance', 'Weather', 'Time', 'Image', 'Custom1', 'Custom2'].map( - (category) => ( - - ) - )} + {['Code', 'Math', 'Language', 'Character', 'Finance', 'Weather', 'Time', 'Image', 'Custom1', 'Custom2'].map((category) => ( + + ))}
diff --git a/app/components/Settings.tsx b/app/components/Settings.tsx index 34560de..9291f01 100644 --- a/app/components/Settings.tsx +++ b/app/components/Settings.tsx @@ -1,7 +1,6 @@ import React, { useState, useEffect } from 'react'; import { applyIOMarketTheme, applyWhiteTheme, applyBlackTheme } from './theme'; import { exportSettings, importSettings } from './settingUtils'; // Import utility functions -import { getAllLocalStorageItems } from '../backend/GetLocalStorage'; const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = ({ closeSettings, accountName }) => { @@ -197,9 +196,6 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = ( const handleRadioChange = (newValue: string) => { setSelectedOption(newValue); // Update the state with the selected option - if (openSourceMode){ - newValue += " (FOSS)" - } localStorage.setItem('radioSelection', newValue); // Save the selection for persistence }; @@ -419,36 +415,34 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = ( {/* AI Mode Radio Options */}

Disable Options:

-
- {/* Offline */} -
handleRadioChange('Offline')} // Allow selection only if not in open-source mode - > - Offline tools{openSourceMode ? ' (FOSS)' : ''} -
- - {/* Online */} -
handleRadioChange('Online')} - > - Online tools{openSourceMode ? ' (FOSS)' : ''} -
- - {/* None */} -
handleRadioChange('None')} - > - None{openSourceMode ? ' (FOSS)' : ''} -
-
-
-

- After changing the preferred settings, please reload the website so it can update itself properly. -

-
+
+
!openSourceMode && handleRadioChange('Offline')} // Handle selection only if not in open source mode + > + Offline tools +
+
!openSourceMode && handleRadioChange('AI Online')} + > + Online tools +
+
!openSourceMode && handleRadioChange('None')} + > + None +
+
+
+ {openSourceMode && ( +

These options are deactivated because you are in FOSS mode.

+ )} +

+ After changing the preferred settings, please reload the website so it can update itself properly. +

+ {/* Disable Chat History Checkbox */}
@@ -820,8 +814,10 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = ( // Update radio selection based on the new openSourceMode value if (newValue) { setSelectedOption('FOSS'); // Set to FOSS if enabling open source mode + localStorage.setItem('radioSelection', 'FOSS'); // Update localStorage } else { setSelectedOption('None'); // Or any other default value when disabling + localStorage.setItem('radioSelection', 'None'); // Update localStorage } }} /> @@ -999,13 +995,6 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = (

Settings for {accountName}

{renderSettingsContent()} -
diff --git a/app/styles/Settings.css b/app/styles/Settings.css index ece5047..89c9ea7 100644 --- a/app/styles/Settings.css +++ b/app/styles/Settings.css @@ -109,20 +109,6 @@ transition: background 0.3s; } -/* Close button positioning */ -.apply { - background: var(--close-button-color); /* Use variable for close button color */ - color: white; /* Use white for text color */ - border: none; - border-radius: 5px; - padding: 5px 10px; - cursor: pointer; - position: absolute; /* Position the button absolutely */ - top: 50px; /* Distance from the top */ - right: 10px; /* Distance from the right */ - transition: background 0.3s; -} - .close-popup:hover { background: darkred; /* Optional hover effect */ } diff --git a/package.json b/package.json index b5901e2..3e8e557 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "interstellar_ai", - "version": "0.2.0", + "version": "0.1.0", "private": true, "main": "main.js", "scripts": {