|
import { configureStore } from '@reduxjs/toolkit'; |
|
import { conversationSlice } from './conversation/conversationSlice'; |
|
import { |
|
prefListenerMiddleware, |
|
prefSlice, |
|
} from './preferences/preferenceSlice'; |
|
|
|
const key = localStorage.getItem('DocsGPTApiKey'); |
|
const prompt = localStorage.getItem('DocsGPTPrompt'); |
|
const doc = localStorage.getItem('DocsGPTRecentDocs'); |
|
|
|
const store = configureStore({ |
|
preloadedState: { |
|
preference: { |
|
apiKey: key ?? '', |
|
selectedDocs: doc !== null ? JSON.parse(doc) : null, |
|
prompt: |
|
prompt !== null |
|
? JSON.parse(prompt) |
|
: { name: 'default', id: 'default', type: 'private' }, |
|
conversations: null, |
|
sourceDocs: [ |
|
{ |
|
location: '', |
|
language: '', |
|
name: 'default', |
|
version: '', |
|
date: '', |
|
description: '', |
|
docLink: '', |
|
fullName: '', |
|
model: '1.0', |
|
}, |
|
], |
|
}, |
|
}, |
|
reducer: { |
|
preference: prefSlice.reducer, |
|
conversation: conversationSlice.reducer, |
|
}, |
|
middleware: (getDefaultMiddleware) => |
|
getDefaultMiddleware().concat(prefListenerMiddleware.middleware), |
|
}); |
|
|
|
export type RootState = ReturnType<typeof store.getState>; |
|
export type AppDispatch = typeof store.dispatch; |
|
export default store; |
|
|
|
|
|
|
|
|
|
|