LibreChat/client/src/store/search.js

41 lines
748 B
JavaScript
Raw Normal View History

import { atom, selector } from 'recoil';
import buildTree from '~/utils/buildTree';
const isSearchEnabled = atom({
key: 'isSearchEnabled',
default: null,
});
const searchQuery = atom({
key: 'searchQuery',
default: '',
});
const searchResultMessages = atom({
key: 'searchResultMessages',
default: null,
});
const searchResultMessagesTree = selector({
key: 'searchResultMessagesTree',
get: ({ get }) => {
return buildTree(get(searchResultMessages), true);
},
});
const isSearching = selector({
key: 'isSearching',
get: ({ get }) => {
const data = get(searchQuery);
return !!data;
},
});
export default {
isSearchEnabled,
isSearching,
searchResultMessages,
searchResultMessagesTree,
searchQuery,
};