| 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, | |
| }; | |