From e602c885e526cf4f8aa7a4e46d1a7b786536d767 Mon Sep 17 00:00:00 2001
From: sageTheDM <info@photofuel.tech>
Date: Wed, 2 Oct 2024 09:04:24 +0200
Subject: [PATCH] Model changes

---
 app/components/Models.tsx            |  80 +++----
 app/components/settings/Settings.tsx |   6 +-
 app/components/settings/theme.ts     | 334 ++++++++++++++-------------
 3 files changed, 222 insertions(+), 198 deletions(-)

diff --git a/app/components/Models.tsx b/app/components/Models.tsx
index 74f096e..6ca8aeb 100644
--- a/app/components/Models.tsx
+++ b/app/components/Models.tsx
@@ -137,11 +137,11 @@ const modelList = {
   }
 }
 
-// Define the available category options
+// Define the available selectedAIFunction options
 const modelDropdown = {
-  offlineWithoutFoss: ['Offline Fast', 'Offline Slow'],
+  offlineNonFoss: ['Offline Fast', 'Offline Slow'],
   offlineFoss: ['Offline Fast (FOSS)', 'Offline Slow (FOSS)'],
-  onlineWithoutFoss: [
+  onlineNonFoss: [
     'Online Cheap (OpenAI)',
     'Online Expensive (OpenAI)',
     'Online Cheap (Anthropic)',
@@ -153,7 +153,7 @@ const modelDropdown = {
   onlineFoss: ['Online (FOSS) (La Plateforme)'],
 };
 
-const Category = [
+const selectedAIFunction = [
   'Code', 
   'Math', 
   'Language', 
@@ -166,21 +166,23 @@ const Category = [
   'Custom2'
 ]
 
-const Models: React.FC = () => {
+const ModelSection: React.FC = () => {
   // Initialize state with value from localStorage or default to ''
-  const [selectedModel, setSelectedModel] = useState('');
+  const [selectedModelDropdown, setSelectedModelDropdown] = useState('');
   const [radioSelection, setRadioSelection] = useState<string | null>("")
-  const [activeCategory, setActiveCategory] = useState('');
-  const [currentCategory, setCurrentCategory] = useState(localStorage.getItem("activeCategory"));
-
+  const [activeSelectedAIFunction, setActiveSelectedAIFunction] = useState('');
+  const [currentSelectedAIFunction, setCurrentSelectedAIFunction] = useState<string | null>("");
+  
   useEffect(() => {
-    if (!localStorage.getItem('selectedModel')) {
-      localStorage.setItem("selectedModel", "Offline Fast" )
+    var temp = localStorage.getItem("activeSelectedAIFunction") || ""
+    setActiveSelectedAIFunction(temp)
+    if (!localStorage.getItem('selectedModelDropdown')) {
+      localStorage.setItem("selectedModelDropdown", "Offline Fast" )
     }
 
-    if (!localStorage.getItem("activeCategory")) {
-      setActiveCategory('Code')
-      localStorage.setItem('activeCategory' ,'Code')
+    if (!localStorage.getItem("activeSelectedAIFunction")) {
+      setActiveSelectedAIFunction('Code')
+      localStorage.setItem('activeSelectedAIFunction' ,'Code')
     }
 
     if (!localStorage.getItem("model")) {
@@ -188,14 +190,14 @@ const Models: React.FC = () => {
     }
 
     const handleStorageChange = () => {
-      setSelectedModel(localStorage.getItem('selectedModel') || '');
+      setSelectedModelDropdown(localStorage.getItem('selectedModelDropdown') || '');
     };
 
     // Update immediately when localStorage changes
     window.addEventListener('storage', handleStorageChange);
 
     setRadioSelection(localStorage.getItem('radioSelection') || '');
-    setSelectedModel(localStorage.getItem('selectedModel') || '');
+    setSelectedModelDropdown(localStorage.getItem('selectedModelDropdown') || '');
     // Cleanup listener on component unmount
     return () => {
       window.removeEventListener('storage', handleStorageChange);
@@ -203,16 +205,16 @@ const Models: React.FC = () => {
   }, []); // Dependency array can remain empty if you only want this to run on mount
 
   useEffect(() => {
-    const storedCategory = localStorage.getItem("activeCategory");
-    if (storedCategory !== currentCategory) {
-      setCurrentCategory(storedCategory);
+    var storedActiveSelectedAIFunction = localStorage.getItem("activeSelectedAIFunction") || "";
+    if (storedActiveSelectedAIFunction !== currentSelectedAIFunction) {
+      setCurrentSelectedAIFunction(storedActiveSelectedAIFunction);
     }
-  }, [activeCategory]);
+  }, [activeSelectedAIFunction]);
 
   const handleModelChange = (event: React.ChangeEvent<HTMLSelectElement>) => {
     const newModel = event.target.value;
-    setSelectedModel(newModel);
-    localStorage.setItem('selectedModel', newModel); // Update localStorage directly
+    setSelectedModelDropdown(newModel);
+    localStorage.setItem('selectedModelDropdown', newModel); // Update localStorage directly
   };
 
   // Determine the filtered models based on current radioSelection
@@ -221,7 +223,7 @@ const Models: React.FC = () => {
     switch (radioSelection) {
       case 'Offline':
         models = [
-          ...modelDropdown.onlineWithoutFoss,
+          ...modelDropdown.onlineNonFoss,
           ...modelDropdown.onlineFoss,
         ]; // Show only offline models without FOSS
         break;
@@ -232,7 +234,7 @@ const Models: React.FC = () => {
         break;
       case 'Online':
         models = [
-          ...modelDropdown.offlineWithoutFoss,
+          ...modelDropdown.offlineNonFoss,
           ...modelDropdown.offlineFoss,
         ]; // Show only online models without FOSS
         break;
@@ -243,9 +245,9 @@ const Models: React.FC = () => {
         break;
       case 'None':
         models = [
-          ...modelDropdown.offlineWithoutFoss,
+          ...modelDropdown.offlineNonFoss,
           ...modelDropdown.offlineFoss,
-          ...modelDropdown.onlineWithoutFoss,
+          ...modelDropdown.onlineNonFoss,
           ...modelDropdown.onlineFoss,
         ]; // Show all models if nothing matches
         break;
@@ -257,9 +259,9 @@ const Models: React.FC = () => {
         break;
       default:
         models = [
-          ...modelDropdown.offlineWithoutFoss,
+          ...modelDropdown.offlineNonFoss,
           ...modelDropdown.offlineFoss,
-          ...modelDropdown.onlineWithoutFoss,
+          ...modelDropdown.onlineNonFoss,
           ...modelDropdown.onlineFoss,
         ]; // Show all models if nothing matches
         break;
@@ -268,14 +270,14 @@ const Models: React.FC = () => {
   })();
 
   const isOfflineModel = (model: string) =>
-    modelDropdown.offlineWithoutFoss.includes(model) || modelDropdown.offlineFoss.includes(model);
+    modelDropdown.offlineNonFoss.includes(model) || modelDropdown.offlineFoss.includes(model);
 
   const modelClicked = (model: string) => {
-    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]])
+    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]])
   }
 
   return (
@@ -288,7 +290,7 @@ const Models: React.FC = () => {
         {/* Model Selection Dropdown */}
         <div className="model-dropdown">
           <label htmlFor="model-select">Select AI Model:</label>
-          <select id="model-select" value={selectedModel} onChange={handleModelChange}>
+          <select id="model-select" value={selectedModelDropdown} onChange={handleModelChange}>
             {filteredModels.map((model) => (
               <option key={model} value={model}>
                 {model}
@@ -299,16 +301,16 @@ const Models: React.FC = () => {
 
         {/* Model Grid with Cards */}
         <div className="grid">
-          {Category.map(
+          {selectedAIFunction.map(
             (displayedCategory) => (
               <button
                 key={displayedCategory}
-                className={`${displayedCategory.toLowerCase()}-model model-box ${currentCategory === displayedCategory ? 'selected' : ''}`} 
+                className={`${displayedCategory.toLowerCase()}-model model-box ${currentSelectedAIFunction === displayedCategory ? 'selected' : ''}`} 
                 onClick={() => modelClicked(displayedCategory)}
               >
                 <div className="overlay">
                   <h3>{displayedCategory}</h3>
-                  {isOfflineModel(selectedModel) && <img src="/img/nowifi.svg" alt="No Wi-Fi" />}
+                  {isOfflineModel(selectedModelDropdown) && <img src="/img/nowifi.svg" alt="No Wi-Fi" />}
                 </div>
               </button>
             )
@@ -319,4 +321,4 @@ const Models: React.FC = () => {
   );
 };
 
-export default Models;
+export default ModelSection;
diff --git a/app/components/settings/Settings.tsx b/app/components/settings/Settings.tsx
index 71cacda..af71c6f 100644
--- a/app/components/settings/Settings.tsx
+++ b/app/components/settings/Settings.tsx
@@ -174,8 +174,8 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = (
   };
 
   const colorSettings = [
-    { name: "Background Color", value: headerBackground, setValue: setBackgroundColor, cssVariable: "--background-color" },
-    { name: "Header Background Color", value: backgroundColor, setValue: setHeaderBackground, cssVariable: "--background-color" },
+    { name: "Background Color", value: backgroundColor, setValue: setBackgroundColor, cssVariable: "--background-color" },
+    { name: "Header Background Color", value: headerBackground, setValue: setHeaderBackground, cssVariable: "--header-background-color" },
     { name: "Text Color", value: textColor, setValue: setTextColor, cssVariable: "--text-color" },
     { name: "Input Background Color", value: inputBackgroundColor, setValue: setInputBackgroundColor, cssVariable: "--input-background-color" },
     { name: "Input Button Color", value: inputButtonColor, setValue: setInputButtonColor, cssVariable: "--input-button-color" },
@@ -657,4 +657,4 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = (
   );
 };
 
-export default Settings;
+export default Settings;
\ No newline at end of file
diff --git a/app/components/settings/theme.ts b/app/components/settings/theme.ts
index dcd8981..e88ca18 100644
--- a/app/components/settings/theme.ts
+++ b/app/components/settings/theme.ts
@@ -1,172 +1,194 @@
 export const applyIOMarketTheme = () => {
-    document.documentElement.style.setProperty('--header-background-color', '#7e7e7e'); 
-    document.documentElement.style.setProperty('--header-text-color', '#ffffff');
-    document.documentElement.style.setProperty('--background-color', '#8B9635');
-    document.documentElement.style.setProperty('--text-color', '#474D22');
-    document.documentElement.style.setProperty('--input-background-color', '#ffffff');
-    document.documentElement.style.setProperty('--input-button-color', '#8B9635');
-    document.documentElement.style.setProperty('--input-button-hover-color', '#6b7c2b');
-    document.documentElement.style.setProperty('--user-message-background-color', '#8B9635');
-    document.documentElement.style.setProperty('--user-message-text-color', '#000');
-    document.documentElement.style.setProperty('--ai-message-background-color', '#FCFCEB');
-    document.documentElement.style.setProperty('--ai-message-text-color', '#000');
-    document.documentElement.style.setProperty('--button-background-color', '#8B9635');
-    document.documentElement.style.setProperty('--button-hover-background-color', '#6b7c2b');
-    document.documentElement.style.setProperty('--models-background-color', '#ffffff');
-    document.documentElement.style.setProperty('--history-background-color', '#f9f9f9');
-    document.documentElement.style.setProperty('--left-panel-background-color', '#79832e');
-    document.documentElement.style.setProperty('--conversation-background-color', '#79832e');
-    document.documentElement.style.setProperty('--doc-background-color', '#ffffff');
-    document.documentElement.style.setProperty('--faq-background-color', '#474D22');
-    document.documentElement.style.setProperty('--faq-heading-color', '#8B9635');
-    document.documentElement.style.setProperty('--faq-item-background-color', '#fefefe');
-    document.documentElement.style.setProperty('--faq-item-heading-color', '#474D22');
-    document.documentElement.style.setProperty('--faq-item-text-color', '#333');
-    document.documentElement.style.setProperty('--faq-item-hover-background-color', '#e0e0e0');
-    document.documentElement.style.setProperty('--pop-up-text', '#000');
-    document.documentElement.style.setProperty('--input-border-color', '#8B9635');
-    document.documentElement.style.setProperty('--font-family', "'Poppins', 'sans-serif'");
-    document.documentElement.style.setProperty('--font-size', '16px');
-    document.documentElement.style.setProperty('--burger-menu-background-color', '#79832e');
+  document.documentElement.style.setProperty('--header-background-color', '#7e7e7e');
+  document.documentElement.style.setProperty('--header-text-color', '#ffffff');
+  document.documentElement.style.setProperty('--background-color', '#8B9635');
+  document.documentElement.style.setProperty('--text-color', '#474D22');
+  document.documentElement.style.setProperty('--input-background-color', '#ffffff');
+  document.documentElement.style.setProperty('--input-button-color', '#8B9635');
+  document.documentElement.style.setProperty('--input-button-hover-color', '#6b7c2b');
+  document.documentElement.style.setProperty('--user-message-background-color', '#8B9635');
+  document.documentElement.style.setProperty('--user-message-text-color', '#000');
+  document.documentElement.style.setProperty('--ai-message-background-color', '#FCFCEB');
+  document.documentElement.style.setProperty('--ai-message-text-color', '#000');
+  document.documentElement.style.setProperty('--button-background-color', '#8B9635');
+  document.documentElement.style.setProperty('--button-hover-background-color', '#6b7c2b');
+  document.documentElement.style.setProperty('--models-background-color', '#ffffff');
+  document.documentElement.style.setProperty('--history-background-color', '#f9f9f9');
+  document.documentElement.style.setProperty('--left-panel-background-color', '#79832e');
+  document.documentElement.style.setProperty('--conversation-background-color', '#79832e');
+  document.documentElement.style.setProperty('--doc-background-color', '#ffffff');
+  document.documentElement.style.setProperty('--close-button-color', 'red');
+  document.documentElement.style.setProperty('--close-button-hover-color', '#9e0101');
+  document.documentElement.style.setProperty('--apply-button-color', '#8B9635');
+  document.documentElement.style.setProperty('--apply-button-hover-color', '#6b7c2b');
+  document.documentElement.style.setProperty('--burger-menu-background-color', '#79832e');
+  document.documentElement.style.setProperty('--overlay-text-color', 'white');
+  document.documentElement.style.setProperty('--faq-background-color', '#474D22');
+  document.documentElement.style.setProperty('--faq-heading-color', '#8B9635');
+  document.documentElement.style.setProperty('--faq-item-background-color', '#fefefe');
+  document.documentElement.style.setProperty('--faq-item-heading-color', '#474D22');
+  document.documentElement.style.setProperty('--faq-item-text-color', '#333');
+  document.documentElement.style.setProperty('--faq-item-hover-background-color', '#e0e0e0');
+  document.documentElement.style.setProperty('--popup-background-color', '#8B9635');
+  document.documentElement.style.setProperty('--pop-up-text', '#000');
+  document.documentElement.style.setProperty('--input-border-color', '#8B9635');
+  document.documentElement.style.setProperty('--font-family', "'Poppins', 'sans-serif'");
+  document.documentElement.style.setProperty('--font-size', '16px'); 
 };
 
 export const applyWhiteTheme = () => {
-    document.documentElement.style.setProperty('--header-background-color', '#ffffff');
-    document.documentElement.style.setProperty('--header-text-color', '#000000');
-    document.documentElement.style.setProperty('--background-color', '#f0f0f0');
-    document.documentElement.style.setProperty('--text-color', '#000000');
-    document.documentElement.style.setProperty('--input-background-color', '#ffffff');
-    document.documentElement.style.setProperty('--input-button-color', '#007bff');
-    document.documentElement.style.setProperty('--input-button-hover-color', '#0056b3');
-    document.documentElement.style.setProperty('--user-message-background-color', '#ffffff');
-    document.documentElement.style.setProperty('--user-message-text-color', '#000000');
-    document.documentElement.style.setProperty('--ai-message-background-color', '#f9f9f9');
-    document.documentElement.style.setProperty('--ai-message-text-color', '#000000');
-    document.documentElement.style.setProperty('--button-background-color', '#007bff');
-    document.documentElement.style.setProperty('--button-hover-background-color', '#0056b3');
-    document.documentElement.style.setProperty('--models-background-color', '#ffffff');
-    document.documentElement.style.setProperty('--history-background-color', '#f9f9f9');
-    document.documentElement.style.setProperty('--left-panel-background-color', '#ffffff');
-    document.documentElement.style.setProperty('--conversation-background-color', '#ffffff');
-    document.documentElement.style.setProperty('--doc-background-color', '#ffffff');
-    document.documentElement.style.setProperty('--faq-background-color', '#ffffff');
-    document.documentElement.style.setProperty('--faq-heading-color', '#007bff');
-    document.documentElement.style.setProperty('--faq-item-background-color', '#f9f9f9');
-    document.documentElement.style.setProperty('--faq-item-heading-color', '#000000');
-    document.documentElement.style.setProperty('--faq-item-text-color', '#333333');
-    document.documentElement.style.setProperty('--faq-item-hover-background-color', '#e0e0e0');
-    document.documentElement.style.setProperty('--pop-up-text', '#000000');
-    document.documentElement.style.setProperty('--input-border-color', '#ced4da');
-    document.documentElement.style.setProperty('--font-family', "'Poppins', 'sans-serif'");
-    document.documentElement.style.setProperty('--font-size', '16px');
-    document.documentElement.style.setProperty('--burger-menu-background-color', '#79832e');
+  document.documentElement.style.setProperty('--header-background-color', '#f0f0f0'); // Lighter header background
+  document.documentElement.style.setProperty('--header-text-color', '#333'); // Dark text for contrast
+  document.documentElement.style.setProperty('--background-color', '#ffffff'); // White background
+  document.documentElement.style.setProperty('--text-color', '#000'); // Dark text color
+  document.documentElement.style.setProperty('--input-background-color', '#f9f9f9'); // Light input background
+  document.documentElement.style.setProperty('--input-button-color', '#cccccc'); // Light button color
+  document.documentElement.style.setProperty('--input-button-hover-color', '#b3b3b3'); // Slightly darker on hover
+  document.documentElement.style.setProperty('--user-message-background-color', '#e0e0e0'); // Light grey for user messages
+  document.documentElement.style.setProperty('--user-message-text-color', '#000'); // Dark text for contrast
+  document.documentElement.style.setProperty('--ai-message-background-color', '#f7f7f7'); // Very light background for AI messages
+  document.documentElement.style.setProperty('--ai-message-text-color', '#000'); // Dark text for readability
+  document.documentElement.style.setProperty('--button-background-color', '#cccccc'); // Light button background
+  document.documentElement.style.setProperty('--button-hover-background-color', '#b3b3b3'); // Darker on hover
+  document.documentElement.style.setProperty('--models-background-color', '#ffffff'); // White background for models section
+  document.documentElement.style.setProperty('--history-background-color', '#f9f9f9'); // Light background for history section
+  document.documentElement.style.setProperty('--left-panel-background-color', '#e0e0e0'); // Light grey for the left panel
+  document.documentElement.style.setProperty('--conversation-background-color', '#e0e0e0'); // Light grey conversation background
+  document.documentElement.style.setProperty('--doc-background-color', '#ffffff'); // White document background
+  document.documentElement.style.setProperty('--close-button-color', '#ff4d4d'); // Soft red close button
+  document.documentElement.style.setProperty('--close-button-hover-color', '#ff1a1a'); // Brighter red on hover
+  document.documentElement.style.setProperty('--apply-button-color', '#cccccc'); // Light button color for apply
+  document.documentElement.style.setProperty('--apply-button-hover-color', '#b3b3b3'); // Darker hover color for apply button
+  document.documentElement.style.setProperty('--burger-menu-background-color', '#e0e0e0'); // Light grey burger menu background
+  document.documentElement.style.setProperty('--overlay-text-color', '#333'); // Dark overlay text
+  document.documentElement.style.setProperty('--faq-background-color', '#f0f0f0'); // Light FAQ section background
+  document.documentElement.style.setProperty('--faq-heading-color', '#333'); // Dark heading for contrast
+  document.documentElement.style.setProperty('--faq-item-background-color', '#ffffff'); // White background for FAQ items
+  document.documentElement.style.setProperty('--faq-item-heading-color', '#000'); // Dark headings for FAQ items
+  document.documentElement.style.setProperty('--faq-item-text-color', '#666'); // Medium grey text color for readability
+  document.documentElement.style.setProperty('--faq-item-hover-background-color', '#eaeaea'); // Slight hover effect for FAQ items
+  document.documentElement.style.setProperty('--popup-background-color', '#ffffff'); // White popup background
+  document.documentElement.style.setProperty('--pop-up-text', '#000'); // Dark text for pop-ups
+  document.documentElement.style.setProperty('--input-border-color', '#cccccc'); // Light input border color
+  document.documentElement.style.setProperty('--font-family', "'Poppins', 'sans-serif'"); // Same font family
+  document.documentElement.style.setProperty('--font-size', '16px'); // Same font size
 };
 
 export const applyBlackTheme = () => {
-    document.documentElement.style.setProperty('--header-background-color', '#1a1a1a');
-    document.documentElement.style.setProperty('--header-text-color', '#ffffff');
-    document.documentElement.style.setProperty('--background-color', '#121212');
-    document.documentElement.style.setProperty('--text-color', '#e0e0e0');
-    document.documentElement.style.setProperty('--input-background-color', '#1e1e1e');
-    document.documentElement.style.setProperty('--input-button-color', '#3c3c3c');
-    document.documentElement.style.setProperty('--input-button-hover-color', '#5a5a5a');
-    document.documentElement.style.setProperty('--user-message-background-color', '#000000');
-    document.documentElement.style.setProperty('--user-message-text-color', '#ffffff');
-    document.documentElement.style.setProperty('--ai-message-background-color', '#202020');
-    document.documentElement.style.setProperty('--ai-message-text-color', '#ffffff');
-    document.documentElement.style.setProperty('--button-background-color', '#3c3c3c');
-    document.documentElement.style.setProperty('--button-hover-background-color', '#5a5a5a');
-    document.documentElement.style.setProperty('--models-background-color', '#1e1e1e');
-    document.documentElement.style.setProperty('--history-background-color', '#1a1a1a');
-    document.documentElement.style.setProperty('--left-panel-background-color', '#1e1e1e');
-    document.documentElement.style.setProperty('--conversation-background-color', '#2c2c2c');
-    document.documentElement.style.setProperty('--doc-background-color', '#1e1e1e');
-    document.documentElement.style.setProperty('--faq-background-color', '#2c2c2c');
-    document.documentElement.style.setProperty('--faq-heading-color', '#ffffff');
-    document.documentElement.style.setProperty('--faq-item-background-color', '#3c3c3c');
-    document.documentElement.style.setProperty('--faq-item-heading-color', '#ffffff');
-    document.documentElement.style.setProperty('--faq-item-text-color', '#e0e0e0');
-    document.documentElement.style.setProperty('--faq-item-hover-background-color', '#5a5a5a');
-    document.documentElement.style.setProperty('--pop-up-text', '#ffffff');
-    document.documentElement.style.setProperty('--input-border-color', '#3c3c3c');
-    document.documentElement.style.setProperty('--font-family', "'Poppins', 'sans-serif'");
-    document.documentElement.style.setProperty('--font-size', '16px');
-    document.documentElement.style.setProperty('--burger-menu-background-color', '#79832e');
+  document.documentElement.style.setProperty('--header-background-color', '#1a1a1a'); // Dark header background
+  document.documentElement.style.setProperty('--header-text-color', '#ffffff'); // White text for header
+  document.documentElement.style.setProperty('--background-color', '#2c2c2c'); // Dark main background
+  document.documentElement.style.setProperty('--text-color', '#f0f0f0'); // Light text color
+  document.documentElement.style.setProperty('--input-background-color', '#3d3d3d'); // Dark input background
+  document.documentElement.style.setProperty('--input-button-color', '#4caf50'); // Button color
+  document.documentElement.style.setProperty('--input-button-hover-color', '#66bb6a'); // Button hover color
+  document.documentElement.style.setProperty('--user-message-background-color', '#4caf50'); // User message background
+  document.documentElement.style.setProperty('--user-message-text-color', '#ffffff'); // User message text color
+  document.documentElement.style.setProperty('--ai-message-background-color', '#424242'); // AI message background
+  document.documentElement.style.setProperty('--ai-message-text-color', '#ffffff'); // AI message text color
+  document.documentElement.style.setProperty('--button-background-color', '#4caf50'); // Button background color
+  document.documentElement.style.setProperty('--button-hover-background-color', '#66bb6a'); // Button hover color
+  document.documentElement.style.setProperty('--models-background-color', '#3d3d3d'); // Dark background for models section
+  document.documentElement.style.setProperty('--history-background-color', '#333333'); // Dark history background
+  document.documentElement.style.setProperty('--left-panel-background-color', '#1a1a1a'); // Dark left panel background
+  document.documentElement.style.setProperty('--conversation-background-color', '#1a1a1a'); // Dark conversation container
+  document.documentElement.style.setProperty('--doc-background-color', '#3d3d3d'); // Dark document background
+  document.documentElement.style.setProperty('--close-button-color', '#f44336'); // Red close button color
+  document.documentElement.style.setProperty('--close-button-hover-color', '#d32f2f'); // Darker red hover color
+  document.documentElement.style.setProperty('--apply-button-color', '#4caf50'); // Apply button color
+  document.documentElement.style.setProperty('--apply-button-hover-color', '#66bb6a'); // Apply button hover color
+  document.documentElement.style.setProperty('--burger-menu-background-color', '#1a1a1a'); // Dark burger menu background
+  document.documentElement.style.setProperty('--overlay-text-color', '#ffffff'); // White overlay text
+  document.documentElement.style.setProperty('--faq-background-color', '#333333'); // Dark background for FAQ section
+  document.documentElement.style.setProperty('--faq-heading-color', '#4caf50'); // FAQ heading color
+  document.documentElement.style.setProperty('--faq-item-background-color', '#4c4c4c'); // Dark FAQ item background
+  document.documentElement.style.setProperty('--faq-item-heading-color', '#ffffff'); // White FAQ item heading
+  document.documentElement.style.setProperty('--faq-item-text-color', '#e0e0e0'); // Light text for FAQ items
+  document.documentElement.style.setProperty('--faq-item-hover-background-color', '#555555'); // Hover background for FAQ items
+  document.documentElement.style.setProperty('--popup-background-color', '#4caf50'); // Dark popup background
+  document.documentElement.style.setProperty('--pop-up-text', '#ffffff'); // White pop-up text
+  document.documentElement.style.setProperty('--input-border-color', '#4caf50'); // Input border color
+  document.documentElement.style.setProperty('--font-family', "'Poppins', 'sans-serif'"); // Font family
+  document.documentElement.style.setProperty('--font-size', '16px'); // Font size
+  
 };
 
 export const applyCustomTheme = () => {
-    const themeVariables = {
-        backgroundColor: localStorage.getItem('backgroundColor'),
-        textColor: localStorage.getItem('textColor'),
-        inputBackgroundColor: localStorage.getItem('inputBackgroundColor'),
-        inputButtonColor: localStorage.getItem('inputButtonColor'),
-        inputButtonHoverColor: localStorage.getItem('inputButtonHoverColor'),
-        userMessageBackgroundColor: localStorage.getItem('userMessageBackgroundColor'),
-        userMessageTextColor: localStorage.getItem('userMessageTextColor'),
-        aiMessageBackgroundColor: localStorage.getItem('aiMessageBackgroundColor'),
-        aiMessageTextColor: localStorage.getItem('aiMessageTextColor'),
-        buttonBackgroundColor: localStorage.getItem('buttonBackgroundColor'),
-        buttonHoverBackgroundColor: localStorage.getItem('buttonHoverBackgroundColor'),
-        modelsBackgroundColor: localStorage.getItem('modelsBackgroundColor'),
-        historyBackgroundColor: localStorage.getItem('historyBackgroundColor'),
-        leftPanelBackgroundColor: localStorage.getItem('leftPanelBackgroundColor'),
-        conversationBackgroundColor: localStorage.getItem('conversationBackgroundColor'),
-        faqBackgroundColor: localStorage.getItem('faqBackgroundColor'),
-        faqHeadingColor: localStorage.getItem('faqHeadingColor'),
-        faqItemBackgroundColor: localStorage.getItem('faqItemBackgroundColor'),
-        faqItemHeadingColor: localStorage.getItem('faqItemHeadingColor'),
-        faqItemTextColor: localStorage.getItem('faqItemTextColor'),
-        faqItemHoverBackgroundColor: localStorage.getItem('faqItemHoverBackgroundColor'),
-        inputBorderColor: localStorage.getItem('inputBorderColor'),
-        fontFamily: localStorage.getItem('fontFamily'),
-        fontSize: localStorage.getItem('fontSize'),
-        burgerMenu: localStorage.getItem('burgerMenu'),
-    };
+  const themeVariables = {
+      backgroundColor: localStorage.getItem('backgroundColor'),
+      headerBackground: localStorage.getItem('headerBackground'),
+      textColor: localStorage.getItem('textColor'),
+      inputBackgroundColor: localStorage.getItem('inputBackgroundColor'),
+      inputButtonColor: localStorage.getItem('inputButtonColor'),
+      inputButtonHoverColor: localStorage.getItem('inputButtonHoverColor'),
+      userMessageBackgroundColor: localStorage.getItem('userMessageBackgroundColor'),
+      userMessageTextColor: localStorage.getItem('userMessageTextColor'),
+      aiMessageBackgroundColor: localStorage.getItem('aiMessageBackgroundColor'),
+      aiMessageTextColor: localStorage.getItem('aiMessageTextColor'),
+      buttonBackgroundColor: localStorage.getItem('buttonBackgroundColor'),
+      buttonHoverBackgroundColor: localStorage.getItem('buttonHoverBackgroundColor'),
+      modelsBackgroundColor: localStorage.getItem('modelsBackgroundColor'),
+      historyBackgroundColor: localStorage.getItem('historyBackgroundColor'),
+      leftPanelBackgroundColor: localStorage.getItem('leftPanelBackgroundColor'),
+      conversationBackgroundColor: localStorage.getItem('conversationBackgroundColor'),
+      faqBackgroundColor: localStorage.getItem('faqBackgroundColor'),
+      faqHeadingColor: localStorage.getItem('faqHeadingColor'),
+      faqItemBackgroundColor: localStorage.getItem('faqItemBackgroundColor'),
+      faqItemHeadingColor: localStorage.getItem('faqItemHeadingColor'),
+      faqItemTextColor: localStorage.getItem('faqItemTextColor'),
+      faqItemHoverBackgroundColor: localStorage.getItem('faqItemHoverBackgroundColor'),
+      inputBorderColor: localStorage.getItem('inputBorderColor'),
+      fontFamily: localStorage.getItem('fontFamily'),
+      fontSize: localStorage.getItem('fontSize'),
+      burgerMenu: localStorage.getItem('burgerMenu'),
+  };
 
-    document.documentElement.style.setProperty('--background-color', themeVariables.backgroundColor || '#121212');
-    document.documentElement.style.setProperty('--text-color', themeVariables.textColor || '#e0e0e0');
-    document.documentElement.style.setProperty('--input-background-color', themeVariables.inputBackgroundColor || '#1e1e1e');
-    document.documentElement.style.setProperty('--input-button-color', themeVariables.inputButtonColor || '#3c3c3c');
-    document.documentElement.style.setProperty('--input-button-hover-color', themeVariables.inputButtonHoverColor || '#5a5a5a');
-    document.documentElement.style.setProperty('--user-message-background-color', themeVariables.userMessageBackgroundColor || '#000000');
-    document.documentElement.style.setProperty('--user-message-text-color', themeVariables.userMessageTextColor || '#ffffff');
-    document.documentElement.style.setProperty('--ai-message-background-color', themeVariables.aiMessageBackgroundColor || '#202020');
-    document.documentElement.style.setProperty('--ai-message-text-color', themeVariables.aiMessageTextColor || '#ffffff');
-    document.documentElement.style.setProperty('--button-background-color', themeVariables.buttonBackgroundColor || '#3c3c3c');
-    document.documentElement.style.setProperty('--button-hover-background-color', themeVariables.buttonHoverBackgroundColor || '#5a5a5a');
-    document.documentElement.style.setProperty('--models-background-color', themeVariables.modelsBackgroundColor || '#1e1e1e');
-    document.documentElement.style.setProperty('--history-background-color', themeVariables.historyBackgroundColor || '#1a1a1a');
-    document.documentElement.style.setProperty('--left-panel-background-color', themeVariables.leftPanelBackgroundColor || '#1e1e1e');
-    document.documentElement.style.setProperty('--conversation-background-color', themeVariables.conversationBackgroundColor || '#2c2c2c');
-    document.documentElement.style.setProperty('--faq-background-color', themeVariables.faqBackgroundColor || '#2c2c2c');
-    document.documentElement.style.setProperty('--faq-heading-color', themeVariables.faqHeadingColor || '#ffffff');
-    document.documentElement.style.setProperty('--faq-item-background-color', themeVariables.faqItemBackgroundColor || '#3c3c3c');
-    document.documentElement.style.setProperty('--faq-item-heading-color', themeVariables.faqItemHeadingColor || '#ffffff');
-    document.documentElement.style.setProperty('--faq-item-text-color', themeVariables.faqItemTextColor || '#e0e0e0');
-    document.documentElement.style.setProperty('--faq-item-hover-background-color', themeVariables.faqItemHoverBackgroundColor || '#5a5a5a');
-    document.documentElement.style.setProperty('--input-border-color', themeVariables.inputBorderColor || '#3c3c3c');
-    document.documentElement.style.setProperty('--font-family', themeVariables.fontFamily || "'Poppins', 'sans-serif'");
-    document.documentElement.style.setProperty('--font-size', themeVariables.fontSize || '16px');
-    document.documentElement.style.setProperty('--burger-menu-background-color', themeVariables.burgerMenu || '#79832e');
+  document.documentElement.style.setProperty('--background-color', themeVariables.backgroundColor || '#121212');
+  document.documentElement.style.setProperty('--header-background-color', themeVariables.headerBackground || '#7e7e7e');
+  document.documentElement.style.setProperty('--text-color', themeVariables.textColor || '#e0e0e0');
+  document.documentElement.style.setProperty('--input-background-color', themeVariables.inputBackgroundColor || '#1e1e1e');
+  document.documentElement.style.setProperty('--input-button-color', themeVariables.inputButtonColor || '#3c3c3c');
+  document.documentElement.style.setProperty('--input-button-hover-color', themeVariables.inputButtonHoverColor || '#5a5a5a');
+  document.documentElement.style.setProperty('--user-message-background-color', themeVariables.userMessageBackgroundColor || '#000000');
+  document.documentElement.style.setProperty('--user-message-text-color', themeVariables.userMessageTextColor || '#ffffff');
+  document.documentElement.style.setProperty('--ai-message-background-color', themeVariables.aiMessageBackgroundColor || '#202020');
+  document.documentElement.style.setProperty('--ai-message-text-color', themeVariables.aiMessageTextColor || '#ffffff');
+  document.documentElement.style.setProperty('--button-background-color', themeVariables.buttonBackgroundColor || '#3c3c3c');
+  document.documentElement.style.setProperty('--button-hover-background-color', themeVariables.buttonHoverBackgroundColor || '#5a5a5a');
+  document.documentElement.style.setProperty('--models-background-color', themeVariables.modelsBackgroundColor || '#1e1e1e');
+  document.documentElement.style.setProperty('--history-background-color', themeVariables.historyBackgroundColor || '#1a1a1a');
+  document.documentElement.style.setProperty('--left-panel-background-color', themeVariables.leftPanelBackgroundColor || '#1e1e1e');
+  document.documentElement.style.setProperty('--conversation-background-color', themeVariables.conversationBackgroundColor || '#2c2c2c');
+  document.documentElement.style.setProperty('--faq-background-color', themeVariables.faqBackgroundColor || '#2c2c2c');
+  document.documentElement.style.setProperty('--faq-heading-color', themeVariables.faqHeadingColor || '#ffffff');
+  document.documentElement.style.setProperty('--faq-item-background-color', themeVariables.faqItemBackgroundColor || '#3c3c3c');
+  document.documentElement.style.setProperty('--faq-item-heading-color', themeVariables.faqItemHeadingColor || '#ffffff');
+  document.documentElement.style.setProperty('--faq-item-text-color', themeVariables.faqItemTextColor || '#e0e0e0');
+  document.documentElement.style.setProperty('--faq-item-hover-background-color', themeVariables.faqItemHoverBackgroundColor || '#5a5a5a');
+  document.documentElement.style.setProperty('--input-border-color', themeVariables.inputBorderColor || '#3c3c3c');
+  document.documentElement.style.setProperty('--font-family', themeVariables.fontFamily || "'Poppins', 'sans-serif'");
+  document.documentElement.style.setProperty('--font-size', themeVariables.fontSize || '16px');
+  document.documentElement.style.setProperty('--burger-menu-background-color', themeVariables.burgerMenu || '#79832e');
 };
 
 // This is the new function that calls the appropriate theme application
 export const applyTheme = (theme: string) => {
-    switch (theme) {
-        case 'IOMARKET':
-          applyIOMarketTheme();
-          break;
-        case 'WHITE':
-          applyWhiteTheme();
-          break;
-        case 'BLACK':
-          applyBlackTheme();
-          break;
-        case 'CUSTOM':
-          // Handle custom theme application here if necessary
-          break;
-        default:
-          applyIOMarketTheme();
-          break;
-    }
+  switch (theme) {
+      case 'IOMARKET':
+        applyIOMarketTheme();
+        break;
+      case 'WHITE':
+        applyWhiteTheme();
+        break;
+      case 'BLACK':
+        applyBlackTheme();
+        break;
+      case 'CUSTOM':
+        applyCustomTheme();
+        break;
+      default:
+        applyIOMarketTheme();
+        break;
+  }
 };
+