From 4e83cd0b160396c5fec1cd1fff4f6a0fb94533a6 Mon Sep 17 00:00:00 2001 From: Asim Shrestha Date: Fri, 28 Apr 2023 23:39:49 -0700 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Fix=20reset?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/SettingsDialog.tsx | 2 -- src/hooks/useSettings.ts | 18 ++++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) 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 {