Download src/store.ts from VTechAI/ChatUI: direct link, hf CLI and curl.
- Browser
- Download file 1.48 kB
-
https://huggingface.co/spaces/VTechAI/ChatUI/resolve/main/src/store.ts
- Command line
-
hf download hf://spaces/VTechAI/ChatUI/src/store.ts
-
curl -L -o store.ts https://huggingface.co/spaces/VTechAI/ChatUI/resolve/main/src/store.ts
1.48 kB
| 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; | |
| // TODO : use https://redux-toolkit.js.org/tutorials/typescript#define-typed-hooks everywere instead of direct useDispatch | |
| // TODO : streamline async state management | |