mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-12-08 20:42:30 +08:00
### What problem does this PR solve? Feat: Show multiple chat boxes #3221 ### Type of change - [x] New Feature (non-breaking change which adds functionality)
This commit is contained in:
26
web/src/pages/next-chats/chat/use-add-box.ts
Normal file
26
web/src/pages/next-chats/chat/use-add-box.ts
Normal file
@ -0,0 +1,26 @@
|
||||
import { useCallback, useState } from 'react';
|
||||
import { v4 as uuid } from 'uuid';
|
||||
|
||||
export function useAddChatBox() {
|
||||
const [ids, setIds] = useState<string[]>([uuid()]);
|
||||
|
||||
const hasSingleChatBox = ids.length === 1;
|
||||
|
||||
const hasThreeChatBox = ids.length === 3;
|
||||
|
||||
const addChatBox = useCallback(() => {
|
||||
setIds((prev) => [...prev, uuid()]);
|
||||
}, []);
|
||||
|
||||
const removeChatBox = useCallback((id: string) => {
|
||||
setIds((prev) => prev.filter((x) => x !== id));
|
||||
}, []);
|
||||
|
||||
return {
|
||||
chatBoxIds: ids,
|
||||
hasSingleChatBox,
|
||||
hasThreeChatBox,
|
||||
addChatBox,
|
||||
removeChatBox,
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user