MAJOR REFACTOR (#494)

* 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>
This commit is contained in:
Mckay Wrigley
2023-04-10 21:10:18 -06:00
committed by GitHub
parent 68c9cd4bd8
commit 6500db9c1c
128 changed files with 3666 additions and 3053 deletions
+52
View File
@@ -0,0 +1,52 @@
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,
};