mirror of
https://git.mirrors.martin98.com/https://github.com/infiniflow/ragflow.git
synced 2025-06-04 03:13:58 +08:00
feat: bind length of conversationList to chat count (#116)
This commit is contained in:
parent
bcb58b7e71
commit
c7c451bb9f
@ -66,7 +66,7 @@ export const useSelectParserList = (): Array<{
|
||||
};
|
||||
|
||||
export const useLogout = () => {
|
||||
const dispatch = useDispatch();
|
||||
const dispatch = useDispatch(); // TODO: clear redux state
|
||||
|
||||
const logout = useCallback((): number => {
|
||||
return dispatch<any>({ type: 'loginModel/logout' });
|
||||
|
@ -162,15 +162,13 @@ const MessageItem = ({
|
||||
})}
|
||||
>
|
||||
{item.role === MessageType.User ? (
|
||||
userInfo.avatar ?? (
|
||||
<Avatar
|
||||
size={40}
|
||||
src={
|
||||
userInfo.avatar ??
|
||||
'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png'
|
||||
}
|
||||
/>
|
||||
)
|
||||
<Avatar
|
||||
size={40}
|
||||
src={
|
||||
userInfo.avatar ??
|
||||
'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png'
|
||||
}
|
||||
/>
|
||||
) : (
|
||||
<AssistantIcon></AssistantIcon>
|
||||
)}
|
||||
|
@ -264,22 +264,26 @@ export const useSelectConversationList = () => {
|
||||
const prologue = currentDialog?.prompt_config?.prologue ?? '';
|
||||
|
||||
const addTemporaryConversation = useCallback(() => {
|
||||
setList(() => {
|
||||
const nextList = [
|
||||
{
|
||||
id: '',
|
||||
name: 'New conversation',
|
||||
dialog_id: dialogId,
|
||||
message: [
|
||||
{
|
||||
content: prologue,
|
||||
role: MessageType.Assistant,
|
||||
},
|
||||
],
|
||||
} as IConversation,
|
||||
...conversationList,
|
||||
];
|
||||
return nextList;
|
||||
setList((pre) => {
|
||||
if (dialogId) {
|
||||
const nextList = [
|
||||
{
|
||||
id: '',
|
||||
name: 'New conversation',
|
||||
dialog_id: dialogId,
|
||||
message: [
|
||||
{
|
||||
content: prologue,
|
||||
role: MessageType.Assistant,
|
||||
},
|
||||
],
|
||||
} as IConversation,
|
||||
...conversationList,
|
||||
];
|
||||
return nextList;
|
||||
}
|
||||
|
||||
return pre;
|
||||
});
|
||||
}, [conversationList, dialogId, prologue]);
|
||||
|
||||
@ -368,7 +372,7 @@ export const useSelectCurrentConversation = () => {
|
||||
}, []);
|
||||
|
||||
const addPrologue = useCallback(() => {
|
||||
if (conversationId === '') {
|
||||
if (dialogId !== '' && conversationId === '') {
|
||||
const prologue = dialog.prompt_config?.prologue;
|
||||
|
||||
const nextMessage = {
|
||||
|
@ -239,7 +239,7 @@ const Chat = () => {
|
||||
>
|
||||
<Space>
|
||||
<b>Chat</b>
|
||||
<Tag>25</Tag>
|
||||
<Tag>{conversationList.length}</Tag>
|
||||
</Space>
|
||||
<Dropdown menu={{ items }}>
|
||||
<FormOutlined />
|
||||
|
@ -59,20 +59,6 @@ const model: DvaModel<ChatModelState> = {
|
||||
currentConversation: { ...payload, message: messageList },
|
||||
};
|
||||
},
|
||||
addEmptyConversationToList(state, {}) {
|
||||
const list = [...state.conversationList];
|
||||
// if (list.every((x) => x.id !== 'empty')) {
|
||||
// list.push({
|
||||
// id: 'empty',
|
||||
// name: 'New conversation',
|
||||
// message: [],
|
||||
// });
|
||||
// }
|
||||
return {
|
||||
...state,
|
||||
conversationList: list,
|
||||
};
|
||||
},
|
||||
},
|
||||
|
||||
effects: {
|
||||
@ -100,7 +86,9 @@ const model: DvaModel<ChatModelState> = {
|
||||
},
|
||||
*listDialog({ payload }, { call, put }) {
|
||||
const { data } = yield call(chatService.listDialog, payload);
|
||||
yield put({ type: 'setDialogList', payload: data.data });
|
||||
if (data.retcode === 0) {
|
||||
yield put({ type: 'setDialogList', payload: data.data });
|
||||
}
|
||||
},
|
||||
*listConversation({ payload }, { call, put }) {
|
||||
const { data } = yield call(chatService.listConversation, payload);
|
||||
|
Loading…
x
Reference in New Issue
Block a user