diff --git a/client/src/components/Conversations/Conversation.jsx b/client/src/components/Conversations/Conversation.jsx index 62b7b2bee0..34e384f624 100644 --- a/client/src/components/Conversations/Conversation.jsx +++ b/client/src/components/Conversations/Conversation.jsx @@ -3,7 +3,7 @@ import RenameButton from './RenameButton'; import DeleteButton from './DeleteButton'; import { useSelector, useDispatch } from 'react-redux'; import { setConversation } from '~/store/convoSlice'; -import { setSubmitState, setSubmission, setStopStream, setCustomGpt, setModel, setCustomModel } from '~/store/submitSlice'; +import { setSubmission, setStopStream, setCustomGpt, setModel, setCustomModel } from '~/store/submitSlice'; import { setMessages, setEmptyMessage } from '~/store/messageSlice'; import { setText } from '~/store/textSlice'; import manualSWR from '~/utils/fetchers'; @@ -14,9 +14,10 @@ export default function Conversation({ parentMessageId, conversationId, title = 'New conversation', - bingData, chatGptLabel = null, - promptPrefix = null + promptPrefix = null, + bingData, + retainView, }) { const [renaming, setRenaming] = useState(false); const [titleInput, setTitleInput] = useState(title); @@ -24,7 +25,7 @@ export default function Conversation({ const { stopStream } = useSelector((state) => state.submit); const inputRef = useRef(null); const dispatch = useDispatch(); - const { trigger, isMutating } = manualSWR(`/api/messages/${id}`, 'get'); + const { trigger } = manualSWR(`/api/messages/${id}`, 'get'); const rename = manualSWR(`/api/convos/update`, 'post'); const clickHandler = async () => { @@ -162,6 +163,7 @@ export default function Conversation({ conversationId={id} renaming={renaming} cancelHandler={cancelHandler} + retainView={retainView} /> ) : ( diff --git a/client/src/components/Conversations/DeleteButton.jsx b/client/src/components/Conversations/DeleteButton.jsx index 00a0c68066..d2be57c4fc 100644 --- a/client/src/components/Conversations/DeleteButton.jsx +++ b/client/src/components/Conversations/DeleteButton.jsx @@ -7,7 +7,7 @@ import { setNewConvo, removeConvo } from '~/store/convoSlice'; import { setMessages } from '~/store/messageSlice'; import { setSubmission } from '~/store/submitSlice'; -export default function DeleteButton({ conversationId, renaming, cancelHandler }) { +export default function DeleteButton({ conversationId, renaming, cancelHandler, retainView }) { const dispatch = useDispatch(); const { trigger } = manualSWR( `/api/convos/clear`, @@ -17,6 +17,7 @@ export default function DeleteButton({ conversationId, renaming, cancelHandler } dispatch(removeConvo(conversationId)); dispatch(setNewConvo()); dispatch(setSubmission({})); + retainView(); } ); diff --git a/client/src/components/Conversations/index.jsx b/client/src/components/Conversations/index.jsx index 13b1e64b00..6fcac5e27f 100644 --- a/client/src/components/Conversations/index.jsx +++ b/client/src/components/Conversations/index.jsx @@ -32,10 +32,11 @@ export default function Conversations({ conversations, conversationId, showMore chatGptLabel={convo.chatGptLabel} promptPrefix={convo.promptPrefix} bingData={bingData} + retainView={showMore.bind(null, false)} /> ); })} - {conversations && conversations.length >= 12 && conversations.length % 12 === 0 && ( + {conversations?.length >= 12 && (