| | 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; |
| |
|
| | |
| |
|
| | |
| |
|