diff --git a/src/components/SettingsDialog.tsx b/src/components/SettingsDialog.tsx index 00cadc8574..fbc2d69089 100644 --- a/src/components/SettingsDialog.tsx +++ b/src/components/SettingsDialog.tsx @@ -1,5 +1,4 @@ import React, { useEffect } from "react"; -import { useTranslation } from "next-i18next"; import Button from "./Button"; import { FaKey, @@ -63,7 +62,6 @@ export const SettingsDialog: React.FC<{ const handleReset = () => { customSettings.resetSettings(); - updateSettings("customApiKey", ""); close(); }; diff --git a/src/hooks/useSettings.ts b/src/hooks/useSettings.ts index 02aa5c6af6..aab91a1043 100644 --- a/src/hooks/useSettings.ts +++ b/src/hooks/useSettings.ts @@ -16,33 +16,35 @@ const DEFAULT_SETTINGS: ModelSettings = { }; const loadSettings = () => { + const settings = { ...DEFAULT_SETTINGS }; + if (typeof window === "undefined") { - return DEFAULT_SETTINGS; + return settings; } const data = localStorage.getItem(SETTINGS_KEY); if (!data) { - return DEFAULT_SETTINGS; + return settings; } try { const obj = JSON.parse(data) as ModelSettings; Object.entries(obj).forEach(([key, value]) => { - if (DEFAULT_SETTINGS.hasOwnProperty(key)) { + if (settings.hasOwnProperty(key)) { // @ts-ignore - DEFAULT_SETTINGS[key] = value; + settings[key] = value; } }); } catch (error) {} if ( - DEFAULT_SETTINGS.customApiKey && - DEFAULT_SETTINGS.customMaxLoops === DEFAULT_MAX_LOOPS_FREE + settings.customApiKey && + settings.customMaxLoops === DEFAULT_MAX_LOOPS_FREE ) { - DEFAULT_SETTINGS.customMaxLoops = DEFAULT_MAX_LOOPS_CUSTOM_API_KEY; + settings.customMaxLoops = DEFAULT_MAX_LOOPS_CUSTOM_API_KEY; } - return DEFAULT_SETTINGS; + return settings; }; export function useSettings(): SettingModel {