diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 9771f5e8..c6510e0b 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1662,7 +1662,7 @@ "version": "18.3.0", "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", - "devOptional": true, + "dev": true, "dependencies": { "@types/react": "*" } diff --git a/frontend/src/preferences/preferenceSlice.ts b/frontend/src/preferences/preferenceSlice.ts index 90fc354d..6fb2480b 100644 --- a/frontend/src/preferences/preferenceSlice.ts +++ b/frontend/src/preferences/preferenceSlice.ts @@ -8,7 +8,7 @@ import { setLocalApiKey, setLocalRecentDocs } from './preferenceApi'; import { RootState } from '../store'; import { ActiveState, Doc } from '../models/misc'; -interface Preference { +export interface Preference { apiKey: string; prompt: { name: string; id: string; type: string }; chunks: string; diff --git a/frontend/src/store.ts b/frontend/src/store.ts index a085dad3..565ea8cc 100644 --- a/frontend/src/store.ts +++ b/frontend/src/store.ts @@ -2,6 +2,7 @@ import { configureStore } from '@reduxjs/toolkit'; import { conversationSlice } from './conversation/conversationSlice'; import { sharedConversationSlice } from './conversation/sharedConversationSlice'; import { + Preference, prefListenerMiddleware, prefSlice, } from './preferences/preferenceSlice'; @@ -12,31 +13,32 @@ const chunks = localStorage.getItem('DocsGPTChunks'); const token_limit = localStorage.getItem('DocsGPTTokenLimit'); const doc = localStorage.getItem('DocsGPTRecentDocs'); -const store = configureStore({ - preloadedState: { - preference: { - apiKey: key ?? '', - prompt: - prompt !== null - ? JSON.parse(prompt) - : { name: 'default', id: 'default', type: 'private' }, - chunks: JSON.parse(chunks ?? '2').toString(), - token_limit: token_limit ? parseInt(token_limit) : 2000, - selectedDocs: doc !== null ? JSON.parse(doc) : null, - conversations: null, - sourceDocs: [ - { - name: 'default', - date: '', - model: '1.0', - type: 'remote', - id: 'default', - retriever: 'clasic', - }, - ], - modalState: 'INACTIVE', - }, +const preloadedState: { preference: Preference } = { + preference: { + apiKey: key ?? '', + prompt: + prompt !== null + ? JSON.parse(prompt) + : { name: 'default', id: 'default', type: 'private' }, + chunks: JSON.parse(chunks ?? '2').toString(), + token_limit: token_limit ? parseInt(token_limit) : 2000, + selectedDocs: doc !== null ? JSON.parse(doc) : null, + conversations: null, + sourceDocs: [ + { + name: 'default', + date: '', + model: '1.0', + type: 'remote', + id: 'default', + retriever: 'clasic', + }, + ], + modalState: 'INACTIVE', }, +}; +const store = configureStore({ + preloadedState: preloadedState, reducer: { preference: prefSlice.reducer, conversation: conversationSlice.reducer,