fix(Settings/General): fix clear convos bug where active convo would still appear after clearing convos

This commit is contained in:
Danny Avila 2023-07-27 10:13:05 -04:00 committed by Danny Avila
parent dd8bc39001
commit 8959576d75
2 changed files with 13 additions and 15 deletions

View file

@ -1,18 +1,14 @@
import * as Tabs from '@radix-ui/react-tabs'; import * as Tabs from '@radix-ui/react-tabs';
import { Dialog, DialogContent, DialogHeader, DialogTitle } from '../ui/Dialog.tsx'; import { Dialog, DialogContent, DialogHeader, DialogTitle } from '../ui';
import { General } from './SettingsTabs/'; import { General } from './';
import { CogIcon } from '~/components/svg'; import { CogIcon } from '~/components/svg';
import { useEffect, useState } from 'react'; import { useEffect, useState } from 'react';
import { cn } from '~/utils/'; import { cn } from '~/utils/';
import { useClearConversationsMutation } from '@librechat/data-provider';
import { useRecoilValue } from 'recoil'; import { useRecoilValue } from 'recoil';
import store from '~/store';
import { localize } from '~/localization/Translation'; import { localize } from '~/localization/Translation';
import store from '~/store';
export default function Settings({ open, onOpenChange }) { export default function Settings({ open, onOpenChange }) {
const { newConversation } = store.useConversation();
const { refreshConversations } = store.useConversations();
const clearConvosMutation = useClearConversationsMutation();
const [confirmClear, setConfirmClear] = useState(false); const [confirmClear, setConfirmClear] = useState(false);
const [isMobile, setIsMobile] = useState(false); const [isMobile, setIsMobile] = useState(false);
const lang = useRecoilValue(store.lang); const lang = useRecoilValue(store.lang);
@ -31,13 +27,6 @@ export default function Settings({ open, onOpenChange }) {
window.addEventListener('resize', checkMobile); window.addEventListener('resize', checkMobile);
}, []); }, []);
useEffect(() => {
if (clearConvosMutation.isSuccess) {
refreshConversations();
newConversation();
}
}, [clearConvosMutation.isSuccess, newConversation, refreshConversations]);
useEffect(() => { useEffect(() => {
// If the user clicks in the dialog when confirmClear is true, set it to false // If the user clicks in the dialog when confirmClear is true, set it to false
const handleClick = (e) => { const handleClick = (e) => {

View file

@ -1,7 +1,7 @@
import * as Tabs from '@radix-ui/react-tabs'; import * as Tabs from '@radix-ui/react-tabs';
import { CheckIcon } from 'lucide-react'; import { CheckIcon } from 'lucide-react';
import { ThemeContext } from '~/hooks/ThemeContext'; import { ThemeContext } from '~/hooks/ThemeContext';
import React, { useState, useContext, useCallback } from 'react'; import React, { useState, useContext, useEffect, useCallback } from 'react';
import { useClearConversationsMutation } from '@librechat/data-provider'; import { useClearConversationsMutation } from '@librechat/data-provider';
import { useRecoilValue } from 'recoil'; import { useRecoilValue } from 'recoil';
import store from '~/store'; import store from '~/store';
@ -70,6 +70,15 @@ function General() {
const { theme, setTheme } = useContext(ThemeContext); const { theme, setTheme } = useContext(ThemeContext);
const clearConvosMutation = useClearConversationsMutation(); const clearConvosMutation = useClearConversationsMutation();
const [confirmClear, setConfirmClear] = useState(false); const [confirmClear, setConfirmClear] = useState(false);
const { newConversation } = store.useConversation();
const { refreshConversations } = store.useConversations();
useEffect(() => {
if (clearConvosMutation.isSuccess) {
newConversation();
refreshConversations();
}
}, [clearConvosMutation.isSuccess, newConversation, refreshConversations]);
const clearConvos = useCallback(() => { const clearConvos = useCallback(() => {
if (confirmClear) { if (confirmClear) {