6500db9c1c
* move index to home folder, create state and context files and barrell folder * Sanity Check Commit: reducer added to home.tsx manual QA all working * WIP: promptBar * fix missing json parse on folders and prompts * split context and add promptbar context * add context to nested prompt componets and componetize Folder componet * remove log * Create buttons folder and componetize sidebar action button * tidy up prompt handlers * componetized sidebar * added back chatbar componet to left side sidebar * monster commit: Componetized the common code between chatbar and promptbar into new componet Sidebar and added context to both bars * add useFetch service * added prettier import sort to keep imports ordered and easier to indentify * added react query and useFetch to work with RQ * added apiService, errorService and reactQuery * add callback and tidy up error service * refactor chat and child componets to useContext * fix extra calls and bad calls to mel endpoint * minor import cleanup --------- Co-authored-by: jc.durbin <jc.durbin@ardanis.com>
53 lines
1.4 KiB
TypeScript
53 lines
1.4 KiB
TypeScript
import { Conversation, Message } from '@/types/chat';
|
|
import { ErrorMessage } from '@/types/error';
|
|
import { FolderInterface } from '@/types/folder';
|
|
import { OpenAIModel, OpenAIModelID } from '@/types/openai';
|
|
import { PluginKey } from '@/types/plugin';
|
|
import { Prompt } from '@/types/prompt';
|
|
|
|
export interface HomeInitialState {
|
|
apiKey: string;
|
|
pluginKeys: PluginKey[];
|
|
loading: boolean;
|
|
lightMode: 'light' | 'dark';
|
|
messageIsStreaming: boolean;
|
|
modelError: ErrorMessage | null;
|
|
models: OpenAIModel[];
|
|
folders: FolderInterface[];
|
|
conversations: Conversation[];
|
|
selectedConversation: Conversation | undefined;
|
|
currentMessage: Message | undefined;
|
|
prompts: Prompt[];
|
|
showChatbar: boolean;
|
|
showPromptbar: boolean;
|
|
currentFolder: FolderInterface | undefined;
|
|
messageError: boolean;
|
|
searchTerm: string;
|
|
defaultModelId: OpenAIModelID | undefined;
|
|
serverSideApiKeyIsSet: boolean;
|
|
serverSidePluginKeysSet: boolean;
|
|
}
|
|
|
|
export const initialState: HomeInitialState = {
|
|
apiKey: '',
|
|
loading: false,
|
|
pluginKeys: [],
|
|
lightMode: 'dark',
|
|
messageIsStreaming: false,
|
|
modelError: null,
|
|
models: [],
|
|
folders: [],
|
|
conversations: [],
|
|
selectedConversation: undefined,
|
|
currentMessage: undefined,
|
|
prompts: [],
|
|
showPromptbar: true,
|
|
showChatbar: true,
|
|
currentFolder: undefined,
|
|
messageError: false,
|
|
searchTerm: '',
|
|
defaultModelId: undefined,
|
|
serverSideApiKeyIsSet: false,
|
|
serverSidePluginKeysSet: false,
|
|
};
|