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:
@@ -1,5 +1,6 @@
|
||||
import { Conversation } from '@/types/chat';
|
||||
import { OpenAIModelID, OpenAIModels } from '@/types/openai';
|
||||
|
||||
import { DEFAULT_SYSTEM_PROMPT } from './const';
|
||||
|
||||
export const cleanSelectedConversation = (conversation: Conversation) => {
|
||||
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
export const DEFAULT_SYSTEM_PROMPT =
|
||||
process.env.DEFAULT_SYSTEM_PROMPT || "You are ChatGPT, a large language model trained by OpenAI. Follow the user's instructions carefully. Respond using markdown.";
|
||||
process.env.DEFAULT_SYSTEM_PROMPT ||
|
||||
"You are ChatGPT, a large language model trained by OpenAI. Follow the user's instructions carefully. Respond using markdown.";
|
||||
|
||||
export const OPENAI_API_HOST =
|
||||
process.env.OPENAI_API_HOST || 'https://api.openai.com';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Folder } from '@/types/folder';
|
||||
import { FolderInterface } from '@/types/folder';
|
||||
|
||||
export const saveFolders = (folders: Folder[]) => {
|
||||
export const saveFolders = (folders: FolderInterface[]) => {
|
||||
localStorage.setItem('folders', JSON.stringify(folders));
|
||||
};
|
||||
|
||||
@@ -6,6 +6,7 @@ import {
|
||||
LatestExportFormat,
|
||||
SupportedExportFormats,
|
||||
} from '@/types/export';
|
||||
|
||||
import { cleanConversationHistory } from './clean';
|
||||
|
||||
export function isExportFormatV1(obj: any): obj is ExportFormatV1 {
|
||||
@@ -49,15 +50,14 @@ export function cleanData(data: SupportedExportFormats): LatestExportFormat {
|
||||
};
|
||||
}
|
||||
|
||||
if (isExportFormatV3(data)) {
|
||||
return {...data, version: 4, prompts: []};
|
||||
if (isExportFormatV3(data)) {
|
||||
return { ...data, version: 4, prompts: [] };
|
||||
}
|
||||
|
||||
if(isExportFormatV4(data)){
|
||||
if (isExportFormatV4(data)) {
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
throw new Error('Unsupported data format');
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ export const exportData = () => {
|
||||
folders = JSON.parse(folders);
|
||||
}
|
||||
|
||||
if(prompts){
|
||||
if (prompts) {
|
||||
prompts = JSON.parse(prompts);
|
||||
}
|
||||
|
||||
@@ -110,7 +110,7 @@ export const importData = (
|
||||
data: SupportedExportFormats,
|
||||
): LatestExportFormat => {
|
||||
const cleanedData = cleanData(data);
|
||||
const { history,folders, prompts } = cleanedData;
|
||||
const { history, folders, prompts } = cleanedData;
|
||||
|
||||
const conversations = history;
|
||||
localStorage.setItem('conversationHistory', JSON.stringify(conversations));
|
||||
|
||||
Reference in New Issue
Block a user