mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-05-23 19:05:16 +02:00
refactor: remove ThreadList component and associated thread management logic
This commit is contained in:
parent
ee72a49ab1
commit
da55c75e5e
2 changed files with 0 additions and 398 deletions
|
|
@ -232,103 +232,3 @@ export function getRegenerateUrl(threadId: number): string {
|
|||
return `${backendUrl}/api/v1/threads/${threadId}/regenerate`;
|
||||
}
|
||||
|
||||
// =============================================================================
|
||||
// Thread List Manager (for thread list sidebar)
|
||||
// =============================================================================
|
||||
|
||||
export interface ThreadListAdapterConfig {
|
||||
searchSpaceId: number;
|
||||
currentThreadId: number | null;
|
||||
onThreadSwitch: (threadId: number) => void;
|
||||
onNewThread: (threadId: number) => void;
|
||||
}
|
||||
|
||||
export interface ThreadListState {
|
||||
threads: ThreadListItem[];
|
||||
archivedThreads: ThreadListItem[];
|
||||
isLoading: boolean;
|
||||
error: string | null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a thread list management object.
|
||||
* This provides methods to manage the thread list for the sidebar.
|
||||
*/
|
||||
export function createThreadListManager(config: ThreadListAdapterConfig) {
|
||||
return {
|
||||
async loadThreads(): Promise<ThreadListState> {
|
||||
try {
|
||||
const response = await fetchThreads(config.searchSpaceId);
|
||||
return {
|
||||
threads: response.threads,
|
||||
archivedThreads: response.archived_threads,
|
||||
isLoading: false,
|
||||
error: null,
|
||||
};
|
||||
} catch (error) {
|
||||
console.error("[ThreadListManager] Failed to load threads:", error);
|
||||
return {
|
||||
threads: [],
|
||||
archivedThreads: [],
|
||||
isLoading: false,
|
||||
error: error instanceof Error ? error.message : "Failed to load threads",
|
||||
};
|
||||
}
|
||||
},
|
||||
|
||||
async createNewThread(title = "New Chat"): Promise<number | null> {
|
||||
try {
|
||||
const thread = await createThread(config.searchSpaceId, title);
|
||||
config.onNewThread(thread.id);
|
||||
return thread.id;
|
||||
} catch (error) {
|
||||
console.error("[ThreadListManager] Failed to create thread:", error);
|
||||
return null;
|
||||
}
|
||||
},
|
||||
|
||||
switchToThread(threadId: number) {
|
||||
config.onThreadSwitch(threadId);
|
||||
},
|
||||
|
||||
async renameThread(threadId: number, newTitle: string): Promise<boolean> {
|
||||
try {
|
||||
await updateThread(threadId, { title: newTitle });
|
||||
return true;
|
||||
} catch (error) {
|
||||
console.error("[ThreadListManager] Failed to rename thread:", error);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
|
||||
async archiveThread(threadId: number): Promise<boolean> {
|
||||
try {
|
||||
await updateThread(threadId, { archived: true });
|
||||
return true;
|
||||
} catch (error) {
|
||||
console.error("[ThreadListManager] Failed to archive thread:", error);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
|
||||
async unarchiveThread(threadId: number): Promise<boolean> {
|
||||
try {
|
||||
await updateThread(threadId, { archived: false });
|
||||
return true;
|
||||
} catch (error) {
|
||||
console.error("[ThreadListManager] Failed to unarchive thread:", error);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
|
||||
async deleteThread(threadId: number): Promise<boolean> {
|
||||
try {
|
||||
await deleteThread(threadId);
|
||||
return true;
|
||||
} catch (error) {
|
||||
console.error("[ThreadListManager] Failed to delete thread:", error);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue