import * as Tabs from '@radix-ui/react-tabs'; import { CheckIcon } from 'lucide-react'; import { ThemeContext } from '~/hooks/ThemeContext'; import React, { useState, useContext, useCallback } from 'react'; import { useClearConversationsMutation } from '@librechat/data-provider'; import { useRecoilValue } from 'recoil'; import store from '~/store'; import { localize } from '~/localization/Translation'; export const ThemeSelector = ({ theme, onChange, }: { theme: string; onChange: (value: string) => void; }) => { const lang = useRecoilValue(store.lang); return (
{localize(lang, 'com_nav_theme')}
); }; export const ClearChatsButton = ({ confirmClear, showText = true, onClick, }: { confirmClear: boolean; showText: boolean; onClick: () => void; }) => { const lang = useRecoilValue(store.lang); return (
{showText &&
{localize(lang, 'com_nav_clear_all_chats')}
}
); }; function General() { const { theme, setTheme } = useContext(ThemeContext); const clearConvosMutation = useClearConversationsMutation(); const [confirmClear, setConfirmClear] = useState(false); const clearConvos = useCallback(() => { if (confirmClear) { console.log('Clearing conversations...'); clearConvosMutation.mutate({}); setConfirmClear(false); } else { setConfirmClear(true); } }, [confirmClear, clearConvosMutation]); const changeTheme = useCallback( (value: string) => { setTheme(value); }, [setTheme], ); return (
); } export default React.memo(General);